Model I/III/4 Emulator
Introduction
This program emulates a popular series of early microcomputers, the TRS-80 Model I, III, 4, and 4P. The CPU emulation is extremely accurate, supports all known instructions, and runs at exact TRS-80 speed. It is also extremely fast, being written in assembly language, and can exceed actual TRS-80 speed on any computer capable of running Windows. The floppy disk emulation is incredibly accurate and will even work great with self-booting or protected disks, such as Super Utility.
The unregistered shareware version of the program emulates a TRS-80 Model I, III, 4, or 4P with four floppy disk drives, a cassette tape drive, an Exatron Stringy Floppy, and printer, serial, and joystick ports.
The registered version adds support for additional hardware, including multiple types of high-resolution graphics boards, Orchestra 85/90 music generation, several types of real-time-clocks, up to 1Mb of additional memory (in Model 4 or 4P mode), hard disk support, and an Epson FX-80 compatible printer.
Installation
TRS32 is distributed as a self-installing executable file. To install it, download the file to your hard drive, double-click on its filename in Windows Explorer, and answer the questions as the installer asks them.
Operation
To start the TRS32 emulator, double-click on its icon on the Windows desktop, or select it from the Start menu. When you use the emulator for the first time, you may see this message onscreen:
ROM IMAGE NOT FOUND!
USE THE “OPTIONS”, “ROM IMAGE PATHS” MENU OPTION TO SELECT THE PROPER PATH TO YOUR ROM FILES.
If you see this message, open the emulator’s Options menu, click on the ROM Image Paths menu option, and select the directory where your emulator ROM images are stored.
The Menus
The File Menu
Run /CMD file — Runs a TRS-80 program file. The file can be in CMD or Intel HEX format. The program file will not work unless it is appropriate for the TRS-80 model and state. For instance, if the program will only work using LDOS, then you must load LDOS before loading the program with this command.
Autostart floppy disk — Automatically boots a floppy disk image. The emulator will determine the appropriate TRS-80 model from the disk image, switch to that model, and boot the disk image. The method of determination is not foolproof, but should work with almost all bootable disk images.
Load snapshot — Loads a previously saved snapshot. The snapshots must have been created with this emulator.
Save snapshot — Saves a snapshot of the emulated TRS-80 state. This snapshot can be loaded at a later time to return the emulator to the same state. Almost everything in the state will be saved except for the current disk and cassette transfer.
Save screenshot — Saves a BMP graphics image of the screen. This image file can then be used by any Windows graphics programs.
Pause — Pauses the emulated TRS-80. You can end the pause and resume emulation at a later point.
Soft reset — Performs a soft reset of the emulated TRS-80. In Model I cassette mode this will return to the READY prompt in BASIC. In all other modes, this performs almost exactly the same as the Hard reset command. This command is not present in Model 4 or 4P mode.
Hard reset — Performs a hard reset of the emulated TRS-80. This is equivalent to the red reset button present on the TRS-80 models.
Exit — Exits the emulator. You will be prompted before exiting if you have enabled the Confirm on exit option.
The Edit Menu
Copy — Copies text from the emulator screen. The copied text can be pasted into any Windows program that supports the clipboard.
Paste — Pastes text into the emulated computer. The paste operation can be cancelled at any time by pressing a key on the keyboard.
The Storage Menu
Insert floppy disk — Inserts or creates a floppy disk image. The disk image type will be automatically determined by the emulator. If the filename you specify doesn’t exist, then you will be prompted to create it. The Floppy drives option must be enabled for the floppy disk image to work with an emulated TRS-80.
Remove floppy disk — Removes the floppy disk image from the virtual floppy drive.
Write protect floppy disk — Write-protects the floppy disk image. For most virtual disk types, this write-protect status will be saved with the floppy disk image.
Insert Stringy Floppy — Inserts or creates a Stringy Floppy wafer image. If the filename you specify doesn’t exist, then you will be prompted to create it and also for the wafer length. The Stringy Floppy option must be enabled for the Stringy Floppy image to work with an emulated TRS-80.
Remove Stringy Floppy — Removes the Exatron Stringy Floppy wafer image from the virtual Stringy Floppy.
Write protect Stringy Floppy — Write-protects the Exatron Stringy Floppy wafer image. The write-protect status will be saved with the wafer image.
Select hard disk — Inserts or creates a hard disk image. If the filename you specify doesn’t exist, then you will be prompted to create it. The Hard drives option must be enabled for the hard disk image to work with the emulated TRS-80. Remember that you must have a hard disk driver in the emulated TRS-80 mode to use the hard disk.
Remove hard disk — Removes the hard disk image from the virtual hard drive.
Write protect hard disk — Write-protects the hard disk image. This write-protect status will be saved with the hard disk image.
Insert cassette tape — Inserts or creates a cassette image into the virtual cassette recorder. The file can be in either the CAS or WAV formats. If the filename you specify doesn’t exist, you will be prompted to create it. The new file will be created as a WAV file unless you give the filename an extension of CAS. Cassette support is not available in Model 4P mode.
Remove cassette tape — Removes the cassette image from the virtual cassette recorder.
Write protect cassette tape — Write-protects the virtual cassette recorder. This write-protect state is specific to the cassette recorder and is not saved with the cassette image.
Show cassette recorder — Displays a windowed representation of a cassette recorder on screen. The buttons on this window can be used to control the cassette recorder. While this window is active, you can use SHIFT+F9 to switch between it and the main emulator window.
Control cassette tape — Shows the submenu which allows you to perform cassette tape functions. The submenu contains these options:
Stop | Stops the cassette recorder. This behaves in the same manner as pressing the STOP button on an actual cassette recorder. |
Play | Starts the cassette recorder playing. This behaves in the same manner as pressing the PLAY button on an actual cassette recorder. |
Record | Starts the cassette recorder recording. This behaves in the same manner as pressing the REC button on an actual cassette recorder. |
Move to counter reading | Fast forwards or rewinds to a specific counter value on the cassette recorder. |
Rewind to beginning | Rewinds to the very beginning of the cassette file. |
Fast forward to end | Fast forwards to the very end of the cassette file. |
Insert/remove plug | Inserts or removes the cassette plug on the cassette recorder. When the cassette plug is inserted, the cassette recorder will operate only when the TRS-80 allows it (such as during a CLOAD or CSAVE). When the cassette plug is removed, the cassette recorder will operate at any time. This matches the behavior of a real TRS-80. |
The Options Menu
Fullscreen — Enables and disables fullscreen mode. The menu bar is hidden in fullscreen mode, but can be redisplayed by pressing the ALT key.
Sound enabled — Enables or disables TRS-80 sound generation. This applies to all sound: cassette game sound, Orchestra 85/90 sound, Stringy Floppy, and floppy drive sound.
Floppy drive sound enabled — Enables or disables TRS-80 floppy drive sound generation. This mimics the sound of an actual TRS-80 floppy drive as closely as possible. The Sound enabled setting above must be enabled for this option to have any effect.
Stringy Floppy sound enabled — Enables or disables Exatron Stringy Floppy sound generation. This mimics the sound of an actual Exatron Stringy Floppy drive. The Sound enabled setting above must be enabled for this option to have any effect.
Control dot-matrix — Brings up the submenu which allows you to control the emulated dot-matrix printer. The submenu contains these options:
Form feed | Use this command to move to the next page of the emulated printer. This is equivalent to pressing the form-feed button on a dot-matrix printer. |
Use unprintable area | Use this command to print in the unprintable area of your Windows printer. Most laser or ink-jet printer can print on a smaller area of the page than a dot-matrix printer can. The dot-matrix emulation normally works with this smaller printable area. If your TRS-80 program uses margins, then this command can make the page a more reasonable size. The usefulness of this command varies widely among printers, so you should experiment for best results. |
LF after CR | Use this command to treat a carriage-return as a CR, LF sequence. Unless you have a good reason, this option should always be on when using dot-matrix emulation. |
Configuration — Brings up the configuration dialog box. This lets you change the emulator configuration. The dialog box contains these options:
Computer | There are four options:
|
Memory | There are five options in Model I and Model III (Level I or Level II) modes:
|
Keyboard | There are two options:
|
Control key | Unlike the Windows keyboard, the Model I and III keyboard did not have a CONTROL key. Different programs used different key combinations for that purpose. This setting allows you to select which key combination the Windows CONTROL key uses. A Model 4 keyboard did have a CONTROL key, but it is sometimes useful to map it to another combination. There are four options:
|
Lowercase | A stock Model I was only able to display uppercase characters. This limitation became famous, and was soon corrected by Radio Shack and by third-parties. Lowercase modifications were very common add-ons and were supported by most programs. Remember that you will need to run a lowercase driver within Model I mode to type lowercase characters. There are two options only in Model I mode (the Models III and 4 had lowercase built-in):
|
Doubler | This setting controls the type of doubler that is emulated in Model I mode. A doubler was an optional add-on that allowed the Model I to use double-density disks. The Model III and 4 came standard with double-density support, so this option is disabled in Model III and 4 mode. There are four settings:
|
Dot-matrix emulation | This setting enables emulation of an Epson FX-80 compatible dot-matrix printer. The FX-80 characters and control codes are interpreted within the emulator and the output is sent to your Windows printer. If this setting is enabled, then the LF after CR setting should almost certainly be enabled as well.
There are two settings:
|
Printer port | This setting enables emulation of a TRS-80 printer (parallel) port. The output ignores the Windows drivers as much as possible and sends the printer data directly to the attached printer. If dot-matrix emulation is disabled, then no data translation is performed. This means that you must have a printer that is software compatible with a TRS-80 (such as a dot-matrix or daisy wheel printer). |
LF after CR | This setting is important only if printer output is being sent to a printer. Most TRS-80 printers were set up to require only a CR (ASCII 13) at the end of a printed line. Almost all non-TRS-80 printers require a CR, LF combination (ASCII 13 followed by ASCII 10).
If dot-matrix emulation is disabled, then there are two settings:
|
Real-time clock | This setting controls the type of real-time clock that is emulated. There are four settings:
|
Mouse emulation | This setting enables emulation of a serial mouse using your Windows mouse. You can then install the mouse driver of your choice within the TRS-80 environment. The RS-232 port option is disabled while this option is enabled. There are three settings:
|
RS-232 port | This setting enables emulation of a TRS-80 serial port. Compatibility is quite good, but will depend on the serial device being accessed. This option is disabled if the mouse emulation option is enabled. |
Character set | This setting selects the character set to be used by the emulated Model 4 or 4P. There are two options:
|
Interrupt rate | This option controls the interrupt rate of the emulated Model III or 4. The interrupt rate varies because it was based on the AC current frequency, which is different in different countries. The Model I interrupt rate is based on a crystal and is constant across all models. There are two settings in Model III, 4, and 4P mode:
|
Graphics board | This setting controls the type of high-resolution graphics board to be emulated. These boards were all optional add-ons to the main TRS-80. There are three options in Model 4 and 4P mode:
There are three options in Model III mode:
|
Speed-up board | There were a number of speed-up boards for the Model I. Most used the software interface used by the Archbold speed-up kit, which is what is emulated here. There are four options in Model I mode:
|
Add on music | The Orchestra 85 and Orchestra 90 were popular stereo music synthesizers for the TRS-80. They produced good quality music with their accompanying software. Many people wrote their own Orchestra 85/90 music files, and they can still be found on the Internet. Remember that you will need the Orchestra 85/90 TRS-80 software in order to listen to the music files. There are two options in Model I mode:
|
Joystick | This setting enables emulation of a TRS-80 joystick. If enabled, the Windows joystick emulates the Alpha Products joystick (the later version) and the Big Five TRISSTICK. All fire buttons on the Windows joystick are mapped to the one fire button on the TRS-80 joystick. Since Windows joysticks tend to be analog and the TRS-80 joystick was digital, this works better in some games than others. Be sure not to move the joystick when starting a TRS-80 game. Many programs disabled the joystick if any movement was detected as the program started, because they assumed they were seeing a noisy expansion bus rather than a joystick. |
Floppy drives | There are two options:
|
Hard drives | The TRS-80 Model I/III/4/4P never came from Radio Shack with a built-in hard drive, but many companies (including Radio Shack) sold hard drive add-ons. Remember that you will need compatible TRS-80 drivers to use the hard drive (just like you would on a real TRS-80). There are two options:
|
Stringy Floppy | One of the most popular storage devices for the TRS-80 Model I was the Exatron Stringy Floppy, which stored data on a continuous loop wafer. Remember that you will need to enable the Stringy Floppy using this command from BASIC: SYSTEM /12345 There are two options:
|
Foreground color | This setting sets the color used by the TRS-80 screen. The color defaults to white, but green is another good choice if you want to mimic the look of a green-screen Model 4. Be sure not to set this to be the same as the background color. |
Background color | This setting sets the color used by the background of the TRS-80 screen, which is normally black. You can obtain unusual effects by changing this value. Be sure not to set this to be the same as the foreground color. |
Speed | By default, the emulator runs at the exact TRS-80 speed. Sometimes, you might want to run the TRS-80 at faster speeds. This option allows you to run at up to ten times the normal speed. This multiplier acts after the Model I speed-up board option. If you set the speed to a setting higher than your Windows computer can successfully emulate, then the emulation will become erratic. If this happens, then just set the speed to a lower setting. Remember that the speed-up suffers from the same problems that plagued actual TRS-80 speed-up kits; namely that floppy disk access is not reliable at faster speeds and key repeat can become annoying. Unless you have a good reason, you should probably leave this option at the lowest setting. |
ROM image paths — Sets the path where the TRS-80 ROM files will be found. The ROM files (if present) must have these names:
LEVEL1.ROM — for the Model I, Level I ROM
MODEL1.ROM — for the Model I, Level II ROM
M3_L1.ROM — for the Model III, Level I ROM
MODEL3.ROM — for the Model III, Level II ROM
MODEL4.ROM — for the Model 4 ROM
MODEL4P.ROM — for the Model 4P ROM
ESF.ROM — for the Exatron Stringy Floppy ROM
Confirm on exit — Enables or disables prompting before exiting. This can be useful if you don’t want to accidentally exit the emulator and lose your running program.
Keyboard Shortcuts
TRS-80 layout only: | |
[ | Left arrow |
] | Right arrow |
` (left single quote) | Up arrow |
TAB | Down arrow |
Special keys: | |
ESC | BREAK |
END | @ |
HOME | CLEAR |
BACKSPACE | Left arrow |
Hotkeys: | |
F4 | Pause emulator |
ALT F4 | Exit emulator |
F5 | Load snapshot |
SHIFT F5 | Save snapshot |
CTRL F5 | Save screenshot |
ALT F5 | Run /CMD file |
F6 | Insert floppy drive 0 |
SHIFT F6 | Insert floppy drive 1 |
CTRL F6 | Insert floppy drive 2 |
SHIFT CTRL F6 | Insert floppy drive 3 |
ALT F6 | Remove all floppy disks |
F7 | Select hard drive 0 |
SHIFT F7 | Select hard drive 1 |
CTRL F7 | Select hard drive 2 |
SHIFT CTRL F7 | Select hard drive 3 |
ALT F7 | Remove all hard disks |
F8 | Invoke configuration dialog box |
SHIFT F8 | Hard reset |
CTRL F8 | Soft reset (Model I only) |
F9 | Insert cassette |
SHIFT F9 | Switch to cassette dialog box |
CTRL F9 | Toggle display of cassette dialog box |
ALT F9 | Remove cassette |
ALT ENTER | Toggle full-screen mode |
Registration
The unregistered shareware version of TRS32 is very powerful and capable, but registration adds many extra features only available in the registered version of the emulator:
- Multiple types of high-resolution graphics boards
- Orchestra 85/90 music generation
- Several types of real-time-clocks
- Up to 1Mb of additional memory (in Model 4 and 4P mode)
- Virtual hard drive support
- Epson FX-80 compatible printer emulation
Registration costs only $69 (for e-mail delivery), and you can register using the secure registration form. You will receive the TRS32 registration file which enables all of the extra features mentioned above.
Shareware TRS32 Model I/III/4/4P Emulator Download

The TRS32 Model I/III/4/4P Emulator is a Windows application.