66SRとmk2SRのROM内容は、キャラクタROMやBASIC-ROMなど、全て同じです。
じゃあ、という事で、mk2SR上で、66SRの起動メニューを表示させてみます。
・やり方
1)SR-BASICを起動します(MODE=6)。
2)mon コマンドでモニタに入ります。
3)SA000 で、A000から以下のデータを入力します。
FD 21 03 E2 DD 21 53 62 AF 3C C3 76 E6
4)B でモニタを抜けて、EXEC&HA000 を実行します。
LD IY,0E203H
LD IX,06253H
XOR A
INC A
JP 0E607H ; ポート0x63=0xE2にして、JP 6253Hをする
当然、66SRでmk2SRの起動メニューも出せます。
1)SR-BASICを起動します(MODE=6)。
2)mon コマンドでモニタに入ります。
3)SA000 で、A000から以下のデータを入力します。
FD 21 03 E2 DD 21 53 62 AF C3 76 E6
4)B でモニタを抜けて、CLS:EXEC&HA000 を実行します。
LD IY,0E203H
LD IX,06253H
XOR A
JP 0E607H ; ポート0x63=0xE2にして、JP 6253Hをする
一発ネタですね(^^;)
ROMの中身が全く同じなら起動時に、mk2SRだとmk2SRの起動メニューが表示され、66SRだと66SRの起動メニューが表示されるんだろう…
mk2SRと66SRの機種を判別するI/Oポートがあります。
(ポート0xB2のbit1)
ここを読んで、プログラムで分岐しています。
ちなみに、使っているカスタムLSIも全く同じです。
しかし、あるピンだけmk2SRはGNDに、66SRはVCCに接続されており、この値がポート0xB2のbit1に出力されているみたいです。
(I/Oコントローラ(PCZ80-10)の56ピンです)