Setup
Installation
Currently, binaries are only provided for Windows. Linux and MacOS users need to compile Bintracker from source.
Windows
Full Package
The full package contains all the required dependencies to run Bintracker, except the ROM files for MAME emulation. Simply extract bintracker-win64-full.zip
to a directory of your choice. Next, add ROM files for all the machines you want to use.
Bintracker requires access to the local network in order to communicate with MAME. Depending on your security setup, you may need to manually grant the required permissions.
Core Package
The core package contains only Bintracker itself, without the MAME emulator and the Tclkit utility. Use this if you already have MAME installed. Note that Bintracker requires MAME v0.233 or higher.
Extract bintracker-win64-core.zip
to a directory of your choice. Download Tclkit 8.6 for Windows 64-bit. Move the executable to bintracker\3rdparty
and rename it to tclkit.exe
. Now, adjust bintracker\config\emulators.windows.scm
, where program-name
is the path to your mame.exe
and "roms"
is the path to your MAME ROM directory.
Bintracker requires access to the local network in order to communicate with MAME. Depending on your security setup, you may need to manually grant the required permissions.
Compiling from Source
Currently the only verified way to run Bintracker is to build it from the source code.
Linux
Step 1 - Build Dependencies
The following dependencies are required to build Bintracker:
- sqlite3
- Chicken Scheme >=5.0 + extensions
To build the Bintracker documentation, the following additonal dependencies are required:
- Mkdocs + Mkdocs-material
- scm2wiki
First, obtain the source:
Next, install Chicken Scheme, version 5.0 or newer. Chicken is available through most distro package repositories. However, for advanced users we recommend to build it from source and do a user install.
After installing Chicken itself, you need to install the extensions required by Bintracker.
$ chicken-install args base64 bitstring comparse coops list-utils matchable pstk s11n simple-md5 sqlite3 stb-image stb-image-write srfi-1 srfi-4 srfi-13 srfi-14 srfi-18 srfi-69 stack test typed-records web-colors
Note that in order to build the sqlite3 extension, you need an sqlite3 installation. Your system most likely will have one installed already, but if not, install it through your distro's package manager.
To build the Bintracker documentation, you will need scm2wiki, MkDocs, and the mkdocs-material theme.
Step 2 - Compilation
You are now ready to build Bintracker.
To build the documentation, run make docs
.
You can do a parallel build (make -jX
), however time savings will be minimal. You can make tests
to run unit tests on libmdal and Schemta. If you are using Emacs and are planning on writing code for Bintracker, you can run make with an additional ETAGS=1
argument to generate a suitable TAGS file in the main directory.
Step 3 - Emulator Setup
If you haven't done so already, install MAME and make sure mame
is in your search path. If your MAME executable is not named "mame", edit the file config/emulators.scm
accordingly. Note that Bintracker requires MAME v0.233 or higher.
For most target systems you want to emulate, you will also need to obtain ROM files. See Adding ROM Files for details on how to add ROMs to MAME for use in Bintracker.
Once you've completed these steps, you can run the bintracker
executable in the build
directory.
If you notice sound being choppy, you can try adding "-nofilter" "-nomax"
and/or "-autoframeskip"
to the list of MAME default-args in config/emulators.scm
. Especially hard cases may be fixed with "-video" "none"
. Newer versions of MAME will complain about the latter, but it nevertheless fixes most cases of bad audio.
Windows
Building Bintracker on Windows is rather messy, unfortunately. While there are several ways in which this could be done, we recommend building with MSYS2 and Chocolatey.
If you manage to build Bintracker on Windows by other means, please let us know how you did it, either by opening a Github Issue or by sending a message.
Step 1 - Set up the build system
First, follow the instructions at https://chocolatey.org/install to set up Chocolatey. Next, in an admin Powershell, run
This will set up MSYS and MinGW (if you don't have it set up already), and install Chicken Scheme 5.2.0 in C:\tools\chicken
. Next, install GMake with
Step 2 - Install Scheme libraries
Launch C:\tools\msys64\mingw64.exe
with administrator rights. First, install SQLite with
Next, install the srfi-18 egg with
Running this the first time will fail because of a problem with the build script. In C:\Users\<your-username>\AppData\Local\chicken-install\srfi-18\build-srfi-18.bat
, replace %CHICKEN_CSI%
with csi
and %CHICKEN_CSC%
with csc
. Then, run the above install command again.
Next, install the check-errors egg with
This will likely crash near the end, breaking chicken-install
in the process. To fix this, create a file named check-errors.egg-info
in C:\tools\chicken\lib\chicken\11
, and paste the following contents into it:
((installed-files
"C:/tools/chicken/lib/chicken/11/check-errors.sys.obj"
"C:/tools/chicken/lib/chicken/11/check-errors.sys.link"
"C:/tools/chicken/lib/chicken/11/check-errors.sys.so"
"C:/tools/chicken/lib/chicken/11/check-errors.sys.types"
"C:/tools/chicken/lib/chicken/11/check-errors.sys.inline"
"C:/tools/chicken/lib/chicken/11/check-errors.sys.import.so"
"C:/tools/chicken/lib/chicken/11/check-errors.obj"
"C:/tools/chicken/lib/chicken/11/check-errors.link"
"C:/tools/chicken/lib/chicken/11/check-errors.so"
"C:/tools/chicken/lib/chicken/11/check-errors.types"
"C:/tools/chicken/lib/chicken/11/check-errors.import.so"
"C:/tools/chicken/lib/chicken/11/type-checks.obj"
"C:/tools/chicken/lib/chicken/11/type-checks.link"
"C:/tools/chicken/lib/chicken/11/type-checks.so"
"C:/tools/chicken/lib/chicken/11/type-checks.types"
"C:/tools/chicken/lib/chicken/11/type-checks.import.so"
"C:/tools/chicken/lib/chicken/11/type-errors.obj"
"C:/tools/chicken/lib/chicken/11/type-errors.link"
"C:/tools/chicken/lib/chicken/11/type-errors.so"
"C:/tools/chicken/lib/chicken/11/type-errors.types"
"C:/tools/chicken/lib/chicken/11/type-errors.import.so"
"C:/tools/chicken/lib/chicken/11/check-errors.basic.obj"
"C:/tools/chicken/lib/chicken/11/check-errors.basic.link"
"C:/tools/chicken/lib/chicken/11/check-errors.basic.so"
"C:/tools/chicken/lib/chicken/11/check-errors.basic.types"
"C:/tools/chicken/lib/chicken/11/check-errors.basic.import.so"
"C:/tools/chicken/lib/chicken/11/type-checks-basic.obj"
"C:/tools/chicken/lib/chicken/11/type-checks-basic.link"
"C:/tools/chicken/lib/chicken/11/type-checks-basic.so"
"C:/tools/chicken/lib/chicken/11/type-checks-basic.types"
"C:/tools/chicken/lib/chicken/11/type-checks-basic.import.so"
"C:/tools/chicken/lib/chicken/11/type-errors-basic.obj"
"C:/tools/chicken/lib/chicken/11/type-errors-basic.link"
"C:/tools/chicken/lib/chicken/11/type-errors-basic.so"
"C:/tools/chicken/lib/chicken/11/type-errors-basic.types"
"C:/tools/chicken/lib/chicken/11/type-errors-basic.import.so"
"C:/tools/chicken/lib/chicken/11/type-checks-atoms.obj"
"C:/tools/chicken/lib/chicken/11/type-checks-atoms.link"
"C:/tools/chicken/lib/chicken/11/type-checks-atoms.so"
"C:/tools/chicken/lib/chicken/11/type-checks-atoms.types"
"C:/tools/chicken/lib/chicken/11/type-checks-atoms.import.so"
"C:/tools/chicken/lib/chicken/11/type-errors-atoms.obj"
"C:/tools/chicken/lib/chicken/11/type-errors-atoms.link"
"C:/tools/chicken/lib/chicken/11/type-errors-atoms.so"
"C:/tools/chicken/lib/chicken/11/type-errors-atoms.types"
"C:/tools/chicken/lib/chicken/11/type-errors-atoms.import.so"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.obj"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.link"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.so"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.types"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.import.so"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.obj"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.link"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.so"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.types"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.import.so"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.interval.obj"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.interval.link"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.interval.so"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.interval.types"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.interval.import.so"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.interval.obj"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.interval.link"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.interval.so"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.interval.types"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.interval.import.so"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.scheme.obj"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.scheme.link"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.scheme.so"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.scheme.types"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.scheme.import.so"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.scheme.obj"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.scheme.link"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.scheme.so"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.scheme.types"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.scheme.import.so"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.number.obj"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.number.link"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.number.so"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.number.types"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.number.import.so"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.number.obj"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.number.link"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.number.so"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.number.types"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.number.import.so"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.fixnum.obj"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.fixnum.link"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.fixnum.so"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.fixnum.types"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.fixnum.import.so"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.fixnum.obj"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.fixnum.link"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.fixnum.so"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.fixnum.types"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.fixnum.import.so"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.integer.obj"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.integer.link"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.integer.so"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.integer.types"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.integer.import.so"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.integer.obj"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.integer.link"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.integer.so"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.integer.types"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.integer.import.so"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.bignum.obj"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.bignum.link"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.bignum.so"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.bignum.types"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.bignum.import.so"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.bignum.obj"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.bignum.link"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.bignum.so"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.bignum.types"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.bignum.import.so"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.ratnum.obj"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.ratnum.link"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.ratnum.so"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.ratnum.types"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.ratnum.import.so"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.ratnum.obj"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.ratnum.link"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.ratnum.so"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.ratnum.types"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.ratnum.import.so"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.flonum.obj"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.flonum.link"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.flonum.so"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.flonum.types"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.flonum.import.so"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.flonum.obj"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.flonum.link"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.flonum.so"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.flonum.types"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.flonum.import.so"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.cplxnum.obj"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.cplxnum.link"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.cplxnum.so"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.cplxnum.types"
"C:/tools/chicken/lib/chicken/11/type-checks-numbers.cplxnum.import.so"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.cplxnum.obj"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.cplxnum.link"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.cplxnum.so"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.cplxnum.types"
"C:/tools/chicken/lib/chicken/11/type-errors-numbers.cplxnum.import.so"
"C:/tools/chicken/lib/chicken/11/type-checks-structured.obj"
"C:/tools/chicken/lib/chicken/11/type-checks-structured.link"
"C:/tools/chicken/lib/chicken/11/type-checks-structured.so"
"C:/tools/chicken/lib/chicken/11/type-checks-structured.types"
"C:/tools/chicken/lib/chicken/11/type-checks-structured.import.so"
"C:/tools/chicken/lib/chicken/11/type-errors-structured.obj"
"C:/tools/chicken/lib/chicken/11/type-errors-structured.link"
"C:/tools/chicken/lib/chicken/11/type-errors-structured.so"
"C:/tools/chicken/lib/chicken/11/type-errors-structured.types"
"C:/tools/chicken/lib/chicken/11/type-errors-structured.import.so"
"C:/tools/chicken/lib/chicken/11/srfi-4-checks.obj"
"C:/tools/chicken/lib/chicken/11/srfi-4-checks.link"
"C:/tools/chicken/lib/chicken/11/srfi-4-checks.so"
"C:/tools/chicken/lib/chicken/11/srfi-4-checks.types"
"C:/tools/chicken/lib/chicken/11/srfi-4-checks.import.so"
"C:/tools/chicken/lib/chicken/11/srfi-4-errors.obj"
"C:/tools/chicken/lib/chicken/11/srfi-4-errors.link"
"C:/tools/chicken/lib/chicken/11/srfi-4-errors.so"
"C:/tools/chicken/lib/chicken/11/srfi-4-errors.types"
"C:/tools/chicken/lib/chicken/11/srfi-4-errors.import.so")
(version "3.6.1")
(synopsis "Argument checks & errors")
(version "3.6.1")
(category misc)
(license "BSD")
(author "Kon Lovett")
(test-dependencies test)
(component-options
(csc-options
"-O3"
"-d1"
"-strict-types"
"-no-procedure-checks"
"-no-bound-checks"))
(components
(extension check-errors.sys (types-file) (inline-file))
(extension
check-errors
(types-file)
(component-dependencies type-checks srfi-4-checks))
(extension
type-checks
(types-file)
(component-dependencies
type-errors
type-checks-basic
type-checks-atoms
type-checks-structured))
(extension
type-errors
(types-file)
(component-dependencies
type-errors-basic
type-errors-atoms
type-errors-structured))
(extension
check-errors.basic
(types-file)
(component-dependencies type-checks-basic type-errors-basic))
(extension
type-checks-basic
(types-file)
(component-dependencies type-errors-basic))
(extension type-errors-basic (types-file))
(extension
type-checks-atoms
(types-file)
(component-dependencies
type-checks-basic
type-checks-numbers
type-errors-atoms))
(extension
type-errors-atoms
(types-file)
(component-dependencies type-errors-basic type-errors-numbers))
(extension
type-checks-numbers
(types-file)
(component-dependencies
type-checks-basic
type-errors-numbers
type-checks-numbers.interval
type-checks-numbers.scheme
type-checks-numbers.number
type-checks-numbers.fixnum
type-checks-numbers.integer
type-checks-numbers.bignum
type-checks-numbers.ratnum
type-checks-numbers.flonum
type-checks-numbers.cplxnum))
(extension
type-errors-numbers
(types-file)
(component-dependencies
type-errors-basic
type-errors-numbers.interval
type-errors-numbers.scheme
type-errors-numbers.number
type-errors-numbers.fixnum
type-errors-numbers.integer
type-errors-numbers.bignum
type-errors-numbers.ratnum
type-errors-numbers.flonum
type-errors-numbers.cplxnum))
(extension
type-checks-numbers.interval
(types-file)
(component-dependencies type-checks-basic type-errors-numbers.interval))
(extension
type-errors-numbers.interval
(types-file)
(component-dependencies type-errors-basic))
(extension
type-checks-numbers.scheme
(types-file)
(component-dependencies type-checks-basic type-errors-numbers.scheme))
(extension
type-errors-numbers.scheme
(types-file)
(component-dependencies type-errors-basic))
(extension
type-checks-numbers.number
(types-file)
(component-dependencies type-checks-basic type-errors-numbers.number))
(extension
type-errors-numbers.number
(types-file)
(component-dependencies type-errors-basic))
(extension
type-checks-numbers.fixnum
(types-file)
(component-dependencies type-checks-basic type-errors-numbers.fixnum))
(extension
type-errors-numbers.fixnum
(types-file)
(component-dependencies type-errors-basic))
(extension
type-checks-numbers.integer
(types-file)
(component-dependencies type-checks-basic type-errors-numbers.integer))
(extension
type-errors-numbers.integer
(types-file)
(component-dependencies type-errors-basic))
(extension
type-checks-numbers.bignum
(types-file)
(component-dependencies type-checks-basic type-errors-numbers.bignum))
(extension
type-errors-numbers.bignum
(types-file)
(component-dependencies type-errors-basic))
(extension
type-checks-numbers.ratnum
(types-file)
(component-dependencies type-checks-basic type-errors-numbers.ratnum))
(extension
type-errors-numbers.ratnum
(types-file)
(component-dependencies type-errors-basic))
(extension
type-checks-numbers.flonum
(types-file)
(component-dependencies type-checks-basic type-errors-numbers.flonum))
(extension
type-errors-numbers.flonum
(types-file)
(component-dependencies type-errors-basic))
(extension
type-checks-numbers.cplxnum
(types-file)
(component-dependencies type-checks-basic type-errors-numbers.cplxnum))
(extension
type-errors-numbers.cplxnum
(types-file)
(component-dependencies type-errors-basic))
(extension
type-checks-structured
(types-file)
(component-dependencies type-checks-basic type-errors-structured))
(extension
type-errors-structured
(types-file)
(component-dependencies type-errors-basic))
(extension
srfi-4-checks
(types-file)
(component-dependencies type-checks-basic srfi-4-errors))
(extension
srfi-4-errors
(types-file)
(component-dependencies type-errors-basic))))
Now, install the remaining dependencies with
% /c/tools/chicken/bin/chicken-install.exe args base64 bitstring comparse coops list-utils matchable pstk s11n simple-md5 sqlite3 stb-image stb-image-write srfi-1 srfi-4 srfi-13 srfi-14 srfi-69 shell stack test typed-records web-colors
Step 3 - Get source code and runtime dependencies
Download the Bintracker source code and unpack it to a directory of your choice. Next, download Tclkit 8.6 for Windows 64-bit from https://tclkits.rkeene.org/fossil/wiki/Downloads or generate an appropriate kit that includes the Tk package on https://kitcreator.rkeene.org/kitcreator . Move the executable to bintracker\3rdparty
and rename it to tclkit.exe
. Then, download the latest MAME release from https://github.com/mamedev/mame/releases and unpack the self-extracting archive to bintracker\3rdparty\mame
.
Step 4 - Build Bintracker
In a Powershell, navigate to bintracker\build
, and run
Finally, copy C:\tools\msys64\usr\bin\msys-2.0.dll
and C:\tools\msys64\usr\bin\libsqlite3-0.dll
to bintracker\build
in order to package an executable release from the build directory. That's all. Building the documentation on Windows is untested, but should work in the same way as on Linux. Otherwise just use the online documentation instead.
MacOS, BSD
So far nobody has tried to build Bintracker on any of these platforms. By all means, please try!
Building on MacOS and BSD shouldn't be too hard. The main complication you may run into is that the Makefile currently uses a few bash/GNUmake specific features. Also, the latest MacOS versions apparently do not ship Tcl/Tk anymore, so you will need to install that first.
If you succeed at building Bintracker on a non-Linux platform, please let us know how you did it, either by opening a Github Issue or by sending a message.
Adding ROM Files
For legal reasons, Bintracker does not ship any of the ROM files required by MAME. They are usually easy to come by on the web, though (pro-tip: archive.org is your friend). The tricky part is figuring out exactly which files MAME expects. The Arcade Database lists these details for every system supported in MAME (use the search to find your system, then check the section Files -> Romset).
ROM files go into bintracker/roms/*
, or whatever you specified as your ROM path in config/emulators[.windows].scm
. Create a subfolder for each machine, named exactly as the machine is named on MAME. The Arcade Database also list the official names. The systems currently supported in Bintracker use the following names:
System | MAME Name | Remarks |
---|---|---|
Atari 2600/VCS | a2600 | requires no ROM files |
Dragon 32 | dragon32 | |
Exidy Sorcerer | sorcerer | |
Fairchild Channel F | channelf | |
Sinclair ZX Spectrum 48K | spectrum | |
TRS-80 MC-10 | mc10 | |
Tandy Color Computer 3 | coco3 |