TI-99/4Aの拡張スロットに32KB RAMを増設する

TI-99/4Aのメモリは256Bなのでプログラミングが大変です。32KB SRAM(CXK58257P-10L)を使って、拡張スロットに32KB RAMを増設してみました。

Address  A0 A1 A2 | A14 A13 SRAM
>2000    0  0  1  |  0   0  >0000
>A000    1  0  1  |  1   0  >4000
>C000    1  1  0  |  0   1  >2000
>E000    1  1  1  |  1   1  >6000

以下の回路図をもとにGALを使って簡略化しました。

http://atariage.com/forums/topic/254502-32k-expansion-for-the-side-port-work-in-progress/page-5

       CXK58257P 74LS245 TI994A GAL16V8B
PIN 1  A14                      A14
PIN 2 A12               A3
PIN 3 A7                A8
PIN 4 A6                A9
PIN 5 A5                A10
PIN 6  A4                A11
PIN 7  A3                A12
PIN 8  A2                A13
PIN 9  A1                A14
PIN10  A0                A15
PIN11  D0        A0 B0   D7
PIN12  D1        A1 B1   D6
PIN13  D2        A2 B2   D5
PIN14  GND       GND     GND    GND
PIN15  D3        A3 B3   D4
PIN16  D4        A4 B4   D3
PIN17 D5        A5 B5   D2
PIN18 D6        A6 B6   D1
PIN19 D7        A7 B7   D0
PIN20 /CE       CE             CE_n
PIN21 A10               A5
PIN22  /OE                      CE_n
PIN23  A11               A4
PIN24  A9                A6
PIN25  A8                A7
PIN26  A13               A1     A1
PIN27  /WE               WE*
PIN28  VCC       VCC     VCC    VCC
                 A->B    DBIN*
                         A2     A2
                         A0     A0
                         MEMEN* MEMEN

TI994A.EQN

;
; TI994A.EQN - TI-99/4A SIDE PORT 32KB
;

TITLE TI-99/4A SIDE PORT 32KB
PATTERN A
REVISION 1.0
AUTHOR TANAM1972
COMPANY PARALLEL COMPUTER INC
DATE 9/25/16

CHIP TI994A GAL16V8B

MEMEN A2 A1 A0 2000N A000N C000N E000N NC GND
NC CE_n 2000_n A000_n C000_n E000_n A14 NC NC VCC

EQUATIONS

CE_n = 2000N * A000N * C000N * E000N + MEMEN

2000_n = A0 + A1 + /A2
A000_n = /A0 + A1 + /A2
C000_n = /A0 + /A1 + A2
E000_n = /A0 + /A1 + /A2

A14 = A0 * A2