COLECOVISIONのゲームをGAME GEARに移植する方向性を探ってみます。
BIOSを公開している方(Colecovision ROM optimization)がいらっしゃるのでパッチを当てて起動してみます。
色々考えた結果は、COLECOVISIONのメモリーマップに合うように、GAME GEARのROMファイルを構成するのが良さそうです。
DONKEY.ROM
0000H-1FFFH coleco29.bin 2000H-3FFFH sc-3000 keyboard program 4000H-7FFFH unuse (all 0xff) 8000H-BFFFH donkey.col
もちろんI/Oポートも調整する必要があります。あとVSYNC割り込みがINTなのでNMIのアドレスに転送します。GAME GEARのRAMはC000Hからですが、COLECOVISIONのRAMは7000Hからなのでそこが問題です。以下の情報を元にROMパッチを作成する必要があります。
http://www43.tok2.com/home/cmpslv/Coleco/EnrCol.htm
http://www43.tok2.com/home/cmpslv/Mark3/EnrM3.htm
sc-3000 keyboard program
2000 ORG 2000H 2000 3E02 A2000 LD A,02H 2002 32FFCF LD (0CFFFH),A 2005 C9 RET 2006 FFFFFFFFFF DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH 200E FFFF DB 0FFH,0FFH 2010 C5 A2010 PUSH BC 2011 D5 PUSH DE 2012 16FF LD D,0FFH 2014 3E07 LD A,07H 2016 D3DE OUT (0DEH),A 2018 DBDC IN A,(0DCH) 201A 2F CPL 201B CB67 BIT 4,A 201D 2802 JR Z,SKIP 201F 16BF LD D,0BFH 2021 47 SKIP LD B,A 2022 4F LD C,A 2023 CB10 RL B 2025 CB19 RR C 2027 380C JR C,A202C 2029 CB19 RR C 202B 3E4C LD A,4CH 202D A0 AND B 202E 47 LD B,A 202F 3E02 LD A,02H 2031 A1 AND C 2032 B0 OR B 2033 180C JR A2038 2035 CB19 A202C RR C 2037 3E4C LD A,4CH 2039 A0 AND B 203A 47 LD B,A 203B 3E02 LD A,02H 203D A1 AND C 203E B0 OR B 203F F601 OR 01H 2041 32EEC3 A2038 LD (0C3EEH),A 2044 3AFFCF LD A,(0CFFFH) 2047 32F0C3 LD (0C3F0H),A 204A 3E00 LD A,00H 204C D3DE OUT (0DEH),A 204E DBDC IN A,(0DCH) 2050 2F CPL 2051 CB47 BIT 0,A 2053 2805 JR Z,KEY8 2055 3E02 LD A,02H 2057 C3F320 JP TENKEY 205A DBDD KEY8 IN A,(0DDH) 205C 2F CPL 205D CB47 BIT 0,A 205F 2805 JR Z,KEY2 2061 3E0E LD A,0EH 2063 C3F320 JP TENKEY 2066 3E01 KEY2 LD A,01H 2068 D3DE OUT (0DEH),A 206A DBDC IN A,(0DCH) 206C 2F CPL 206D CB47 BIT 0,A 206F 2805 JR Z,KEY9 2071 3E08 LD A,08H 2073 C3F320 JP TENKEY 2076 DBDD KEY9 IN A,(0DDH) 2078 2F CPL 2079 CB47 BIT 0,A 207B 2805 JR Z,KEY3 207D 3E04 LD A,04H 207F C3F320 JP TENKEY 2082 3E02 KEY3 LD A,02H 2084 D3DE OUT (0DEH),A 2086 DBDC IN A,(0DCH) 2088 2F CPL 2089 CB47 BIT 0,A 208B 2805 JR Z,KEY0 208D 3E03 LD A,03H 208F C3F320 JP TENKEY 2092 DBDD KEY0 IN A,(0DDH) 2094 2F CPL 2095 CB47 BIT 0,A 2097 2805 JR Z,KEY4 2099 3E05 LD A,05H 209B C3F320 JP TENKEY 209E 3E03 KEY4 LD A,03H 20A0 D3DE OUT (0DEH),A 20A2 DBDC IN A,(0DCH) 20A4 2F CPL 20A5 CB47 BIT 0,A 20A7 2805 JR Z,KEYA 20A9 3E0D LD A,0DH 20AB C3F320 JP TENKEY 20AE DBDD KEYA IN A,(0DDH) 20B0 2F CPL 20B1 CB47 BIT 0,A 20B3 2805 JR Z,KEY5 20B5 3E06 LD A,06H 20B7 C3F320 JP TENKEY 20BA 3E04 KEY5 LD A,04H 20BC D3DE OUT (0DEH),A 20BE DBDC IN A,(0DCH) 20C0 2F CPL 20C1 CB47 BIT 0,A 20C3 2805 JR Z,KEYS 20C5 3E0C LD A,0CH 20C7 C3F320 JP TENKEY 20CA DBDD KEYS IN A,(0DDH) 20CC 2F CPL 20CD CB47 BIT 0,A 20CF 2805 JR Z,KEY6 20D1 3E09 LD A,09H 20D3 C3F320 JP TENKEY 20D6 3E05 KEY6 LD A,05H 20D8 D3DE OUT (0DEH),A 20DA DBDC IN A,(0DCH) 20DC 2F CPL 20DD CB47 BIT 0,A 20DF 2805 JR Z,KEY7 20E1 3E01 LD A,01H 20E3 C3F320 JP TENKEY 20E6 3E06 KEY7 LD A,06H 20E8 D3DE OUT (0DEH),A 20EA DBDC IN A,(0DCH) 20EC 2F CPL 20ED CB47 BIT 0,A 20EF 280B JR Z,NOKEY 20F1 3E0A LD A,0AH 20F3 A2 TENKEY AND D 20F4 32F0C3 LD (0C3F0H),A 20F7 3E00 LD A,00H 20F9 32FFCF LD (0CFFFH),A 20FC D1 NOKEY POP DE 20FD C1 POP BC 20FE DBBF IN A,(0BFH) 2100 FB EI 2101 C9 RET 2102 END