The!Cart Studio

Welcome to "The!Cart Studio", the free cartridge image authoring tool for The!Cart and Atarimax Maxflash Cartridges . The program enables you to create workbooks for cartridge images which contain one or more ROMs or executables. The workbook an then be exported in different formats. Besides plain binary images (".BIN", ".ROM") for usage in an EPROM or external flash programming device, emulator images (".CAR") to run the cartridge in emulators and flash programming images (".ATR") which can be booted directly from the Atari to flash the target module. This is the English manual. The German manual is under construction and will provided completely once the English manual is complete. If you have question regarding The!Cart or The!Cart Studio, you can contact me directly or post in the The!Cart thread on AtariAge (English) or in the ABBUC Forum (German) .

Downloading the Program

This is version ${version} of the program. Click here to download the latest version of the program. The download is a single ".zip" archive file which contains the actual program. Simply extract the files from the archive into a folder of your choice.

Starting the Program

"The!Cart Studio" is implemented in Java which makes is compatible with all popular operating systems. In order to run the program you need has Java Runtime Environment (JRE) or Java Development Kit (JDK/SDK) with version 1.6 or newer versions installed. Using Java 1.7 is recommended because on the one hand Java 1.6 is out of maintenance and on the other hand, multi-selection in the file selection dialog will only work with JDK 1.7 or newer versions.

Windows

The installation of the Java runtime normally registers itself as the default application for the file extension ".jar". So by simply double-clicking the "TheCartStudio.jar" file or by choosing "Open" from the context menu, the program should start. If you have an archiving program like WinZIP or WinRAR installed, it may be the case that they registered also for this file extension. As a result the ".jar" file is opened in the archiving program instead of being executed. In this case you can choose "Open With... Java(TM) Platform Binary" from the context menu.

Starting in Windows explorer

Alternatively you can run the program also from the command prompt ("cmd.exe"). In this case you can change the current path to the folder where "TheCartStudio.jar" is located and type "java.exe -jar TheCartStudio.jar".

Starting in Windows command prompt

Linux

The installation of the Java runtime normally registers itself as the default application for the file extension ".jar". So by simply double-clicking the "TheCartStudio.jar" file or by choosing "Open" from the context menu, the program should start. After extracting the "TheCartStudio.jar" file from the download archive, the so called "executable bit" is not set, resulting in the following error message when you double-click the file.

After unpacking

Open the file properties, set the executable flag a shown below. Now the program should start when the "TheCartStudio.jar" file is double-clicked.
Please note that there is a known bug in Ubuntu , for example 12.10 with openjdk7. It is tracked as "Unreadable menu bar with Ambiance theme in Java/Swing GTK L&F" and causes the menu to appear too dark; making is barely readable with the standard desktop theme. Changing the desktop theme fixes this.

Setting the executable bit

General Usage

The UI of "The!Cart Studio" is localized and current comes with English and German screen texts. You can change the display language via the menu entry "Tools/Options...". The default value is "Automatic", which means that the language is determined automatically based on the language settings of the operating system.

Options

By default, only the most frequently used columns are display in the various tables. You drag & drop to change the order of the columns. Clicking on column header with SHIFT or CONTROL held down extends the sort order by appending this column. This way you can sort by genre first and then by title for example. Clicking a column header without pressing SHIFT or CONTROL resets the sort order to that single column. You can also use the context menu to hide visible columns, unhide invisible columns and reset visibility and sort order to the default. All layout changes are saved automatically when the program is closed. This also applies to the size and the position of the main window and to the different folders that were last used for loading/saving workbooks, adding entries and exporting cartridge images.

Header context menu

All relevant commands also have a key binding, so you can use your keyboard to fully control the program.

Creating Workbooks

In the "File" menu you can find the usual "New", "Open", Save", "Save As" and "Close" actions. When "The!Cart Studio" is opened, a new unnamed project is already prepared. You can display the dialog to edit the workbook options via the menu entry "Edit/Workbook Options...".
Workbook options

Adding Entries

You can add files for new entries via the menu entry "Edit/Add Entries...". The file chooser has multi-selection enabled, that means you can select multiple files at once and add them in go. Alternatively you can use drag & drop to drop one or multiple files onto the window to add entries.

