I'm going to start working on developing a plugin for Texas Instruments TI-99/4 and Atari 400/800/XE/XL since I happens to have cartridges for them laying around here. I'm going to post a link to a cartridge pinout for each and try to match pins to SNES or Mega Drive cartridge pinout. Think of this post as a work-in-progress journal, and requesting some info, if there's any, that might be helpful. This is going to be my first attempt at developing something, to be like Muzer. ;D
TI-99/4 and TI-99/4A PINOUT
http://www.allpinouts.org/index.php/TI-99/4A_Cartridge_Port
ATARI 400/800/XE/XL PINOUT
http://www.hardwarebook.info/Atari_8-bit_Cartridge
Atari to MD Pinout
(MD Pinout)
B1 B32 Front
=========================
A1 A32 Back
MD Name ATARI Description
A1 GND B Ground
A2 +5 13 Power +5V
A3 A8 H Address bit8
A4 A11 N Address bit11
A5 A7 F Address bit7
A6 A12 K Address bit12
A7 A6 E Address bit6
A8 A13 Address bit13
A9 A5 D Address bit5
A10 A14 Address bit14
A11 A4 C Address bit4
A12 A15 Address bit15
A13 A3 2 Address bit3
A14 A16 Address bit16
A15 A2 3 Address bit2
A16 A17 Address bit17
A17 A1 4 Address bit1
A18 GND Ground
A19 D7 M Data bit7
A20 D0 10 Data bit0
A21 D8 Data bit8
A22 D6 11 Data bit6
A23 D1 9 Data bit1
A24 D9 Data bit9
A25 D5 7 Data bit5
A26 D2 8 Data bit2
A27 D10 Data bit10
A28 D4 6 Data bit4
A29 D3 L Data bit3
A30 D11 Data bit11
A31 +5 Power +5V
A32 GND Ground
MD Name ATARI Description
B1 laudio left audio input
B2 H_RESET ?
B3 raudio right audio input
B4 A9 J Address bit9
B5 A10 P Address bit10
B6 A18 Address bit18
B7 A19 Address bit19
B8 A20 Address bit20
B9 A21 Address bit21
B10 A22 Address bit22
B11 A23 Address bit23
B12 VIDEO ?
B13 VSYNC ?
B14 HSYNC ?
B15 HS_CLK ?
B16 C_OE Chip Output Enable
B17 C_CE ?
B18 AS Address Strobe
B19 CLK Clock
B20 DTACK ?
B21 ? ?
B22 D15 Data bit15
B23 D14 Data bit14
B24 D13 Data bit13
B25 D12 Data bit12
B26 LO_MEM ?
B27 RESET Reset
B28 LDSW even words of SRAM
B29 UDSW odd words of SRAM
B30 S_RESET ?
B31 ? phantom address line
B32 CART_IN ?
Note: Direction is Console relative Cartridge
I'm currently missing A0 from Atari side. I'm not sure where to put that one on MD side, though. Also not sure about the other PINs beyond the data/address/volt/ground bits.
The reason Atari has A0 and Mega Drive doesn't is that one is 8 bits and the other 16. Hence, for Mega Drive the smallest possible address increase is 1 word = 2 bytes. It might be easier to interface your cartridge with the SNES bus, which is also 8 bits wide.
Redoing the Atari cartridge using SNES instead of MD. Let me know if everything that's "necessary" for Retrode has been connected, then I'll start trying to create the adapter.
SNES Desc. ATARI
01 Clock
02 EXPAND
03 PA6
04 /PAR D
05 GND B
06 A11 N
07 A10 P
08 A9 J
09 A8 H
10 A7 F
11 A6 E
12 A5 D
13 A4 C
14 A3 2
15 A2 3
16 A1 4
17 A0 5
18 /IRQ
19 D0 10
20 D1 9
21 D2 8
22 D3 L
23 /RD
24 CIC
25 CIC
26 /RESET
27 Vcc 13
28 PA0
29 PA2
30 PA4
31 LAudio
32 /WRAM
33 REFRESH
34 PA7
35 /PAWR
36 GND
37 A12 K
38 A13
39 A14
40 A15
41 BA0
42 BA1
43 BA2
44 BA3
45 BA4
46 BA5
47 BA6
48 BA7
49 /CART
50 D4 6
51 D5 7
52 D6 11
53 D7 M
54 /WR
55 CIC
56 CIC
57 CPU Clock
58 Vcc
59 PA1
60 PA3
61 PA5
62 RAudio
So what's the role of these additional chip select lines? You may need them to address the full ROM range, but I don't have the slightest idea about Atari's memory mapping...
Cheers,
Matthias
Looks like Atari uses bank switching, according to this site: http://www.atarimax.com/jindroush.atari.org/acarts.html
Still reading into this.
Edit: Found this quote on another forum: It's a straight-forward job to dump a classic 8 or 16K type, but the larger types would need the program to detect their type and either dump them in stages, or use the extra RAM of an 800XL or 130XE.
Well then. I guess the order to proceed is then: (1) get the thing figured out, (2) set up a prototype (I'd suggest wiring the extra select / ROM present lines to the bank address, with RD* connected via 470ohm resistors), (3) send a first dump and tell me the exact wiring, (4) install refined firmware, (5) iterate until good.