Installing MAME on Windows
We're going to describe a fast way to install MAME on your Windows computer. If you follow these steps closely, there should not be any problem getting it running.
Check your Windows release
You should run a post-XP version (Vista, 7, 8, or 10). Do not try any older release like Windows 98, ME, or 2000. Windows XP is not recommended for security reasons, and MAME is not tested to run on it.
Get the MAME package
Download the most recent MAME release from the MAMEdev website from the section Official Binaries. You should use the 64 bit version (unless you know that your computer is 32 bit only).
Please do not attempt to install an older release, particularly not if its release number is much smaller than the current one. There have been changes in the meantime concerning the ROM formats, and this may make it impossible to run MAME.
Install the files
Run the exe file; this is just a self-extracting archive file. Choose your target directory; for easier configuration, a simple path like C:\prg\mame is recommended. The extracted files will be located in that directory.
Note that MAME does not alter your registry file. This means you can at any time simply remove the MAME installation, install another one in a separate directory, or reinstall it if desired. Uninstallation means that you have to remove that directory.
Configure it once
Open a command shell and type (in black)
C:\Users\Whoever> cd \prg\mame C:\prg\mame> mame64 -createconfig C:\prg\mame> exit
This creates a file C:\prg\mame\mame.ini. Open it in some text editor.
In the second section ("CORE SEARCH PATH OPTIONS") you will find a setting rompath. This is relative to your base directory C:\prg\mame; typically, you will find the value roms (i.e. it will be C:\prg\mame\roms). This subdirectory is already created by unpacking the zip file. If you like, you can append ;cartridges or similar in order to separate between modules and system roms. You must make sure that there is a directory C:\prg\mame\cartridges; if needed, create a new folder of that name in your explorer.
Scroll down to "OSD VIDEO OPTION"; change window to 1 to get a windowed output, otherwise it is fullscreen. In the next section "OSD PER-WINDOW VIDEO OPTION" you should set the first resolution property to 640x480 or bigger, as you find suitable.
Note that this configuration is only done once, when you install MAME, as we show it here.
Install system ROMs and cartridges
Go to our WHTech repository and download ti99_complete.zip from the directory /System ROMs/MAME. Unzip its contents into the roms subdir. Do not unzip the zip files inside.
Also from WHTech, download all_carts.zip from /Cartridges/MAME. It contains a collection of zip files, each one for a cartridge; do not unpack these cartridge zips.
Store the cartridge zips into the cartridges subdir if you added that location to the rompath, otherwise move all cartridge zip files to the roms subdir, too.
Create a starter batch
Create a small batch file to launch MAME. You may drop that on your desktop. For that, open some text editor and type
c: cd \prg\mame mame64 ti99_4a
Save it as ti99.bat to your desktop, or anywhere else as desired.
You can now edit this starter batch or create copies. You can change the system name (e.g. geneve, ti99_8), add cartridges (-cart exbasic) or peripheral devices (-ioport peb -ioport:peb:slot8 hfdc), and add floppy disks (-flop1 mydisk.dsk).
If you are using a non-US keyboard under Linux, some keys may not be properly mapped. For a German keyboard you should add the switches
-keymap -keymap_file keymaps/km_de_LINUX.map
Likewise, there are maps for other languages; see the keymaps folder of the MAME installation.
Example 1
Plain console, cassette file inserted
c: cd \prg\mame mame64 ti99_4a -cass1 cassette.wav
Example 2
External 32K memory expansion, TI floppy controller, one drive, myfloppyimage.dsk inserted
c: cd \prg\mame mame64 ti99_4a -ioport peb -ioport:peb:slot2 32kmem -ioport:peb:slot8 tifdc -flop1 myfloppyimage.dsk
Example 3
Cartridge Extended Basic, external 32K memory expansion, RS232 card, HFDC controller, one drive, myfloppyimage.dsk inserted
c: cd \prg\mame mame64 ti99_4a -cart exbasic -ioport peb -ioport:peb:slot2 32kmem -ioport:peb:slot7 tirs232 -ioport:peb:slot8 hfdc -flop1 myfloppyimage.dsk
Example 4
Cartridge Editor/Assembler, external 32K memory expansion, Speech synthesizer, Horizon RAMDisk, HFDC, hard disk, one floppy image inserted
c: cd \prg\mame mame64 ti99_4a -cart editass -ioport peb -ioport:peb:slot2 32kmem -ioport:peb:slot3 spchsyn -ioport:peb:slot4 horizon -ioport:peb:slot8 hfdc -ioport:peb:slot8:hfdc:h1 generic -hard1 myharddisk.hd -flop1 myfloppyimage.dsk
Example 5
P-Code system, external 32K memory expansion, TI floppy controller, one drive, Editor/Filer inserted
c: cd \prg\mame mame64 ti99_4a -ioport peb -ioport:peb:slot2 32kmem -ioport:peb:slot3 pcode -ioport:peb:slot8 tifdc -flop1 ucsd_pascal_editor_filer_1.dsk
Example 6
Geneve, Horizon RAMDisk, Speech, RS232, HFDC, one hard disk
c: cd \prg\mame mame64 geneve -peb:slot4 horizon -peb:slot5 spchsyn -peb:slot6 tirs232 -peb:slot8 hfdc -ioport:peb:slot8:hfdc:h1 generic -hard1 myharddisk.hd