Selecting one or more files to add

The!Cart Studio contains a database of popular ROMs and will assign the correct title automatically based on size and the CRC32 checksum of the file. If no matching entry is found in the data, the title of the entry is defaulted from the file name by removing the file extension.

When new files are added, they remain at their original location first. When you save the workbook, all newly added files will be copied into the data folder of the workbook. This way you have all files and the workbook together in one location. As a consequence, a file in the workbook is uniquely identified by its case-insensitive file name, irrespective of the folder it was originally copied from. Adding files with the same file name will result in a confirmation dialog where you can choose to overwrite the existing file in the data folder with the new file, rename the file automatically during copying or to skip the new file, leaving the existing file in the data folder unchanged. The choice can either be applied to the current file only or to the current file and all following files.

Confirm overwriting an existing file

File Format and Content Type

Several file formats are supported when adding entries. In order to properly handle the ROM specific bank switching scheme, every entry must know its content type. For those file formats where the content type cannot be determined automatically, for example because there are multiple possible options, you have to select it in the "Content Type" column. The value help in the "Content Type" column is automatically filtered based on the file length and content. So it only offers the potentially matching content types. In additional some file formats even automatically converted before they are added to the workbook. Saving the workbook is possible at any time, even if there are entries with unknown content type. Only when the workbook is exported, the content type for all entries must be present. Here is a description of the supported file formats and their handling.

File Format Description
CAR Cartridge Image This is the recommended format to add ROM files. It is also by emulators. It contains a header with the exact type of the ROM file and a check sum to verify its integrity. This enables emulators to run the file without prompting the user for the exact content type upon each start. Similarly it enables "The!Cart Studio" to automatically determine the content type, so you don't have to choose something and the content type is not editable in this case.
BIN Cartridge Image
ROM Cartridge Image
This is the regular dump format for ROM file. It does no contain any information on the type of module was dumped from and the require bank switching to run it. Based on the size of the file, the "Content Type" column is restricted to those values that represent ROM of with the exact size of the file. For example a file with exactly 1 MB of data could be "Atarimax 1MB", "Mega Cart 1MB", "XEGS 1MB" or "Switchable XEGS 1MB". If you want to use your ROM files also in an emulator, it is advisable to convert the plain ROM file into a .CAR" files. All popular emulators have this function built in. This way you don't have to choose the correct module type on every start.
ATR Programming Images Collections created with the "Maxflash Cartridge Studio" are sometimes available as "ATR Programming Images" instead of "BIN" or "ROM" cartridge images. They are bootable disk images which contain the program to flash the "Maxflash" cartridge directly from the Atari. They cannot be run or tested in an emulator. These programming images are recognized by "The!Cart Studio". When you add such a file as entry, it is first converted into a "CAR" cartridge image which is saved in the folder of the programming image. In case the ".car" file already exists in that folder, it will be overwritten. The new ".car" file is added to the workbook. This way you can even run and test the content of the "CAR" image in an emulator before flashing.
ATR Disk Images This is the standard Atari disk image format used in emulators. Many disk based programs that are available in this format can also be started from flash cartridges. But there are some natural limitations arising from the fact that loading the ATR images requires a simulation of the SIO routines that are located in ROM of the original Atari OS. For example the code for the simulation must be located in the RAM and may be overwritten when the loading from the ATR image starts. In addition the banks of the flash cartridge have to be activated during the SIO operation to load the data of the ATR image. As a consequence a program that uses a display list, graphics or interrupts in the module memory area will run into problems. Also programs that try to write data to the disk will fail when run from an ATR simulation. For the simulation itself two approaches are used, Modified ATR Images and Modified Atari OS in RAM . It depends on the individual ATR file and its programs which of them will work best.

Modified ATR Images

