Z80-MBC(改)でPSGを鳴らしてみる

さて先日作ったPSGボードだが、Z80-MBC(改)で動くのではないかと思い早速試してみることにする。
Z80-MBCに82C55ボードつないだ時に作ったI/F基板なのだが、これはサンハヤトのポケコン基板に合わせたピンアサインになっている。
どういうことかというと奇数番号と偶数番号のピンが通常とは逆になっている。
一方PSGボードは通常のピンアサインにしている。
よって普通のフラットケーブルのコネクタは使えないため、奇数と偶数で逆転したケーブルをこさえた。
ケーブル作るのに2回ぐらい失敗して3回目で何とかできた。

写真ではケーブルが斜めってるように見えるが、ケーブルが曲がっている関係でそう見えるだけで、実際はそこまで斜めってはいない。

さてつないで実際鳴らすためには、プログラムの準備が必要。
BASICでのテストプログラムが動くことを確認。
実際に曲も鳴らしてみる。
PC-E200/PC-G8xxシリーズでは、マシン語は0x0100から利用できることになっている。
CP/MやMSX-DOSのCOMファイルは0x0100にロードされこの番地から実行されることになっている。
すなわち0x0100から始まっているものなら何ら手を加えることなく実行できる。
あとはどうやってプログラムを転送するかである。

CP/MのEDコマンドでテキストエディタを起動。
TeraTermでHEXファイルを転送してHEXファイルを作る。
次にLOADコマンドでHEXファイルからCOMファイルに変換。
最後に生成したCOMファイルを実行。

A>dir
A: ASM      COM : D        COM : DDT      COM : DUMP     COM
A: ED       COM : HELLO    COM : LOAD     COM : MAC      COM
A: MBASIC   COM : PEG      COM : PIP      COM : STAT     COM
A: SUBMIT   COM : XSUB     COM : HELLO    ASM : GPIO     BAS
A: AUTOEXEC SUB : IOTEST   BAS
A>
A>ed psgtest.hex

NEW FILE
     : *i
    1:  :10010000CD1501CD8801C9F5D5ED5B01781B7BB21A
    2:  :1001100020FBD1F1C921350106100E0079D3247ED0
    3:  :10012000D325230C10F63E603204783E0332067865
    4:  :10013000AF320A78C900010001000200F810101067
    5:  :100140000800600100D5F57AD3247BD325F1D1C90D
 :
 :
 中略
 :
 :
   61:  :1004C0001B323B128F313A0622323B128F313A06F1
   62:  :1004D00027323B18258F8F1824344012892B380679
   63:  :1004E0002430391821218F1822323B128F293606E9
   64:  :0B04F000172B371827278F1A8C02FFEC
   65:  :00000001FF
   66:  ←[Ctrl]+[Z]押す
     : *e

CP/M WARM BOOT...

CP/M 2.2 Copyright 1979 (c) by Digital Research

A>dir
A: ASM      COM : D        COM : DDT      COM : DUMP     COM
A: ED       COM : HELLO    COM : LOAD     COM : MAC      COM
A: MBASIC   COM : PEG      COM : PIP      COM : STAT     COM
A: SUBMIT   COM : XSUB     COM : HELLO    ASM : GPIO     BAS
A: AUTOEXEC SUB : IOTEST   BAS : PSGTEST  BAK : PSGTEST  HEX
A>
A>load psgtest.hex

FIRST ADDRESS 0100
LAST  ADDRESS 04FA
BYTES READ    03FB
RECORDS WRITTEN 08

A>dir
A: ASM      COM : D        COM : DDT      COM : DUMP     COM
A: ED       COM : HELLO    COM : LOAD     COM : MAC      COM
A: MBASIC   COM : PEG      COM : PIP      COM : STAT     COM
A: SUBMIT   COM : XSUB     COM : HELLO    ASM : GPIO     BAS
A: AUTOEXEC SUB : IOTEST   BAS : PSGTEST  BAK : PSGTEST  HEX
A: PSGTEST  COM
A>
A>psgtest

A>

さて実際に試したらすんなり音楽が鳴ってくれた。
さてとこの後どうするかな。

あと、COMファイルをHEXファイルに変換するプログラムはないものか。
FabGLのCP/MエミュレータのファイルをZ80-MBCで実行してみたい。
BASICで簡単に作れそうだけど面倒だ。

カテゴリー: CP/M, Z80-MBC, 電子工作 タグ: , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください