Cartridge slot description
Left slot pinout (all models)
A | RD4 | if cartridge maps to $8000-$9FFF area (act H) |
1 | /S4 | selects lower bank (act L) |
B | GND | |
2 | A3 | |
C | A4 | |
3 | A2 | |
D | A5 | |
4 | A1 | |
E | A6 | |
5 | A0 | |
F | A7 | |
6 | D4 | |
H | A8 | |
7 | D5 | |
J | A9 | |
8 | D2 | |
K | A12 | |
9 | D1 | |
L | D3 | |
10 | D0 | |
M | D7 | |
11 | D6 | |
N | A11 | |
12 | /S5 | selects upper bank (act L) |
P | A10 | |
13 | +5V | |
R | R/W | R/W - read (act H), write (act L) |
14 | RD5 | if cartridge maps to $A000-$BFFF area (act H) |
S | B-PHI2 | buffered phase 2 clock |
15 | /CCTL | active when written to $D5xx (act L) |
Right slot pinout (only 800)
A | B-PHI2 | |
1 | R/W | |
B | GND | |
2 | A3 | |
C | A4 | |
3 | A2 | |
D | A5 | |
4 | A1 | |
E | A6 | |
5 | A0 | |
F | A7 | |
6 | D4 | |
H | A8 | |
7 | D5 | |
J | A9 | |
8 | D2 | |
K | A12 | |
9 | D1 | |
L | D3 | |
10 | D0 | |
M | D7 | |
11 | D6 | |
N | A11 | |
12 | /S4 | selects lower bank (act L) |
P | A10 | |
13 | +5V | |
R | R/W | R/W - read (act H), write (act L) |
14 | RD4 | if cartridge maps to $8000-$9FFF area (act H) |
S | B-PHI2 | buffered phase 2 clock |
15 | /CCTL | active when written to $D5xx (act L) |
Parts are (always?) at back (XL)/bottom (XE) part of the cartridge.
Connector orientation is S-A from front, 1-15 from back.
Cartridge basics
There are three different 'windows' or banks in the memory:
Bank $A000-$BFFF is selected by low state on S5. Its presence is signaled
by high state on RD5. This signal is attached to TRIG3 in XL/XE series.
Used in left carts only.
Bank $8000-$9FFF is selected by low state on S4. Its presence is signaled
by high state on RD4. Used in both left and right slot carts.
'Bank' $D500-$D5FF is selected by low state on CCTL. It's used for
bankswitching. (mapping ports etc.)
Czech speciality (AFAIK) are cartridges with buttons. There are two different
ways:
1) the button only connects RD5 to computer. So you push it, press reset,
make the selection (if any) and then release the button. The program will
be loaded from cartridge and will not take that much amount of memory (minimum
is 8KB, obviously).
2) the button turns on RD5 and leaves it on. After reset, user could do
some selections and cartridge will turn off when needed.
PCB Bottom (94 KB JPG)
PCB Top (112 KB JPG)
PCB Bottom (90 KB JPG) (another design)
PCB Top (93 KB JPG) (another design)
PCB Bottom (48 KB JPG) (another design - Miner 2049er)
PCB Top (41 KB JPG) (another design - Miner 2049er)
Romox released 'blank' 16KB cartridges which could be programmed in special
machines. They were called Edge Connector Programmable Cartridges. List of
potential releases is here.
PCB Bottom (60 KB JPG)
PCB Top (62 KB JPG)
Emulated:
Atari800
OSS carts
Banks:
Usually contain 4 4KB banks. One of the banks is mapped in $B000-$BFFF. Other
banks are mapped to $A000-$AFFF.
Detailed article is here.
Double eprom PCB (OSS DBL):
Older scheme, uses 74LS175 (4bit register???), 2 eproms and uses 4 bits
of address bus.
Physical order of banks: ROM A = 3, M; ROM B = 0, 4
PCB Top (42 KB JPG)
PCB Bottom (42 KB JPG) (with parts)
A0 if 1, selects AL
A1 if 0, selects B
A2 if 0, selects BL, if 1 selects BH (A1 must be 0!)
A3 if 0, cart on, if 1, cart off.
Addr |
A000-AFFF |
B000-BFFF |
RD5 |
0000 |
BL |
AU |
1 |
0001 |
AL+BL = shit |
AU |
1 |
0010 |
nothing = FF's |
AU |
1 |
0011 |
AL |
AU |
1 |
0100 |
BH |
AU |
1 |
0101 |
AL+BH = shit |
AU |
1 |
0110 |
nothing = FF's |
AU |
1 |
0111 |
AL |
AU |
1 |
1xxx |
off |
off |
0 |
Single rom PCB (OSS SNG):
Newer scheme, uses 2 d-flipflops, bits A0 and A3.
Physical order of banks: M, 0, 9, 1.
PCB Bottom (103 KB JPG)
PCB Top (96 KB JPG)
PCB Bottom (91 KB JPG) (with parts)
Schematics (8 KB GIF) drawn by me from the
board pictures above. I doubt they are 100% correct, but are good enough to
understand how does it work.
A3 |
A0 |
A000-AFFF |
B000-BFFF |
RD5 |
Values |
0 |
0 |
bank 0 |
bank m |
1 |
0,2,4,6 |
0 |
1 |
bank 1 |
bank m |
1 |
1,3,5,7 |
1 |
0 |
off |
off |
0 |
8,A,C,E |
1 |
1 |
bank 9 |
bank m |
1 |
9,B,D,F |
Examples:
Emulated:
Atari800
SDX carts
Banks:
Contain 8 8KB banks. Access to base+0-7 turns on banks 0-7 in $A000-$BFFF
area. Access to base+8-F turns the cart off.
SDX: Base is $D5E0.
Diamond: Base is $D5D0.
Express: Base is $D570.
PCB MIO test cart (471 KB JPG)
PCB Top (401 KB JPG)
PCB Bottom (423 KB JPG)
Better said: Cartridge looks for low CCTL and match in A4-A7. For
SDX it is 0xE (1110), Diamond 0xD (1101), Express 0x7 (0111). If A3
is high, cart is turned off. If A3 is low, the bank whose number is in A0-A2
is selected. I'm not sure what happens when turning cart off, but I think
that it turns off RD5 only.
Examples:
Emulated:
Atari800
R-Time 8
Pass thru cartridge with battery-backup for real-time clock.
PCB Bottom (109 KB JPG)
PCB Top (113 KB JPG)
Emulated:
Atari800 - read only is enough.
XEGS carts
Banks:
Contain n 8KB banks. Bank n-1 is mapped at $A000-$BFFF. Banks 0 to n-1
are mapped to $8000-$9FFF by writing the number of bank to any of $D500
registers.
Thanks to Torsten Schall, following are pictures of something called
1MB ROM EMULATOR. It was probably used for developing of XEGS games.
PCB Parts (109 KB JPG)
PCB Back (64 KB JPG)
PCB design (18 KB ZIP) (in postscript)
XEGS developer docs part 1 (375 KB JPG)
XEGS developer docs part 2 (228 KB JPG)
PCB designs (39 KB ZIP) for different revisions of XEGS carts (in postscript)
Here is Ballblazer cart (board C100649):
PCB Top (105 KB JPG)
PCB Bottom (90 KB JPG) (with parts)
Schematics (15 KB GIF) drawn by Jerzy Sobola
Here is Bug Hunt cart (board CO26449):
PCB Top (82 KB JPG)
PCB Bottom (87 KB JPG) (with parts)
Schematics (15 KB GIF) drawn by Jerzy Sobola
Examples (32KB):
Examples (64KB):
Examples (128KB):
Bug Hunt and Lode Runner probably contain 64KB rom, but starting from
the bank 8.
Emulated:
Atari800
XEGS demo cartridge
Banks:
128 KBs.
Contains:
XEGS 64 - Flight Simulator 2 (shortened version)
XEGS 32 - One on One (same version as on XEGS cart)
LS16 - Joust (same version as on cart)
LS16 - Ms. Pacman (same version as on cart)
Does change game on each reboot (binary counter powered by capacitors).
PCB Bottom (75 KB JPG) (with parts)
PCB Top (88 KB JPG)
Emulated:
Unemulated (not needed).
Telelink 2 cartridge
Banks:
Just one 8kb bank at A000-BFFF. Additional hardware is one X2212 nonvolatile SRAM, containing
256 x 4 bits, for storing telephone numbers. It's accessed by reading/writing 9000-90FF. There
is also read access to $D501 and write access to $D502, don't know yet for what, but probably
for setting read/write mode of the SRAM. The cartridge uses RD4 hardwired to +5V, what means that
it takes full 16KB of address space. Not very elegant solution.
PCB Bottom (50 KB JPG) (with parts)
PCB Bottom (51 KB JPG)
PCB Top (55 KB JPG)
Emulated:
Unemulated
MD-DOS cartridge
Banks:
Same as OSS SNG cartridges. Uses two additional bits (A5,A4) for selecting 'subcart'.
It thus has 4x16KB = 64KB. Also has button, don't know for what it is used
(probably for calling the cartridge).
Emulated:
My experimental Atari800 emulator - but with possible bugs.
JRC cartridges
Toolbox III: Contains 64KB bankswitched cart with reset button.
Rambox2: EPROM part same or very similar to Toolbox III.
Additionally contains 256KB of RAM. This ram could be accessed by
TT-Dos and BeWe Dos.
EPROM part:
8x8KB banks. Selected by D6, D5 & D4.
Bank number is remembered when A7 is off (D500-D57F). If D7 is on, cartridge is
off. If button is pressed, register is cleared, RD5 is on, main bank selected.
RAM part:
ram bank select:
X = 00 - 7F (7bits)
A = A | $F0 (4bits)
STA $D500,X
Together it's 11 bits of bank address. You can address $80 bytes of memory
in region $D580 (7bits). 11 bits + 7 bits = 18 bits = 256KB of RAM.
memory write:
LDA (BUFRLO), Y
STA $D580, Y
memory read:
LDA $D580, Y
STA (BUFRLO), Y
Y = 00 - 7F. Uses previously set bank address.
Schematics (53 KB GIF).
GAL equations (1 KB EQN) (converted from JED
file).
Emulated:
My experimental Atari800 emulator.
ATRAX cartridge
Banks:
Contains 16 x 8KB banks (128KB). Uses A000-BFFF region. Bits 0-3 select bank.
Bit 7 turns cart off. Menu program loads standard Atari dos executable,
then turns cart off. I was told that 16 different carts exists.
PCB top (51 KB JPG)
PCB bottom (54 KB JPG)
PCB bottom with parts (47 KB JPG)
Emulated:
Atari800
Bounty Bob cartridge
Banks:
Very strange bankswitching method. Contains main bank at A000-BFFF. From
8000-8FFF is first bank, 9000-9FFF is second bank. They are switched by
accessing 8FF6-8FF9 (9FF6-9FF9). In each bank there's 4 x 4 KBs. Totally,
it's 2 x 4 x 4 + 8 = 40 KBs. I was told that the cartridge is almost
same as 5200 version and such cart contains only three chips: one 8KB rom,
and two special self-switching 16KB roms. What circuitry is inside those
chips is unknown to me.
Emulated:
Atari800
128/256 K RamCart
Banks:
Unknown.
PCB top with parts (118 KB JPG)
PCB bottom (140 KB JPG)
Schematics (26 KB JPG)
Emulated:
Unemulated.
A/D Converter
Banks:
None. Uses lower four bits of $D500 for getting the digitized sound
from mono analog input.
Emulated:
Unemulated.
Super Charger
Banks:
Nothing than a multiply/divide chip inside to speed up 3d graphics
calculations. Chip type is unknown. Used together with game disk 'Assault Force'.
PCB (53 KB JPG) top
PCB (53 KB JPG) back
Emulated:
My experimental Atari800 emulator.
PILL carts
The PILL!
Super PILL!
Super Cart (by Frontrunner)
Banks:
None. Just a way to fool the computer into thinking that cartridge is
inserted.
PCB (25 KB JPG) top (Frontrunner).
PCB (28 KB JPG) back (Frontrunner).
Emulated:
?
Willams multibanked cartridge
Banks:
Contains 8 x 8kb banks. Writing to $D500 turns on first bank (on bootup),
writing to $D507 turns on last bank. Writing to $D508 turns cart off. Video61
uses this design for their newly released 'big' cartridges.
Emulated:
Atari800 (from >1.2.2)
Thompson Proburner
EPROM burner.
Banks:
Contains 8kb in right slot, accesses D500, probably hardware for chip
writing. Need more info.
Emulated:
Unemulated.
COS32
Banks:
16kb main bank. The other is banked in for a short period of time (would
anybody compute that for me?) by any access to $D5xx area. Also contains
the button on RD4/RD5. As I have other similar COS cartridge, I seem to
remember the was some kind of service/toolkit which allowed to put anything
on the cart.
Schematics (25 KB GIF)
Emulated:
Unemulated.
Great source of information about memory and cartridge mappings is in
the article by John Picken.
Back (c) 1998-2004 Jindroush Last modified: Tue Mar 25 12:38:31 2003