This is the approach used by the The!Cart Extended Menu. When you add an ATR file directly to a workbook, the file is analyzed and all potential code locations that call the Atari OS SIO routines are identified. The result of this analysis is stored in the "Parameters" column in the form "base=$400, $123=SIOV, $456=DSKINV". This column is hidden by default and can be made visible via the context menu of the table. When the workbook is exported for to the Atari, the calls at the found offsets are modified to point to the SIO simulation which as located at the address specified with the "base=$...." parameter. The advantage of this approach is that it works also for software that uses the RAM under the OS like for example "Turbo Basic XL 1.5" or "The Brundles". And by specifying the corresponding parameters it will work even for software that uses nonstandard SIO routines instead of the Atari OS SIO routines like for example "MyPicoDOS". The disadvantage of this approach is that it will not work with program where the code that calls the SIO vectors is packed or encrypted in the ATR. The following parameters are supported. Numbers are given in hexadecimal notation and are just example values.
  • base=$400
    This specified the base address for the SIO simulation code which is less than 256 bytes in size. The default base address is $400. If the ATR crashes while loading, it might be the case that the program overwrites this memory area. For example MyPicoDOS uses the memory location $400-$40f during loading. To solve this problem you can change the base address to $410 for example. Other good choices for base addresses are $480,$500,$600 and $100.
  • $123=SIOV
    The two bytes starting at offset $123 are changed to the start address of emulation code for the SIOV vector ($e459).
  • $123=<SIOV
    The byte at offset $123 is changed to the low byte of start address of emulation code for the SIOV vector ($e459).
  • $123=>SIOV
    The byte at offset $123 is changed to high low byte of start address of emulation code for the SIOV vector ($e459).
  • $123=DSKINV
    The two bytes starting at offset $123 are changed to the start address of emulation code for the DSKINV vector ($e453).
  • $123=<DSKINV
    The byte at offset $123 is changed to the low byte of start address of emulation code for the DSKINV vector ($e453).
  • $123=>DSKINV
    The byte at offset $123 is changed to high low byte of start address of emulation code for the DSKINV vector ($e453).
If you messed up the parameters somehow, you can simply add the ATR file again to the workbook and choose to overwrite the existing file in the workbook. In this case, the analysis is performed again and a default for the parameters is generated. The SIO simulation in this approach supports both the read ("R", $52) and the status ("S", $53) command for "D1:". The status command set the 3 density bits of the "DVSTAT" status based on the density and size of the ATR. Using other disk units than "D1:" results in the error code "130 - Nonexistent Device". Using commands than "R" and "S" results in the error code "132 - Unknown command".

Modified Atari OS in RAM

This is the approach used by the Atarimax Maxflash Menu or MegaCart Menu. The operating system is copied to the RAM under the OS ROM and is then modified to load the "disk sectors" from the flash cartridge instead of the real disk. The advantage of this approach is that it works equally for all software that uses the standard Atari OS SIO vectors, even if the SIO relevant code on the ATR is packed on encrypted. The disadvantage is that the approach will not work with programs that use the RAM under the OS themselves. You can use the Maxflash Cartridge Studio to create 128 KB or 1 MB collections with ATR disk images. This program comes with proven emulation and provides several options to specify how the disk image shall be handled. You can then export the collection as BIN or CAR cartridge image and add it to the workbook.
Adding an ATR disk image Setting disk image options

COM Executable
EXE Executable
XEX Executable
This is the Atari DOS composite file format of executable files that can be loaded from a DOS. Many disk based programs that are available in this format can also be started from flash cartridges. To achieve this, typically a minimal DOS is copied to the RAM. The DOS is modified to load the "file segment" from the flash cartridge instead of the real disk. Of course this emulation has its limitations, for example for programs that use the RAM where the DOS or loader is located or perform real DOS operations like reading the directory or writing to disk. Currently cannot add these files directly to a workbook. Instead you can use the Maxflash Cartridge Studio to create 128 KB or 1 MB collections with COM or EXE executables. This program comes with proven emulation and provides several options to specify how the executable shall be handled. You can then export the collection as BIN or CAR cartridge image and add it to the workbook.
Adding an EXE executable Setting EXE executable options

Cartridge Database

The title and content type of many popular ROMs is also stored in the cartridge database. If you ROM is found in the database, the title and if known the content type are proposed. If no matching entry is found, the content type is set to "Unknown" and you have to select the appropriate content type manually before exporting the cartridge in and form.

The cartridge database is based on the list maintained by Tomasz Krasuski (Kr0tki) at AtariAge . It currently contains over 700 known titles and almost 700 known content types. The exact number are shown on the about dialog. You can support "The!Cart Studio" and improve the quality of the cartridge database by sending your own workbook file without (!) the ROMs to e-mail address .

