This page will try to give a quick start to getting a TRS-80 emulator running.

This page is broken into 4 section. The first is for those who are absoutely new to emulating a TRS-80 and have no idea how to begin. The second is for those who know how to use an emulator, but have disk images that they want to use, including disk images which I have prepared for them. The third invites you to let me know if anything is unclear. The fourth was a request to add Hard Drive Emulation

Except for some limited instructions in Part 5, this page does NOT attempt to teach you how to use a TRS-80, and assumes you know how to use one.

Section 1 – Basics of Emulation

Part 1 – Pick an Emulator

First, you need to pick an emulator. While there are quite a few emulators, all of which can be found on the emulator page, two stand out as being the most complete – TRS80GP and TRS32. These two are equal except for the following, so if any of the below is something you are interested, you will need to go with the listed emulator:

Do you run LINUX or MAC
 
 
Does it have to be free
 
 
Do you need ROM files
 
 
Do you need to see scanlines
 
Do you need 100% GUI (Windows)
 
 
Do you need to use Model III High Speed Tapes
 
 
Do you need to use WAV files for cassette input
 
 
Do you need ORCH-85/90 in Stereo
 
 
Do you need to print out EPSON Graphics
 
 
Do you need 1MB of RAM support in Model 4 Mode
 
 
Do you need to emulate an Alpha Technology memory board
 
 
Do you need to emulate a Joystick (Alpha Products / Trisstick)
 
 
Do you need to emulate a mouse
 
 
Do you need to emulate a lightpen
 
 
Do you need to emulate the Electric Crayon
 
 
Do you need to emulate a Trisstick
 
 
Do you need to emulate an Exatron Stringly Floppy
 
Do you need to emulate an Aculab Stringly Floppy
 
 
Do you need to emulate the Archbold Speed-Up Kit
 
 
Do you need to emulate the Holmes Sprinter II/III
 
 
Do you need to emulate the Seatronics Super Speed-Up Board
 
 
Do you need to emulate a Smartwatch or NEWCLOCK/80
 
 
Do you need to emulate a custom character set
 
 
Do you need to pass through the RS-232 to the computer Serial Port
 
 
Do you need to emulate the Omikrom Mapper
 
 
Do you want to use HFE or IMG images
 
 

Other than the above, they either emulate the same things or neither does (like a voice synthesizer, speed-up card). You will need to register TRS32 to get all of its features. TRS80GP is completely free.

Now that you have picked and downloaded your emulator, either install TRS32 on your system or unzip TRS80GP to a directory of your choosing.

Part 2 – ROMs

TRS80GP has ROMs built in for the Model I, III, 4, and 4P. TRS32 does not come with ROMs.

For those choosing TRS32, you will need to get the ROMs, which you can find packaged in an older emulator by googling david keil emulator download. Once you have the ROM’s you will need to put them into a directory and point the TRS32 emulator to that directory under OPTIONS -> Image Path.

Part 3 – Starting Up

Next, you can need to start up the emulator. TRS80GP for Windows and Linux requires you to enter everything on a command line (to get to the command line in Windows, you would type CMD on the search bar), and the instructions for using that emulator can be found here. To run TRS32 or TRS80GP on a mac, just double click on the icon.

Part 4 – Do you want Cassette BASIC or DOS?

If you want to just get into non-DOS BASIC, and load tapes (SYSTEM or BASIC) tapes, you would need to do either of the following to get to the READY prompt:

TRS32
TRS80GP
Double-click on the icon to get the emulator to run. You will see a blank screen.

Press and hold the ESC key (which is the TRS-80 equivalent of BREAK) and while holding that down, hit both the SHIFT + F8 keys (which is a cold reboot code).

You should now see MEMORY SIZE? or MEM SIZE? or CASS? depending on which Model and which ROM you used.
If you do not need to set a memory size, just hit ENTER. If you have CASS, the answers are either H for HIGH SPEED tapes and L for low speed.
Enter trs80gp -m1 -dx from the command line to run at regular speed or trs80gp -turbo -m1 -dx to run at the fastest speed your computer’s processor will allow.

The emulator is set up to bypass the MEMORY SIZE question and go straight to BASIC. If you do not want to bypass the MEMORY SIZE question, you will need to add -nlc to the command line to turn off the lower case driver. If you do want lower case, then type SYSTEM followed by ENTER and /0 followed by ENTER at the /? prompt, and you will restart back at MEMORY SIZE.

