16KB RAM(C000-FFFF)のMSXに、64KB ROM(0000-FFFF)として2Mビットフラッシュメモリをつないで読み書きして、MEGA MSX ADAPTERで32KB(0000-7FFF)のSG-1000カートリッジを実行したい
http://p6ers.net/mm/pc-6001/dev/flashromcard/32k_write.html
アルゴリズムを実装しました。
http://www.geocities.jp/parallel_computer_inc/SG10002.zip
- SG-1000 LoaderはSlot1フラッシュメモリの38000-3BFFFに配置する
- SN76489を初期化、フラッシュメモリの30000がFFFFでなければ30000-37FFFをイレースしてHALT
- フラッシュメモリの30000がFFFFならばTMS9918を初期化
- Slot2 MMAのSG-1000カートリッジを8KBずつメモリのC000-DFFFに読み込む
- MSXパッチを当てたら8KBずつ、フラッシュメモリの30000-37FFFに書き込む
- フラッシュメモリに32KB書き込んだら初期化して、RST 0でSG-1000カートリッジを実行する
EN29F002T.EQN
; ; EN29F002T.EQN - EN29F002T MSX 64K CARTRIDGE ; TITLE EN29F002T MSX 64K CARTRIDGE PATTERN A REVISION 1.0 AUTHOR TANAM1972 COMPANY PARALLEL COMPUTER INC DATE 7/1/17 CHIP EN29F002T GAL22V10D NC NC A14 SLTSL_n MERQ_n NC NC NC NC NC NC GND NC CE_n A14_n NC NC NC NC NC NC NC NC VCC EQUATIONS CE_n = SLTSL_n + MERQ_n A14_n = A14
27C020 MSX GAL22V10D JUMPER
PIN 1 VPP K4
PIN 2 A16 K2
PIN 3 A15 A15 K1
PIN 4 A12 A12
PIN 5 A7 A7
PIN 6 A6 A6
PIN 7 A5 A5
PIN 8 A4 A4
PIN 9 A3 A3
PIN10 A2 A2
PIN11 A1 A1
PIN12 A0 A0
PIN13 D0 D0
PIN14 D1 D1
PIN15 D2 D2
PIN16 GND GND GND
PIN17 D3 D3
PIN18 D4 D4
PIN19 D5 D5
PIN20 D6 D6
PIN21 D7 D7
PIN22 /CE CE_n
PIN23 A10 A10
PIN24 /OE /RD
PIN25 A11 A11
PIN26 A9 A9
PIN27 A8 A8
PIN28 A13 A13
PIN29 A14 A14_n
PIN30 A17 K3
PIN31 /WE /WR
PIN32 VCC VCC VCC
A14 A14
/SLTSL SLTSL_n
/MERQ MERQ_n