The UnoCart is an SD-card multicart for the Atari 8-bit (XL & XE), supporting ROMs,CARs,XEXs and some ATR files. It is the little brother of the Ultimate Cart.
The multicart is based on a STM32F4 microcontroller running at 168MHz. This is (just) fast enough to respond to requests from the Atari's 6502 bus clocked at approximately 2 MHz. Files are loaded from SD card into the STM32F4's SRAM allowing emulation of Atari cartridges up to 128k in size.
When the Atari first boots, the cartridge displays a list of all the files on the SD card. When a ROM or CAR file is selected, the cartridge will then emulate the selected cartridge type. The UnoCart supports standard 8k and 16k ROMS, XEGS cartridges up to 128k in size, AtariMax 1mbit, Bounty Bob, OSS cartridges and many more.
XEX files (Atari executables) are also supported using a XEX loader built into the cartridge.
The cartridge can also emulate a disk drive on an Atari with with at least 64k. It does this by installing a Soft OS into the Atari which then redirects D1: to the ATR file selected from the menu. Access for D2: upwards continue to be directed to the SIO port as normal. Many games will not work, due to the soft OS technique used. However it is possible to boot to a DOS 2.5 ATR file, do some programming in BASIC and save your program back to the ATR file. ATR files up to 16Meg in size are supported.
The UnoCart was first designed using a STM32F407 DISCOVERY board. An article describing how to build an UnoCart using this board was published in Excel Magazine issue #4. You can also get a PDF of the article here.
I have also designed a custom PCB for the UnoCart pictured here. If you are interested in a ready to use cartridge (complete with 3d printed case) these are currently being produced by Marlin Bates in the USA: website or email email@example.com.
The UnoCart firmware is open source under a GPL license and is hosted here.
- Design, hardware and firmware by Robin Edwards (electrotrains at atariage)
- XEX loader and OS modifications by Jonathan Halliday (flashjazzcat at atariage)
- Altirra LLE OS used with permision from Avery Lee (phaeron at atariage)
- German translation of user manual by Florian D (FlorianD at atariage)
- Production by Marlin Bates (MacRorie at atariage)