To mount a tape, both emulators will be GUI driven at this point, so:

TRS32
TRS80GP
Press F9 and choose your file.

You will also need to virtually push PLAY on the controls by hitting CTRL + F9 and then pressing PLAY.
Go to Cassette -> Insert and choose your file. Alternatively, if you wan to do this from the command line then you would use trs80gp -m1 -dx -c filename (or trs80gp -turbo -m1 -dx -c filename to run at turbo speed) where filename is the full filename of the image you wish to use, including 3 letter extension.

If you want to boot into DOS:

TRS32
TRS80GP
Press F6 and choose the disk image you want to boot.

Then hit SHIFT + F8 to cold reboot the emulator.
  • To run boot.dmk as a Model I disk: trs80gp -m1 -d0 boot.dmk
  • To run TRSDOS v1.3 as a Model I disk: trs80gp -m1
  • To run LDOS v5.3.1 as a Model I disk: trs80gp -m1 -ld
  • To run boot.dmk as a Model III disk: trs80gp -m3 -d0 boot.dmk
  • To run boot.dmk as a Model 4 disk: trs80gp -m4 -d0 boot.dmk
  • To run boot.dmk in drive 0 and data.dmk in drive 1 as a Model III disk:
    trs80gp -m3 -d0 boot.dmk -d1 data.dmk
  • To do any of the above at turbo speed (the fastest speed your computer can supply) make sure to add -turbo after trs80gp

Part 5 – Files and Extensions Primer

Non-DOS files are loaded from cassette and those files do not have extensions. Extensions are only for programs saved in DOS. Since the TRS-80 was a computer and not a video game console, people could name their files whatever they want. As a result, it is not possible to list every possible extension and what it might be. An extreme example would be someone who wanted to be very descriptive might choose a filename for the game of Chutes and Ladders as CHUTELAD/DER. There’s nothing wrong with this, except that it would be up to the user to know if this was a BASIC file, a SYSTEM file, etc. So the below are the COMMON extension names, and what to do about them (but even those aren’t cut and dried). The word filename is used to match whatever the filename at hand is.

BAS
A BASIC file. You need to be in BASIC to run this file. To enter BASIC from DOS, you would usually type the word BASIC, answer the questions that may come up. Once you are in BASIC and have the READY prompt, type RUN”filename/BAS”
(none)
A BASIC file or a DATA file. If its a BASIC file, you would usually type the word BASIC, answer the questions that may come up, and then type RUN”filename” except if using LDOS. If using LDOS, for some reason I still do not quite get, you would need RUN”filename/” instead.
ASC
A BASIC file stored in ASCII. Same instructions for a BASIC file, but using ASC. There is a chance you would might get an error if a line is too long (BASIC files are compressed in memory so they take less space on a line, ASCII files are not compressed, so they can exceed the amount of space allowed on a line)
CMD
A Machine Language file. In DOS you would type the filename. You do NOT need to add /CMD to run the file, but you do need /CMD to do anything else with the file (like copy it).
OVL
OV1
SYS
An Overlay file. Something needed by a program – You would never run this; it just needs to be present for other files.
CAS
For an Emulator file, this would be a cassette image. For a TRS-80 file, this would likely be a BASIC file but the person may have put /CAS to indicate that it is a cassette version of the software.
DSK
For an Emulator file, this would be a diskette image. For a TRS-80 file, this would likely be a BASIC file but the person may have put /DSK to indicate that it is a diskette version of the software.
DMK
For an Emulator file, this would be a diskette image.
JCL
BLD
A batch file. This file would contain a number of commands which are followed by the computer. Methods of running them vary from DOS to DOS, some of which include DO filename/BLD or CHAIN filename/JCL. Consult the manual for the specific DOS you are using to see how it runs batch files.
ASM
SRC
Assembly language source code. You cannot run this. To load, modify, save, compile, etc, you would need to use an Assembler program, such as Radio Shack’s Editor Assembler or Misosys’ EDAS.
LBR
An packed library – like a ZIP file. If a program required a bunch of other files (like OVL files, explained above), it may be distributed as a LBR so that all of its parts are present. You would need a program on the TRS-80 to unpack the file, and enough disk space to hold what is inside.
EXE
A Model I or III program ported to run on a Model 4. This requires use of the program EXEC to run the file.
CIM
A core image dump; kind of a cheat to just slam a program into memory. Usage is fairly complicated and very specific to each CIM file.
??Z
A file compressed by SQUEEZE. The first two letters (represented by ??) are the first 2 letters of what the extension would have been if it wasn’t compressed. You need to use an UNSQUEEZE program.

