Jump to content

In development - SD card based Multicart

Recommended Posts

Hi All,


I thought I'd post to announce my new hardware project - I'm building an SD-card based Multicart.




Although its far from being finished, it already shows the available ROMs/CARs on the SD card on an Atari menu, and will then reboot to the selected cartridge. At the moment it only supports 8k ROMS and 8-mbit Atarimax ROMs, with bankswitching etc, but I plan to support all cartridge types soon.


Adding a new ROM is simply a case of copying a new file to the SD card - no more flashing ATRs etc.


Not sure if there's any other available hardware that currently does this? I don't have an SIDE or MyIDE.


The hardware is a Altera Max 10 eval board, with my 3.3v cartridge breakout board attaching it to the atari. There's an external 1 megabyte SRAM which cartridges are copied to. Initially the atari boots to a small 8k boot ROM which is stored in dual port memory on the FPGA. The FPGA is also running a soft-cpu to copy files from SD card to SRAM.


I'm planning to make a PCB for this next, with the aim of fitting inside a standard cartridge case. Never done an FPGA board before, so that may take me some time. The boot ROM is also far from finished - I'm having to learn 6502 from scratch.


There are some other possibilities for this too - the same cartridge could be re-programmed e.g. as an atari co-processor/accelerator board. I'm planning to leave a JTAG/USB Blaster header on the board to make this easy.







Here is something I hope you find useful. Here is the bank switching info I have for programming.



; Express! Professional Terminal Program


; Copyright © 2001 Stephen J. Carden


; This module contains all of the global definitions.


; Compiler: MADMAC Cross Assembler


.atascii ;translate IBM chars to ATASCII chars

; system cart equates

; ~~~~~~~~~~~~~~~~~~

screen equ $bc40 ;change to $9c40 when in ROM!

;screen equ $9c40 ;change to $bc40 when in RAM!


;phone_book: equ $a000 ; when in cartrage

phone_book: equ $4000 ; when in ram


my_crc_low equ $2d00 ;$a200

my_crc_high equ my_crc_low+256 ;$a300



all_bank equ $d500 ; Steve Tucker Mega Cart


;all_bank equ $d570 ; Express cart latch


;all_bank equ $d5d0 ; Diamond GOS latch


;all_bank equ $d5f0


; ; express cart!

bank0_latch equ all_bank+7 ;$d577 ;highest bank in the cartridge


car_pass equ all_bank+8 ;$d578 ;enable cart pass-thru

passthru_latch equ all_bank+9 ;$d579 ;

cart_off equ all_bank+12 ;$d57c ; cart off


x_cart_tag equ $ffe4 ;d5e8


Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

  • Create New...