TRS-80 Model I/III/4 Emulator for Windows by Matthew Reed
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.
This 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.
Additionally, there is 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:
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
The Edit Menu
The Storage Menu
The Options Menu
- Model I, Level I: This emulates the original TRS-80 (later known as the Model I), with the Level I ROMS operating at 1.77 MHz.
- Model I, Level II: This emulates the Model I with Level II ROMS operating at 1.77 MHz.
- Model III, Level I: This emulates the rarely seen Model III with Level I ROMS operating at 2.02 MHz.
- Model III, Level II: This emulates the Model III with Level II ROMS operating at 2.02 MHz.
- Model 4: This emulates the Model 4 operating at a speed of 2.02 or 4.05 MHz.
- Model 4P: This emulates the Model 4P operating at a speed of 2.02 or 4.05 MHz.
- 4K: this is the lowest memory size possible. It was a very common configuration for Level I machines.
- 8K: this memory size was possible, but rarely seen.
- 16K: this was a common size for cassette based Level II machines. On a Model I, this was the maximum memory size possible without using an expansion interface or hardware modification.
- 32K: this is the minimum memory size required for using a disk operating system. On a Model I, this memory size and above required an expansion interface.
- 48K: this is the maximum memory size. Unless you are testing a special configuration, you should leave it at this setting.
- 64K: this is the minimum memory size required by most Model 4 operating systems.
- 128K: this is the maximum capacity of a stock Model 4 or 4P. The additional memory can be used as a RAM disk and by some programs. You should leave it at this setting unless you have programs that recognize additional memory.
- 256K: this is the minimum memory size possible with the Alpha Technology memory board, a popular add-on. The additional memory could be used as a RAM disk and by some programs, most notably LeScript.
- 512K: this is another Alpha Technology configuration.
- 768K: this is another Alpha Technology configuration.
- 1024K: this is the maximum capacity of the Alpha Technology memory board. You should leave it at this setting if you have any programs that can use the additional memory.
- TRS-80: this tries to match the layout of the original TRS-80 keyboard. This layout can be useful for certain games that rely on the positioning of the arrow keys.
- Windows: this attempts to map the Windows keyboard to the TRS-80 keyboard in an intelligent fashion. All shifted number keys retain their Windows meanings but are mapped correctly within the TRS-80 emulation. As an additional feature, international Windows keyboard layouts are correctly recognized and mapped. Remember that the shifted numeric keypad keys are not translated in the same way as the normal number keys. For example SHIFT+2 creates @ using the number keys, but " using the numeric keypad.
- SHIFT-DOWN: this key combination was used by many programs, including Level II BASIC. This is the best option for Model I and III mode.
- @: this was used as a control key by some programs, notably Scripsit.
- Electric Pencil: this special key was used by Electric Pencil. This was not a built-in key, but one added by a hardware kit.
- CONTROL: this selects the Model 4 control key. This is usually the best option for Model 4 mode.
- Not installed: this emulates the uppercase only original Model 1.
- Radio Shack: this emulates the Radio Shack lowercase modification.
- None Installed: turns off all doubler support.
- Percom: emulates the Percom doubler. This was the first doubler standard, and was also used by several other manufacturers.
- Radio Shack: emulates the Radio Shack doubler, which was used only by Radio Shack.
- Both: emulates both the Percom and Radio Shack doubler at the same time. This can be convenient for testing unknown disks, but can cause problems with some programs.
There are two settings:
- Disabled: no emulation is performed.
- Enabled: emulation of an Epson FX-80 compatible dot-matrix printer is performed.
If dot-matrix emulation is disabled, then there are two settings:
- Disabled: no conversion is performed.
- Enabled: TRS-80 style printer output (CR) will be converted to non-TRS-80 style printer output (LF, CR).
- Disabled: a CR is treated as a carriage-return only.
- Enabled: a CR is treated as a CR, LF sequence by the dot-matrix emulation. This is almost always the correct setting in dot-matrix emulation mode.
- None: turns off all real-time-clock emulation.
- SmartWatch: emulates the SmartWatch, a popular later clock/calendar. You must have TRS-80 software that will support this setting.
- Newclock-80: emulates the Newclock-80, a popular early clock/calendar. You must have TRS-80 software that will support this setting.
- Automatic: automatically keeps the time and date correct in TRS-80 memory. This option requires no additional software, and works with almost all TRS-80 operating systems.
- Disabled: turns off mouse emulation.
- 2-button mouse: emulates a 2-button Microsoft mouse.
- 3-button mouse: emulates a 3-button Mouse Systems mouse.
- Early: this character set was used in early Model 4's.
- Later: this character set was used in later Model 4's and includes the international characters.
- United States: this uses an interrupt rate of 60 times per second. This setting will work with most programs.
- International: this uses an interrupt rate of 50 times per second. Use this setting if your software is patched to use this interrupt rate.
- None installed: turns off all high-resolution graphics emulation.
- Micro-Labs: emulates the MicroLabs Grafyx Solution high-resolution graphics board.
- Radio Shack: emulates the Radio Shack high-resolution graphics board, including all undocumented features.
There are three options in Model III mode:
- None installed: turns off all high-resolution graphics emulation.
- Micro-Labs: emulates the MicroLabs Grafyx Solution Model III high-resolution graphics board. The Model III board is not compatible with the Model 4 Grafyx Solution board.
- Radio Shack: emulates the Radio Shack high-resolution graphics board. Use this board if you are unsure what your software requires.
- None installed: turns off all high-resolution graphics emulation.
- 80-Grafix: emulates the 80-Grafix high-resolution character generator.
- Not installed: no speed-up is possible.
- 2X: the Z80 is speeded up to twice its normal speed when enabled in software.
- 3X: the Z80 is speeded up to three times its normal speed when enabled in software.
- 4X: the Z80 is speeded up to four times its normal speed when enabled in software. This is the maximum speed-up possible.
There are two options in Model I mode:
- Not installed: turns off Orchestra 85 emulation.
- Orchestra 85: emulates the Orchestra 85 music add-on.
- Not installed: turns off Orchestra 90 emulation.
- Orchestra 90: emulates the Orchestra 90 music add-on. The Orchestra 90 is not hardware-compatible with the Orchestra 85, but most software will work with either type.
- Disabled: the floppy disk controller is disabled and the emulated computer acts like a cassette-based TRS-80.
- Enabled: the floppy disk controller is enabled and the emulated computer acts like a disk-based TRS-80.
- Disabled: the emulated computer acts like a TRS-80 with no hard drive.
- Enabled: the emulated computer acts like a TRS-80 with a WD1000 controller add-on.
/12345
- Disabled: no Exatron Stringy Floppy is emulated.
- Enabled: one Exatron Stringy Floppy drive is emulated.
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.
- 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