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