PIONEER PX-7でMSX-DOSを動かす その7

MSXにメガアダプタをつないでSG-1000カートリッジを使ってみようと思いました。

http://www43.tok2.com/home/cmpslv/Mark3/EnrM3.htm

32KB カートリッジ(0000-7FFF)をMSXにつなぐ方法を考えてみました。NSSAVE.COMで吸い出せます。

http://niga2.sytes.net/msx/free.html

Address  A15 A14 A13 | /CS12 /A14  ROM
>0000    0   0   0   |  1
>2000    0   0   1   |  1
>4000    0   1   0   |  0    0     >0000
>6000    0   1   1   |  0    0     >2000
>8000    1   0   0   |  0    1     >4000
>A000    1   0   1   |  0    1     >6000
>C000    1   1   0   |  1
>E000    1   1   1   |  1

吸い出したROMファイルはローダーで起動できます。DCSG音源を内蔵してるので、リアルにSG-1000のゲームが遊べます。

http://www.msxvillage.fr/download/?url=/4-logitheque/169-sg-1000-rom-loader/

FMPAC.EQN

;
; FMPAC.EQN - YM2413 ADDRESS DECODER
;

TITLE YM2413 ADDRESS DECODER
PATTERN A
REVISION 1.0
AUTHOR TANAM1972
COMPANY PARALLEL COMPUTER INC
DATE 4/26/17

CHIP FMPAC GAL22V10

NC IOREQ_n A0 A1 A2 A3 A4 A5 A6 A7 A14 GND
NC CE_n A14_n KBSEL_n A2_n NC NC NC NC NC NC VCC

EQUATIONS

CE_n = IOREQ_n + A7 + /A5 + /A4 + /A3 + /A2 + /A1 + /A0

A14_n = /A14

KBSEL_n = IOREQ_n + A7 + /A6 + /A5 + /A4 + /A3 + /A2 + A1

A2_n = /A2

メガアダプタの回路を参考に設計しました。

http://www.raphnet.net/electronique/markIII_to_smd/markIII_to_smd_schematic.png

A1                    A32  Back
=========================
B1                    B32  Front

     MEGA ADAPTER     GAL22V   PX-7    SN76489
                               /WAIT---/READY
                                      \/WE
                               /CLOCK  /CLOCK
                               SND IN  SND OUT
                      CE_n             /CE
                      IOREQ_n  /IOREQ
A 1  GND              GND      GND
B 1  L_AUDIO                   NC
A 2  VCC              VCC      VCC
B 2  /HRESET                   NC
A 3  A8               A7       A7
B 3  R_AUDIO                   NC
A 4  A11                       A10
B 4  A9                        A8
A 5  A7               A6       A6
B 5  A10                       A9
A 6  A12                       A11
B 6  A18                       /SLTSL
A 7  A6               A5       A5
B 7  A19              KBSEL_n  NC
A 8  A13                       A12
B 8  A20                       NC
A 9  A5               A4       A4
B 9  A21                       NC
A10 A14                       A13
B10 A22                       NC
A11 A4               A3       A3
B11 A23                       NC
A12 A15              A14_n or A14
B12  VIDEO                     NC
A13  A3               A2_n  or A2
B13  VSYNC                     NC
A14  A16                       NC
B14  HSYNC                     NC
A15  A2                        A1
B15  HS_CLK                    NC
A16  A17                       NC
B16  /C_OE                     /RD
A17 A1                        A0
B17 /C_CE                     A15 or /CS12
A18 GND                       GND
B18 /AS                       NC
A19 D7                        D7      D7
B19  CLK                       NC
A20  D0                        D0      D0
B20  /DTACK                    NC
A21  D8                        NC
B21  NC                        NC
A22 D6                        D6      D6
B22 D15                       NC
A23 D1                        D1      D1
B23 D14                       NC
A24 D9                        NC
B24  D13                       NC
A25  D5                        D5      D5
B25  D12                       NC
A26  D2                        D2      D2
B26  /LO_MEM                   NC
A27 D10                       NC
B27 /RESET                    NC
A28 D4                        D4      D4
B28 /LDSW                     /WR
A29 D3                        D3      D3
B29  /UDSW                     NC
A30  D11                       NC
B30  /S_RESET                  NC
A31  VCC                       VCC
B31  NC                        NC
A32  GND                       GND
B32  /CART_IN                  NC
                               SW1
                                |
                               SW2