さて先日作った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で簡単に作れそうだけど面倒だ。