DCart - Cartridge for ATARI XL/XE computers

License

This solution is fully opened, and you can use without any restrictions, especially educational, hobbyist and commercial purposes.


Description

The cartridge memory (512kB) is divided into 64 banks, 8 KB each. This bank occupies 8 KB of address space between $A000 and $BFFF.

The six lowest bits (5:0) of the ADDRESS written to $D500-$D5FF select the bank. Bit 6 is ignored.

Bit 7 disables the cartridge but regardless of, you can always read one page in the $D500-$D5FF range, which is a copy of the $B500-$B5FF of bank. Therefore, you can place a non-deletable code in the range $D500-$D5FF, which will be active regardless of the state of bit 7. This fragment is switched synchronously with the switched bank and can be read by CPU and ANTIC.

Memory


Features

Main features:

  • 512kB read/write flash memory (64 banks)
  • one memory chip
  • one control chip
  • "write protection" switch
  • compatible with the "HardReset" extension
  • 100% compatible with SpartaDOS-X (use Maxflash_8MBit image)
  • compatible with Maxflash8_512kB & J(atari)Cart512(kB) in the write mode to $D5XX
  • compatible with Maxflash Studio
  • PCB matched to SikorSoft cartdridge box
  • easy to solder (only "Through Hole" components)
  • Additional features:

  • non-deletable "window" in the range of $D500-$D5FF to the enabled/disabled bank in the range of $B500-$B5FF

  • PCB

  • PCB is shared on PCBWay
  • Schematic file: DCartSCH.pdf
  • PCB preview: DCartPCB.pdf
  • JED file for programming EEPLD with source
  • Optional flasher for test PCB ("Green" bank OK, "Blue" bank mirrored OK, RED/YELLOW incorrect bank switching). Flash memory image directly, if a problem with cart.

  • Components

  • NOR Flash: SST39SF040-70-4C-PHE
  • EEPLD: ATF22V10C-10PU
  • Switch: MHSS1105
  • Capacitor: 100nF
  • Diode: 1N4004

  • Tools

    Source MacOS ARM MacOS Intel Ubuntu Windows Info
    DCartFlashBuilder dcartflashbuilder dcartflashbuilder dcartflashbuilder dcartflashbuilder.exe Convert BIN/CAR files to XEX for flash
    ATR2DCart atr2dcart atr2dcart atr2dcart atr2dcart.exe Convert ATR files to DCart image
    Menu4CAR menu4car menu4car menu4car menu4car.exe Build cartridge image form list of XEX files


    Emulators

    Atari800_macARM - MacOS with M1, M2, M3 processor

    Atari800_macIntel- MacOS with Intel processor

    Atari800_ubuntu - Ubuntu 64bit

    Atari800_win32 - Windows 2000, Windoows XP, Windows Vista, Windows 7

    Atari800_win64 - Windows 7, Windows 10, Windows 11

    Atari800_rPi - Raspbian ARM 64bit

    Altirra 4.30 or greater - Windows


    Examples

    Build "xex-flasher" for "game.bin": dcartflashbuilder game.bin flasher.xex

    Build "xex-flasher" for "game.car": dcartflashbuilder game.car flasher.xex

    Convert "ATR file" to DCart image: atr2dcart game.atr game.car

    Convert "ATR file" to DCart image and remap JSR & JMP to JDSKINT / DSKINT (all procedures on $D5xx): atr2dcart game.atr game.car -c

    Create DCart image from list of XEX files: menu4car listOfXEX.txt image.car

    Acid800.car - cartridge version of Acid800 based on $D5XX SIO procedure (atr2dcart)