Jump to content
electrotrains

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.

 

https://youtu.be/PjkCTXqirv8

 

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.

 

Robin

 

attachicon.gifultimate_cart_prototype.jpg

 

 

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

 

;==========================================================================
;                Express! Professional Terminal Program
;
;              Copyright (c) 2001 Stephen J. Carden
;
;          This module contains all of the global definitions.
;
; Compiler: MADMAC (tm) 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

;LFFE4
;
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.

Guest
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.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...