Exporting Workbooks

Export Formats

Export Format Description Supported Flash Types
BIN Cartridge Image Single plain binary cartridge file without header information with exactly the size specified by the flash type. Can be used directly to burn or flash the cartridge file to a physical cartridge with an arbitrary eprommer or flasher. You can also run the cartridge file in an emulator like Atari800, Atari800Win or Altirra. The emulator will try to detect the cartridge type from the ROM size and content. In case of doubt the emulator will prompt you for the correct cartridge type every time you open they cartridge file. Therefore using the "CAR Cartridge Image" export instead in recommended in this case. AtariMax 128k
AtariMax 1MB
The!Cart 128MB
User Defined
CAR Cartridge Image Single extended binary cartridge file with header information. Can be used directly run the cartridge file in an emulator like Atari800, Atari800Win or Altirra. The emulator will detect the cartridge type directly from the header, so you don't have to select in when opening the cartridge file. AtariMax 128k
AtariMax 1MB
The!Cart 128MB
User Defined
ATR Programming Image for AspeQT Single disk image in ATR format for use with AspeQT and the "The!Cart" flasher software on the Atari. The ATR file uses large sectors to achieve the maximum transmission speed and to store up to about 512 MB of information (65534 sectors of 8k size) in a single file. The file contains additional information to support incremental flashing to speed up flashing in case only parts of the project have been changed. In addition the file only contains the used sectors. Therefore this export format can also be used to program "The!Cart" cartridges of a size smaller than specified by the flash type, as long as the size does not exceed the physical size of the cartridge. The!Cart 128MB
User Defined
ATR Programming Images (16 MB) Multiple disk image in ATR format for use with SIO2USB, SIO2SD, SIO2PC or AspectQT and the "The!Cart" flasher software on the Atari. The ATR files uses normal double density sectors to be compatible with SIO2USB, SIO2SD and Atari DOS versions like MyDOS and SpartaDOS. The files contains additional information to support incremental flashing to speed up flashing in case only parts of the project have been changed. In addition the files only contain the used sectors. Therefore this export format can also be used to program "The!Cart" cartridges of a size smaller than specified by the flash type, as long as the size does not exceed the physical size of the cartridge. The!Cart 128MB
User Defined

Printing Workbooks

You can print the content of the workbook including the list of entries via the menu entry "File/Print" (CTRL-P). The columns in the print output are the visible columns on the entries tab. Hence you can configure the columns you want to see as described in the section General Usage . For example you can make the column with the start bank visible, so you can use the simple menu to start entries and see the banks which are assigned to user space entries.
Print output

Programming Flash Cartridges

For the time being, please refer to the documentation you received with your flash cartridge.

Extended Menu

Pressing the RESET button on the The!Cart cartridge followed by pressing the RESET button on your Atari will take you to the menu. If the cartridge contains the simple menu only, holding OPTION while pressing RESET on the Atari disables the cartridge. If the cartridge contains the extended menu, holding OPTION while pressing RESET on the Atari starts the simple menu. This allows for starting the flasher and update the extended menu in case it does not work properly.
You can use the joystick or the keyboard to control the extended menu. You can narrow list by selecting the tab of a genre. The tab "All" always contains all entries. You can narrow down the list within a genre tab by typing any word or part of the title of the entry you are looking for. The search is find the entry no matter if something is in lower case or upper case. You can also use the joystick and the cursor keys to scroll though the result list. You can use the following controls.

Advanced Topics

A number of advanced features of "The!Cart Studio" that are not so interesting for the regular user are also available.

Appendix

Related Links

Change History

2014-08-04

2014-07-18

2014-07-12

2014-07-02

2014-04-03

2014-03-18

2014-03-02

2014-02-27

2014-02-22

2014-02-16

2014-02-13

2014-01-23

2014-01-17

2014-01-15

2014-01-14

2013-12-28

2013-12-26

2013-12-18

2013-12-13

2013-12-12

2013-12-11

2013-12-06

2013-12-05

2013-12-04

2013-12-02

2013-12-01

2013-11-26

2013-11-25

2013-11-04