Part 6 – Some TRS-80 Basics

In case you do not remember how your TRS-80 works, here are a few commands to get you started:

Working in a NON-DOS Environment

  • In non-DOS, all you have a is a cassette or a .CAS file. Without additional tools, you will not know what is on it … or whether the next bit of data is a BASIC file, a SYSTEM file, or data. There are 2 current ways to figure that out:
    • You can upload the CAS file to Lawrence Kesteloot’s Web Site and it will tell you what is on the tape, what type of file it is, and the filename
    • When you mount the tape in TRS80GP, the CASSETTE pulldown menu will show you what is on the tape, the speed, and the filename.
  • To load a BASIC program: Type CLOAD and hit enter. When it is done you would type RUN.
  • To load a SYSTEM (machine language) program called filename: At the prompt you would type the word SYSTEM and hit enter. At the first *? prompt type in the filename (whatever it might be) and hit enter. At the second *? prompt, hit / and hit ENTER. If you do not know the filename you can use TRS80GP to show it to you (after you mount it, go back to CASSETTE and it will show you the filename and speed), you can use Lawrence Kesteloot’s site, or you can use any viewer and look at the file … it will be in the beginning.
  • NOTE: When loading, you should see two “*”‘s in the upper right corner, one of which blinks intermittently. Both TRS80GP and TRS32 will show a counter as the virtual tape moves forward. If the counters stop and you never get the appropriate prompt, then your load failed. On a real TRS-80, you would rewind the tape, change the volume setting, and try again. That does not apply to an emulator. If that happens on an emulator then either the CAS file is bad, you typed in the wrong filename, you were using the wrong speed file, or something else has gone wrong.

Working in a DOS Environment

  • To run a BASIC program called “FILE/BAS” in DOS BASIC: At the prompt you would type the word BASIC and hit enter to any prompts given to you. Once in BASIC you would type RUN”file/bas” and it will load and run.
  • To run a CMD program called “FILE/CMD” in DOS: At the DOS command line you would type FILE and hit enter.
  • To see a directory of drive 0: At the prompt you would type DIR :0
  • To see a directory of drive 1: At the prompt you would type DIR :1

Manuals

  • To read the NEWDOS/80 Manual click Here.
  • To download the Model I BASIC Manual click Here.
  • To download the Model III BASIC and TRSDOS Manual click Here.
  • To download the Model 4 BASIC and TRSDOS Manual click Here.
  • To download the LDOS and LSDOS Manual click Here.
  • To download the MULTIDOS Manual click Here.

Section 2 – You Know How to use an Emulator and Have Disk Images

Part 1 – Manipulating Disk Images

If you have disk images, such as disk images that I might have read for you, things get a little trickier. The various DOS’s in some cases cannot read each other and not every disk has a DOS on it. What makes things easier is to extract the contents of the disk image, and put it on a different disk image that you know will work with the DOS you want to use.

The best tool out there to manipulate disk images is a Windows utility called TRSTools, written by the author of TRS32. TRSTools can be downloaded here.

TRSTools is a Windows Explorer-like utility that makes it easier to work with virtual disk images. With TRSTools you can:

  • Drag and drop files to and from TRSTools and the Windows Explorer
  • Open an existing virtual disk image
  • Create a new virtual disk image
  • Add files to or extract files from the disk image (with file dates preserved)
  • Preview files (with integrated viewer)
  • Rename files
  • Delete files
  • Change the disk label and volume date

The integrated viewer is actually really powerful. If you make sure you select the the right thing in the dropdown box, you can view a BASIC file as ASCII (so you can just copy the ASCII straight out of the viewer and have the ASCII dump of a program), you can view a CMD file as a disassembly or as text, you can view a high res picture as the picture! And as mentioned above, these things will allow you to see if a program is corrupt or not, as corrupt files will not show as ASCII, Disassembly, or graphics.

