De Re AVGCART

Contents

    The AVGCART (Short for Average Cart) is an Atari 8-bit multicart, designed by AtariAge user tmp in 2018.

    Powered by a Xilinx Spartan-6 FPGA and with 1MB of SRAM the AVGCART can load almost every known type of Atari cartridge (CAR) file and executable binary (XEX) file.

    There is an option to add a cable to the cart which goes to the SIO port on your Atari; with this installed you can load disk (ATR/ATX) and cassette (CAS) files. Without the cable the AVGCART has limited ATR support, only “some” ATR files can be loaded.

    On top of that the AVGCART has the ability to play PDM audio files and AVF video files. It can also emulate a SIDE2 cart with its IDE interface to give your Atari hard drive capabilities.

    Externally the cart is fairly plain (except for the snazzy label), featuring two momentary action buttons and an SD card slot on the top edge. The cart is slightly wider than a standard Atari cart; it’s a perfect fit for XL/XE series computers, except for the 1200XL which has a silly cart tunnel that is too narrow. There is a replacement 3D printable case available which will fit the 1200 cart tunnel, you can download the slimmer case and a normal case with cutouts for the DIY SIO Cable further down the page.

    The AVGCART is longer than a regular Atari cart. The top lid on the 400/800 series computers won’t close so the lid switch will need to be overridden.

    The UI (depending on your own personal view) is either “minimal and functional” or “ugly and plain”. It’s fully featured and fast but doesn’t hold your hand in using it. This is what it looks like.

    Handsome!

    Where to get one

    Once they discover how great this cart is, the first question everyone asks is where to get one. Now the answer is easy, click the link below!

    Getting Started

    The first thing you will want to do is get an SD card. An SDHC card is recommended, I personally use a 64GB SDXC microSD card and an adapter, and I’ve had no compatibility problems with it at all. The AVGCART seems to be able to take almost any SD card you try on it.

    Format the card for FAT32 and put some Atari software on it. You can use long filenames, directories etc. there are no restrictions.

    • You will need a third party app or Powershell to format an SD card to FAT32 if the card is over 32GB
    • Remember to make sure you are formatting the device, not the volume, and set the scheme to MBR

    Now insert the card into the top of the AVGCART (SD card label to the back/down), plug the AVGCART into your Atari and power up. You should be presented with the menu, showing the root of your SD card and the files you have put on it.

    Using the Menu

    Basic menu navigation can be done with arrow keys, return and backspace, you can also use a joystick plugged into Port 1 but there is a great deal of extended functionality if you use the keyboard.

    Keyboard

    • Scroll Up
    • Scroll Down
    • Page Up
    • Page Down
    • Top of Page
    • Bottom of Page
    • Top of List
    • Bottom of List
    • Launch file / Enter sub-directory
    • Launch with selected files, ignoring current file under cursor
    • Disable item shortcuts and allow starting search by typing
    • Launch a random file in the current directory or any sub-directory below it
    • Jump to the last launched entry / Jump back.
    • Return to the parent directory
    • Return to the root of the file system
    • Display the firmware version number
    • Copy a file
    • Delete a file
    • Scroll the current entry if it doesn’t fit the screen
    • Disable the AVGCART and exit the menu.

    You can run a recursive search for files on the AVGCART

    • Start a search
    • Stop search
    • Exit search results and return to file list
    • Exit search results and return to file list
    • Jump into the selected entry’s directory

    Joystick

    • Scroll Up
    • Scroll Down
    • Page Up
    • Page Down
    • Launch file / Enter sub-directory
    • Return to the parent directory

    Running CAR & XEX files

    • Press the letter next to the file you want to run or move the selection bar over it and press
    • To reinitialize a loaded cart image press then hit , this will take you back to the menu of a multi-cart image for example
    • To return to the AVGCART menu press then hit
    • Disable cart for carts <= 16kB (to make some CS turbo carts work)

    Extended Functionality

    Running ATR Files

    To enable the loading of ATR files you must put the file OSXEX2 from the latest firmware release into the root of the SD card. ATR file loading is described as “limited”, the actual number of working images is unknown but it’s definitely less than 100%.

    Disk images are writable, I’d recommend keeping a backup of them, just in case.

    • Select / Deselect ATR files, up to 8 virtual drives
    • Select / Deselect ATR files and advance selection bar
    • Clear all selected ATR files
    • Assign ATR to virtual drive
    • Launch Atari with selected disks mounted and BASIC Disabled.
    • Launch Atari with selected disks mounted and BASIC Enabled.
    • Cycle between mounted disks while Atari is running.

    To return to the AVGCART menu press then hit

    Note that the “BASIC Disable” functionality is opposite to the Atari standard, here enables BASIC.

    Shortcuts / Bookmarks

    AVGCART supports shortcut keys, based around the number keys 0 to 9. You can quickly launch a file or move to a directory with a single button press.

    • Launch the associated shortcut (if the shortcut is a directory the menu will will jump to that directory)
    • Set a shortcut to the current entry
    • Jump to shortcut location

    Auto starting images

    AVGCART is capable of auto starting a file / directory when it is powered on.

    • Set auto start on current entry
    • Clear auto start entry

    If you set a directory to auto start, the menu will jump to that directory on power up

    Templates

    If you regularly need a specific type of file, for example a blank disk, or a new copy of DOS, you can create templates for these types of files and use those templates to create a new file whenever you need.

    Create a directory in the root of the SD card called _AVGTMPL, put any files you want as templates in that directory.

    If you need a new file from a template you can just press to call up the template list. Now choose the template you want to duplicate and AVGCART will ask you for a file name and copy the template to the current directory.

    Stacking Cartridges

    AVGCART can stack a cartridge on top of an SDX cartridge. To do this you will need a ‘Supercart’ SpartaDOSX cartridge file with a CAR header (type 0xA3), named SDX.ROM in the _AVGCART folder of your SD card. Once you have that, selecting a cart image and pressing will attempt to stack that cartridge on top of the SDX cart and boot the stack.

    Icon
    AVGCART SpartaDOSX Cart
    156.08 KB 478 downloads

    PDM Audio player

    PDM files are audio files, encoded in a format so that they can be played back on an Atari 8-bit. Here is the AtariAge thread where this is discussed. AtariAge user Xuel wrote a player for these files that works with the AVGCART.

    To get this working is pretty simple. There is a file included with new firmware releases called PDMPLAY, just put that in the root of your SD card and copy some PDM files to the SD. Now you can play them just by picking them from the menu.

    • (or the space-bar) Bring up a menu of playback options,
    • Exit the player.

    Make sure your PDM files are the correct region (PAL/NTSC) for your Atari or the speed will be wrong.

    You can create your own PDM files using Xuel’s online tool “FujiConvert“. You can find that here. The output media you should choose is “IDE Player”

    AVF Video player

    AVF files are video files, encoded using Virtualdub into a raw video stream and played back using software written by AtariAge user phaeron. You can find the thread discussing it here. AVGCART can play these files back using a patched version of phaerons player, as long as the AVF files are stored contiguously on the SD card.

    To get this working is pretty simple. There is a file included with new firmware releases called AVFPLAY, just put that in the root of your SD card and copy some AVF files to the SD. To make sure the files are contiguous you can use Microsoft Sysinternals “Contig” app. Picking an AVF file from the menu will play it. Make sure the AVF files are the correct region (PAL/NTSC) for your Atari or the colours and speed will be wrong.

    SIDE 2 Emulation

    SIDE2 is a cartridge that provides a CF card based IDE interface, a real time clock, and a cartridge ROM that can either be SpartaDOS X or at the flick of a switch, a file loader. The AVGCART fully emulates all of this except the real time clock.

    The SIDE 2 has a switch on the front which switches between SpartaDOS X and loader modes. AtariAge user flashjazzcat has repackaged his SIDE2 ROM as a pair of cart images that work with AVGCART, one launches SpartaDOS X the other launches the SIDE loader, both will enable the IDE interface. You can get those files and full documentation from flashjazzcat’s website below.

    While in SIDE mode, pressing is the same as pressing the SIDE button

    IDE Interface

    The AVGCART emulates the IDE interface of the SIDE2. When you have a hard drive compatible OS loaded you can have a maximum of fifteen hard drive partitions.

    If you have an Ultimate 1MB card installed in your Atari you can use that instead of the SIDE2 cart images to launch SpartaDOS X and have the AVGCART emulate a hard drive, or you can use the Ultimate 1MB to launch its loader, and run XEX/ATR/BAS files from the AVGCART that way. ATR Support through the Ultimate 1MB loader is compatible with more ATR files than the AVGCART ATR Loader, but not as compatible as the DIY SIO cable mod.

    To use the IDE emulation all you need to do is enable the PBI bios in the Ultimate 1MB menu and enable IDE emulation on the AVGCART.

    • Reboot with IDE emulation enabled
    • Enable IDE emulation on power up
    • Disable IDE emulation on power up

    Holding while powering on will enable IDE emulation without turning it on in advance.

    Setting up APT on your SD card

    If you want to use your SD card as a hard disk accessible from the Atari you will need to erase, partition and format it. Atari HD partitions are formatted as APT, and can be seen from a compatible DOS. The AVGCART can only see one FAT partition so the rest of your SD card space should be FAT32 if you want it visible to the AVGCART and the SIDE / Ultimate 1MB loader.

    There are literally hundreds of ways you can choose to set up your hard disks, I just made 15 partitions of the maximum size and assigned drive identifiers to all the disks over D8, the eight non-labelled partitions are for future expansion. If you want to do something more granular please visit flashjazzcats website where you can read the full manual for FDISK

    If you only have 64K of RAM the FJC copy of SDX with FDISK on it will not work, instead you will need this file. It has been modified to work with 64K but you shouldn’t use it for anything except the initial formatting of your SD card, use the FJC version for everything else.

    Icon
    SDX+FDISK [64K] Hack
    149.89 KB 221 downloads

    Back up the contents of your SD card, this is going to erase it.

    • Put the s2sdx3.car file (or the hacked one if you only have 64K) on your SD card and power up the Atari.
    • Launch the s2sdx3.car file
    • Run FDISK
    • Enter the menus and choose Open
    • Select your SD card from the list and open it
    • You will be told the card needs to be initialized and asked if you want to proceed, select OK to all the warnings
    • down to the APT field and enter your desired APT size, (I used 1024MB), Select OK
    • You’ll be given a summary of what you are about to do, select SAVE and OK to all the warnings
    • The partition screen will appear, select Fill/Divide from the Partition menu
    • The Fill/Divide dialog will appear, down to “Size” and enter 65535, down to “First Drive”, press the down arrow until you get to D9 and hit , select OK.
    • Select Write from the APT menu, select OK to all the warnings

    Power off, remove the SD card and put it in your PC, cancel any messages about initializing or formatting, you don’t want to erase what you just did.

    Now you need to format the FAT32 partition.

    I shouldn’t need to say this but I’m going to anyway; please use caution when you do this, I’m not responsible if you accidentally erase the hard drive in your PC / Mac.

    • Open Disk Management, find your SD card in the list, Right click on the FAT partition and select Format. If your SD card is over 32GB you will need a third party app or PowerShell to format as FAT32.
    • Open a Terminal window and type ‘diskutil list’, Find your disk in the resultant list, Identify the correct volume (mine was disk2s1). type ‘diskutil erasevolume fat32 AVG <volume>’.

    Now you can put all the files back on your AVGCART, you did back it up, didn’t you…?

    SIO Cable Mod

    Note: As of July 2020 all carts now have the PCB header pre-installed and you can now purchase a ready made cable from the same place you purchase the AVGCART.

    On the AVGCART circuit board there is a small header which can be used to plug a cable into that runs to the SIO port on your Atari. By default the header does not have a socket soldered to it and the case has no cutout to give you access. If you wish, you can add this header yourself and make yourself a cable.

    If you do this, you will be able to use the AVGCART as a virtual Disk drive system which can be used to load and save data to and from the AVGCART. You will also be able to use the AVGCART as a virtual Cassette player that can load CAS files.

    The case will need a cutout if you wish to be able to unplug the cable with the case closed. The AVGCART case is made of fairly soft plastic which is easy to shave with a sharp blade. If you don’t want to modify the existing case you can 3D print one for yourself with the cutout already there. Here are the STL files for those cases.

    Icon
    AVGCart 3D Printable Shell
    72.27 KB 113 downloads

    If you don’t want to unplug the cable, or are happy to take the case apart every time you want to unplug it, you can mount the header on the other side of the board facing inwards rather than out, then trap the cable between the case halves. See the black board for an example of that.

    Cable Assembly

    The cable can either be custom made by you, or purchased online with the microJST connector already wired so that all you have to do is attach an SIO connector. I ordered mine from AliExpress, the links to the Cable and header are below, but there are lots of people selling these on Ebay and Amazon as well.

    I 3D Printed my own SIO connector, you can get the STL for that from my Thingiverse account here. The crimps required are Molex “KK 396” Crimp Terminals.

    Rather than try to explain how to make the cable, I’ve just made a gallery of the steps I took to make mine. The first 8 pictures are for appearances only, you can ignore those if you just want a working cable.

    Loading ATR/ ATX Files

    Plugging in the SIO cable makes ATX files visible and selectable in the menu.

    ATR (but not ATX) disk images are writable, I’d recommend keeping a backup of them, just in case.

    • Select / Deselect ATR/ATX files, up to 8 virtual drives
    • Select / Deselect ATR/ATX files and advance the selection bar
    • Assign ATR/ATX to a virtual drive
    • Clear all selected ATR/ATX files
    • Launch Atari with the selected files mounted and BASIC Enabled.
    • Launch Atari with the selected files mounted and BASIC Disabled.
    • Cycle between mounted disks while Atari is running.

    Note that the “BASIC Disable” functionality is NOT reversed here like it is via OSXEX2.

    You can mount ATR files in the virtual drive slots 1-8, and still launch CAR or XEX files. This can be useful if you need a save disk or if a program on an ATR needs a language cart (like BASIC XL or Altirra Extended BASIC) to be inserted at boot time to run. There are some limitations, the ATR’s and CAR file need to be in the same subdirectory or you need to have defined the CAR as a shortcut. You then just insert the disks you want to mount and launch the CAR file, or run the shortcut you have defined as the CAR. You currently cannot do this with ATX files.

    You can still load ATR files using OSXEX2 as you did before, but now you must hold down to do it. With the cable installed the AVGCART will use SIO by default.

    Loading CAS/ Turbo CAS Files.

    Plugging in the SIO cable makes CAS files visible and selectable in the menu.

    Cassette files load at normal speed, this means you have time to get a drink while your game loads, maybe have dinner too. Turbo CAS files containing PWM chunks are also supported. You can also mount a CAS file and then launch a CAR or XEX file (useful for turbo tapes where you need to run a turbo loader first).

    • Load cassette
    • Load cassette with BASIC disabled
    • Select a cassette file but don’t load it
    • Insert cassette and boot Atari to BASIC without loading the cassette (for CLOAD type cassettes).

    NOTE: After you have told the AVGCART to load a cassette, you will need to follow the standard Atari instructions for loading cassettes. For some you will type CLOAD, LOAD "C:", ENTER "C:", or RUN "C:" and hit RETURN twice, for others (the majority of commercial autoload cassettes) you will just have to hit RETURN once to start the loading process. Please see the instructions for the tape you are attempting to load for full details.

    High Speed I/O (HSIO) support

    AVGCART supports HSIO for fast disk loading using the SIO cable. For this to work, either the OS or the software you are launching needs to be able to negotiate and set the POKEY divisor on the Atari side. Ultimate 1MB users can enable HSIO in the setup menus.

    • Enable HSIO support and set divisor.
    • Disable HSIO support

    ECI & PBI Cable Mod

    Diagonal silliness

    The AVGCART can be used as an external memory expansion! On the board there is another header (like the one for the SIO cable, but bigger) in newer versions of the cart it is well placed near the edge of the board, on earlier versions it is placed diagonally near the bottom of the board and a bit trickier to get to. If you add a connector to this header you can plug in a cable which either plugs into the ECI port on an XE machine or the PBI port an an XL machine.

    Straight and sensible

    Newer boards now come with both the SIO and ECI/PBI port populated with connectors and cutouts on the case to allow access to the SIO port, the ECI/PBI port remains hidden and the case closes on the cable to grip it and hopefully not rip the connector from the board when you pull on it.

    Because of the positioning of the connector on earlier boards, extra length cables are required to route the wires out of the case and still reach the ECI/PBI port, because of this there are two different lengths of cable available, make sure you get the right one for your machine when you order!

    ECI/PBI Cable Mod Funtions

    Enable extended ram, setting is persisted to SD card

    Disable extended ram

    Autoenable, no need to press cart button before pressing reset to go back to selector

    Disable autoenable

    Menu Key

    When ECI cable is detected, ATR emulation is enhanced

    • when using SIO cable and HSIO is enabled in cart, HSIO patched OS is forced instead of stock OS (faster ATR loading even on stock machines)
    • when not using SIO cable (or with SIO cable connected and launching ATR using SHIFT-RETURN), ATR emulation is done via OS “PBI device” support which is way more compatible than using patched OS loaded into RAM under OS (which is used when no SIO and ECI cable is available)

    Updating The Firmware

    The AVGCART is able to update its own firmware without having to use an external programmer. The latest version of the firmware can always be found at tmp’s website.

    If there is a new version of the firmware available, download and unzip it, then follow these steps to update the cart.

    1. Copy the files AVGCARTA.UPD/AVGCARTB.UPD from the firmware directory to the SD card.
    2. Plug the cart into your Atari and power it up
    3. When you are at the file selector, press

    The AVGCART will load the update file and tell you when it’s loaded.

    1. Press to write the update.
    2. You will get a Done message when it’s finished
    3. Power cycle your Atari.