TRSTools will also attempt to show you the PDRIVE of the disk if it was written on NEWDOS/80 and the DOS of the disk, under PROPERTIES.

Part 2 – A note to those who had disk images read by me

I have named each DMK according to the label of the disk so you know which is which. Damaged disks will have a code at the end in brackets such as [Tx-a b c d e, or Txsy-a b c d e, or Tx-Align]. These mean:

  • Tx-y: Track number x has bad sectors a, b, c, d, and e.
  • Txsy-z: Track number x on side y has z bad sectors a, b, c, d, and e. This would be for double sided disks.
  • Tx-Align: Track x reported a non-standard number of sectors, but reported it as a good read. An example would be if a Model III disk, which will ordinarily have 18 sectors per track, reports a single track as having 17 sectors without also reporting that one is missing!

In these cases, I would recommend using TRSTOOLS to look at each program on the disk. If you come across a /CMD file or a /BAS file which looks like junk, chances are that the file was corrupted because of the bad sector. For other types of files, it is just not possible to see if data is missing or corrupted by looking at them through TRSTools. If you are desperate to learn what file was corrupted, you can use SuperUtility to see what was on the bad sector. What I usually do is [1] Run DMKCheck on the DMK image, [2] configure SuperUtility for the appropriate DOS under item 9, and then [3] use the FILE LOCATIONS (Menu item 8 and then 7) to see what file was on the bad sector.

Section 3 – Did I miss anything

If you are new to emulation and you have questions I haven’t answered (that are not about how to work a TRS-80), please contact me and I will update this page.

Section 4 – I was asked to add HARD DRIVE support to this FAQ so …

Pick a directory you want to use to house your boot image and hard drive If it doesn’t exist, create it.

Next, download the Hard Drive Operating System v6.02.00 to that directory and unpack the ZIP file.

Next, rename “Hard Drive Operating System v6.02.00 (1984)(Logical System)[M4][Original][Set 1][Initialization].dmk” to “boot.dmk”.

The next steps are broken down by emulator of choice …

TRS32
TRS80GP
  • Double click on the TRS32 Icon to run the emualtor
  • Choose File -> Autostart
  • Choose boot.dmk and click OPEN
  • Hit F7 to choose a Hard Drive Image
  • Enter the hard drive filename you wish to use and click OPEN
  • Click the YES button to create the hard drive
  • Go to the directory where boot.dmk is located.
  • Type
    trs80gp -m4 -turbo -h harddrive.hdv -d0 boot.dmk

The rest of the steps are inside the emulator …

  • Enter the date
  • BASIC <ENTER>
  • RUN"HARDGEN/BAS" <ENTER>
  • Is your system ready? Y <ENTER>
  • How many floppy drives are connected? 4 <ENTER>
  • How many hard drives are connected? 1 <ENTER>
  • Serial Number: Enter a 5 digit number
  • Did you enter all the seial numbers? Y <ENTER>
  • Number of Megabytes: 10 <ENTER>
  • Press any key when ready to continue: <ENTER>
  • How many logical drives: 8 <ENTER>
  • How many floppy drives? 4 <ENTER>
  • Do you want to reserve a local drive? N <ENTER>
  • How many logical drives do you want to use? 1 <ENTER>
  • Do you want to change any value? N <ENTER>
  • Which Method do you Prefer? A <ENTER>
  • Press any key when ready to continue: <ENTER>
  • Do you want the hard disk to be the system device? Y <ENTER>
  • Is the configuration correct? Y <ENTER>
  • Enter the Disk Pack name? <ENTER>
  • Enter the Master Password? <ENTER>
  • To Proceed, type “YES”? YES <ENTER>

The emulator will start formatting and verifying when its done it will say press Enter. So … press <ENTER>.

After it’s done formatting the prompts and questions continue …

  • The system will tell you to swap disks. “Remove” the boot.dmk from :0 and add the other disk from the zip file to :0. Then hit <ENTER>.
  • The system will do some stuff and tell you to swap disks back. “Remove” the DOS you have as :0 and put boot.dmk as :0. Then hit <ENTER>.

At this point, if you start the emulator using trs80gp -m4 -turbo -h harddrive.hdv -d0 boot.dmk, you will have the hard drive as :0 and the boot disk as :4. You are then running your system off of the hard drive.