TRS-80 Model 1/III/4 Emulator v6.xx
Copyright � 1993, 2005 by David Keil


Contents:


Introduction:

These programs emulate the TRS-80 Model 1 and TRS-80 Model III/4 microcomputers popular in the early 1980s. The Model III emulator supports both Model III and Model IV modes.

The emulators are written in 80386 assembly language with a C++ front-end to provide a user friendly interface. All the TRS-80 emulation runs in assembly language for maximum speed. The start-up, configuration and virtual disk selection screens are written in C++.

The Model 1 emulator currently supports a complete TRS-80 Model 1configuration including:

The Model III/4 emulator currently supports a complete TRS-80 Model III/4 configuration including:

In addition to the standard TRS-80 configurations the emulators also support:

Version 6.xx of the emulators is the result of hundreds of hours of programming and there are still updates to be made and TRS-80 hardware to add support for. You are welcome to download a full working copy of the emulator without cost or obligation to experience the early 1980's again. I'm trusting you to decide if the program is worthwhile and that if you continue to use the emulator beyond an introductory period that you will send $10 US to:

David Keil
P.O. Box 143
Alma Center, WI 54611

Enjoy the emulator,

David Keil
dmkeil@discover-net.net
http://discover-net.net/~dmkeil/

 Return to contents: 


Installation:

Unzip the Model 1 emulator or Model III/4 emulator or both, program distribution zip into a directory. You should also download and unzip the support distribution zip into the same directory. If you don't have any virtual or real disks to boot go to the TRS-80 Disk Operating System Page to download an appropriate operating system virtual disk. Without a virtual disk the Model 1 & III/4 emulators will only be able to boot cassette BASIC.

The Model 1 distribution only contains the files unique to that emulator, all other support files for both emulators are in the support distribution zip.

To start the Model III/4 emulator type:

TRS80

To start the Model 1 emulator type:

TRS81

To boot a virtual disk push F9 to select a virtual disk, select disk #0 and push ENTER to select a virtual disk file, then highlight and push ENTER to select a virtual disk, then push F10 to re-boot the emulator with the virtual disk just selected.

To boot cassette BASIC push and hold ESCAPE (break) and push F10 (reset).

Return to contents: 


Command line options:

The emulator has two types of command line options. The option is to select a configuration file to use. This option is in the form:

TRS80 /@filename

replace filename with the name of the configuration file you wish to use. If the config file doesn't already exist it will be created. If you don't enter a /@ option then the filename defaults to TRS80.CFG (TRS81.CFG for the Model 1 emulator). All configuration changes and virtual disks you have selected are saved in this file when you exit the emulator. When you restart the emulator again using the same configuration name the emulator's configuration is loaded from this file. The Model 1 and III/4 emulator configuration files are not compatible, do not boot one emulator with the other's configuration file.

The other command line option is the virtual disks your want opened. You may enter up to 4 virtual disks on the command line. The default path is the same path that the emulator is found in or you can include a path to override the default path. Any filenames not found will result in the corresponding virtual disk drive being empty. Virtual disks entered on the command line will override a virtual disk specified in the configuration file.

There are also several options for virtual disk filenames entered on the command line.

Return to contents: 


Operation:

Once you have started the emulator operation is for the most part exactly like operating a real TRS-80 Model 4 micro-computer. However, because there are no physical drives, floppies, reset & power switches and the need for configuration options and other enhancements beyond a normal TRS-80 there are additional operation information the user will need to understand in order to use the emulator effectively.

Return to contents: 


Operation - ROM Images:

The emulators come with various Model 1, III & 4 ROM images. The ROM image loaded at emulator startup depends on which "Computer Type" is configured in the "Configuration Screen".

The computer type selected in the Model III/4 emulator effects the hardware emulation as well as the ROM images loaded. When the emulator is booted in Model III mode none of the Model 4 hardware is available. This means that Model 4 operating systems won't boot in Model III mode.

The Model 4P ROM image that is included is NOT the ROM found in a real TRS-80 4P, it is a minimum boot ROM written by "Pete Cervasio". Therefore, in order to achieve full 4P emulation the user will need to obtain a real 4P ROM image.

Return to contents:


Operation - The emulator keyboard:

The emulator has two keyboard layouts. Layout one is the PC layout where each PC key is translated and send to the emulator as labeled on the PC. Layout two is the TRS-80 layout where each PC key sent according to the relative position on a real TRS-80 keyboard. The best way to understand the difference is. In the PC layout a shift-2 will cause an '@' to be entered in the emulator. In the TRS-80 layout a shift-2 will cause a double quote to be entered. Most of the time the user will want to run the emulator in the PC layout since the values labeled on the PC key is what is sent to the emulator. However, some TRS-80 programs require key combinations using the few keys that get re-mapped and will not work with the translated layout. This is when the user would use the TRS-80 layout. 

ESCAPE TRS-80 break key
F1, F2, F3 Mapped to keys of the same name on the Model 4
(F1 works as Electric Pencil control key on Model 1 and III/4)
Control Mapped as Electric Pencil control key on Model 1 and as control on Model III/4.
' The `/~ key pushed un-shifted is the same as shift-@ on real TRS-80 keyboard
F4 & Page-Down TRS-80 clear key
F5 Hot-key to bring up system configuration screen
Shift-F5 Suspend emulator and drop to a DOS prompt.
F6 Hot-key to force a change in the emulator CPU speed.
Shift-F6 Lock the CPU speed. Locking the CPU speed prevents the TRS-80 operating systems from changing the CPU speed.
F7 Hot-key to save a snapshot of the TRS-80 program currently running
Shift-F7 Hot-key to:
  • load a snapshot of a saved TRS-80 program
  • load and execute a /CMD file from a PC directory
  • load a /CMD file from a PC directory
F8 Hot-key to stop Wave file recording, start or re-start playing recorded Orchestra 85/90 music
Shift-F8 Hot-key to stop playing recorded Orchestra 85/90 music
F9 Hot-key to bring up the virtual floppy drive status screen
Shift-F9 Hot-key to bring up the virtual hard drive status screen
F10 TRS-80 reset key
Shift-F10 Exit the emulator (like the TRS-80 power switch)
F11 Hot-key to bring up the virtual cassette control screen
Shift-F11 Hot-key to bring up the Audio/Wave cassette control screen
F12 Stop the Z80 CPU and display Z80 registers on status line.
Each time F12 is pushed the CPU executes one Z80 instruction (single step mode).
Shift F12 Stop the Z80 CPU and display Z80 registers on status line.
Pushing when the CPU is stopped will re-start the CPU (ends single step mode).
Insert / Home / Page-Up / Delete / End The [0],[ : *], [- =], [; +] & [@]
These TRS-80 keys are re-mapped on these PC keys to eliminate some of the problems with translating the PC layout. For example, for programs that don't recognize caps-lock and use shift-0 as cap-lock instead, the user can use shift-Insert to enter the shift-0 key combination.
Caps-Lock Works like Shift-0 in the Model 1 emulator and as Caps-Lock in the Model III/4 emulator.

When the keyboard is in 'PC' mode the keys not defined above send keystrokes to the emulator corresponding to the character labeled on the PC's keyboard. The following are a few exceptions.

When the keyboard is in 'TRS80' mode the keys not defined above send keystrokes to the emulator corresponding to its relative location on a TRS-80 keyboard. In most cases this is the same character labeled on the PC's keyboard. The following are some of the major differences.

The following conditions apply to both keyboard modes.

Return to contents: 


Operation - The emulator display screen:

The emulator operates in 640x480x16 VGA mode. The Model 1 emulator and the Model III/4 emulator in Model III mode use the center of the PC screen with a border drawn around it to show the limits of the TRS-80 64x16 display area. The Model III/4 emulator in Model 4 mode uses the entire display screen (80x24).

At the bottom of the display screen is a status line. The four boxes on the left represent the 4 floppy drive select lights. Between drive lights 1 and 2 is the track number of the currently selected drive. Following the drives lights is where is cassette counter is displayed. approximately in the center of the screen is the CPU speed. The available speeds are 1, 2 or 1.77, 4, 8 and turbo. The turbo speed is represented by a question mark. If the MHZ messages is in reverse-video the the speed is locked. If the RS-232 interface is enabled then the RS-232 status indicators are displayed following the CPU speed. The 8 lights correspond to RX, TX, DTR, RTS, CTS, DSR, CD & RI. The four boxes on the left represent the 4 hard drive access lights. Between drive lights 1 and 2 is the cylinder number the hard drive is currently accessing.

When the CPU is in single step mode the section of the status line following the speed is the Z80 register display. The Z80 registers PC AF BC DE HL IX IY SP are displayed here.

When in model 4 mode the status line is within the TRS-80 display area. This status line is in background to prevent it interfering with data on the TRS-80 display. If the Status line does interfere however it can be turned off in the configuration screen.

Return to contents: 


Operation - The virtual floppy disk selection screens:

As documented in a preceding chapter virtual floppies may be entered on the command line at startup. Since the user can only enter the 4 virtual floppies to be assigned to the 4 emulated drives a way to remove, insert and create new virtual floppies from within the emulator was needed. The virtual disk selection screens are for that purpose. In fact these screens eliminate the need for the command line entry method entirely.

To bring up the first of the selection screens push the F9 key. The emulator display screen will be replaced by the virtual drive status screen. This screen displays the 4 floppy drives and shows if a disk is inserted, what the virtual disk's name is and if the virtual disk is write protected.

Here is a table of the functions available once the drive status screen is displayed: 

Tab & arrow keys Change which drive is selected. The selected drive's drive number is in reverse video.
0 - 3 Selects the drive corresponding to the number pushed
Escape or F9 Return to the emulator.
F10 Re-boot and return to the emulator. This function is most often used when the disk in drive #0 is changed in order to boot the new system disk upon return to the emulator (the user can also use F9 to return to the emulator and then push F10 to re-boot).
Enter Insert or change the virtual floppy inserted in the currently selected virtual drive. This key will bring up the virtual disk selection screen. A virtual drive that has a virtual floppy inserted will have it's door closed and will display the virtual floppy's filename.
Insert Insert or change the virtual floppy inserted in the currently selected virtual drive. This will bring up a box where the user can enter the virtual disk file to be mounted. Enter a filename or path+filename with or without an extension. By default the file will be loaded from the current default drive path (shown when selecting virtual disks), with a default extension of .DSK.
Delete Remove the virtual floppy from the currently selected virtual drive (this function does not delete the virtual floppy file).
Home Toggle the write protect status of the virtual floppy in the currently selected virtual drive. If a virtual floppy is write protected then the virtual floppy's filename is displayed in reverse video.
End Toggle the writing of Model 1 compatible address marks when writing in single density. The floppy's filename will be displayed in red when in Model 1 compatibility mode. (Model III/4 emulator only)

If the user pushes [Enter] to insert a virtual floppy in a drive the drive status screen will be replaced by the floppy disk selection screen.
Here is a table of the functions available once the floppy disk selection screen is displayed: 

Arrow keys Change which filename is highlighted.
Enter, JV[1] or JV[3] If a virtual floppy filename is highlighted then that disk will be mounted and the drive status screen will return showing the new floppy mounted or an error message. 
If [Enter] is pushed the emulator will try to determine if the virtual floppy is in the emulator's native format or in JV3 format and open the file accordingly. 
If [1] is pushed the emulator will assume the virtual floppy is in JV1 format (pushing [1] is the only way to open a JV1 type virtual disk) 
If [3] is pushed the emulator will assume the virtual floppy is in JV3 format.
If a sub directory is highlighted then that directory is opened and it's contents are displayed according to the current search file spec. (the [..] directory will backup one sub-directory
[C]reate Allows the user to create a new virtual floppy. After pushing [C] the user will be prompted for a filename. The file will be created in the currently displayed directory. The default file extension is .DSK but the user can override this. 
After entering a valid filename the user will be prompted for 2 more parameters.
 
  • [S]ingle or [D]ouble density? The default is double.

Note: if double is selected the floppy can actually be formatted either single or double density. If single is selected the floppy can only be formatted single density. This option is to save space only. 

  • [S]ingle or [D]ouble sided? The default is double.

Note: if double is selected the floppy can actually be formatted either single or double sided. If single is selected the floppy can only be formatted single sided. This option is to save space only.

Pushing [Enter] for the above prompts will accept the default. Pushing [Escape] at any of the above prompts will abort the creation process. 

After entering the above information, if the file doesn't exist, it will be created. Then that disk will be mounted and the drive status screen will return showing the new floppy mounted or an error message if the file was unable to be created. 
If the file does exist then the user will be prompted whether the user wishes to overwrite it. If the user answers yes the file will be created as above, all data currently on the virtual floppy will be lost. If you answer no then the floppy's creation is aborted.
[D]rive Allows the user to enter a new PC drive to select a virtual floppy from. After pushing [D] the users will be prompted to enter a new drive letter. Enter a letter A-Z or nothing to leave the drive unchanged.
[S]earch Allows the user to enter a new search file spec. The default file spec is [*.DSK]. After pushing [S] the user will be prompted to enter a new search file spec. Wildcards are allowed. Enter nothing to leave the search file spec unchanged.

 
Be careful not to select non-virtual floppy files to mount, doing so could cause the file selected to be corrupted.

Type JV1 virtual disk files must be mounted by pushing [1] when selecting. This type cannot be determined automatically.

The current path and file spec being displayed is shown at the top of the screen.

Virtual floppies cannot be deleted from within the emulator. The user must delete files from the MSDOS prompt or windows.

Return to contents:


Operation - The virtual hard disk selection screens:

The emulators support hard drives in two ways. Method one is through special instructions and drivers, like EHARD/DCT, that are custom written for use with this and other emulators. The second method is by emulating the actual hardware of a WD1010 hard disk controller. The second method is new for v5.5 of the emulators and will be discussed here. Method one will be discussed in a later chapter.

Emulating the actual hardware allows the emulator to use the same hard disk drivers that are used on an actual TRS-80, no special drivers need to be written. This allows other TRS-80 DOSs to support hard disks other than LDOS & LS-DOS, currently the only DOSs with emulator hard disk support in any emulator. Virtual disks selected on these screens are accessed with standard TRS-80 hard disk drivers.

The emulators can support up to 4 hard drives. Each drive can be up to 1024 cylinders and 8 heads. This allows support of up to a 67meg hard drive. Most DOSs cannot support a single drive this large but support partitioning of a single hard drive into smaller logical drives. This feature and all other features of real hard drives are supported by the emulator but in general are not needed and should not be used to maintain compatibility with EHARD and other emulator's virtual hard disk support.

Since real TRS-80s don't allow changing of mounted hard drives a TRS-80 user desired as large a hard drive as possible and partitioned it into many logical drives for use with all their DOSs. The emulator however can change hard drives on the fly just like floppy disks. This allows creating many virtual hard drives each with its own DOS. Since LS-DOS is limited to a drive with 203 cylinders & 8 heads (or 406 cylinders and 4 heads) an LS-DOS virtual drive should not be created larger than this maximum. Further, since LS-DOS can only store 254 files on a hard drive, and it is doubtful that 254 files would require 15megs of space, smaller hard drives would probably be more desirable.

Since the user can only have 4 virtual hard disks mounted at a time (2 with some drivers) a way to remove, insert and create new virtual hard disks from within the emulator was needed. The virtual hard disk selection screens are for that purpose.

To bring up the first of the selection screens push the Shift-F9 key. The emulator display screen will be replaced by the virtual drive status screen. This screen displays the 4 hard drives and shows if a disk is inserted, what the virtual disk's name is and if the virtual disk is write protected.

Here is a table of the functions available once the drive status screen is displayed: 

Tab & arrow keys Change which drive is selected. The selected drive's drive number is in reverse video.
0 - 3 Selects the drive corresponding to the number pushed
Escape, F9 or Shift-F9 Return to the emulator.
F10 Re-boot and return to the emulator. This function is most often used when the disk in drive #0 is changed in order to boot the new system disk upon return to the emulator (the user can also use F9 to return to the emulator and then push F10 to re-boot).
Enter Insert or change the virtual hard disk inserted in the currently selected virtual drive. This key will bring up the virtual disk selection screen. A virtual drive that has a virtual hard disk inserted will display the virtual disk's filename.
Insert Insert or change the virtual hard disk inserted in the currently selected virtual drive. This will bring up a box where the user can enter the virtual disk file to be mounted. Enter a filename or path+filename with or without an extension. By default the file will be loaded from the current default drive path (shown when selecting virtual disks), with a default extension of .HDV.
Delete Remove the virtual disk from the currently selected virtual drive (this function does not delete the virtual hard disk file).
Home Toggle the write protect status of the virtual hard disk in the currently selected virtual drive. If a virtual disk is write protected then the red 'Write Protect' light is on.

If the user pushes [Enter] to insert a virtual floppy in a drive the drive status screen will be replaced by the floppy disk selection screen.
Here is a table of the functions available once the floppy disk selection screen is displayed: 

Arrow keys Change which filename is highlighted.
Enter If a virtual hard disk filename is highlighted then that disk will be mounted and the drive status screen will return showing the new floppy mounted or an error message. 
If a sub directory is highlighted then that directory is opened and it's contents are displayed according to the current search file spec. (the [..] directory will backup one sub-directory
[C]reate Allows the user to create a new virtual floppy. After pushing [C] the user will be prompted for a filename. The file will be created in the currently displayed directory. The default file extension is .DSK but the user can override this. 
After entering a valid filename the user will be prompted for 2 more parameters.
 
  • Enter number of heads for XXXXXXXX.HDV (1-8)?

A virtual hard drive can have 1 to 8 heads. The number entered here MUST match the number used when installing the DOS drivers. This parameter and that of the driver not matching will result in wasted space or an unreadable hard disk.

  • Enter number of cylinders for XXXXXXXX.HDV (10-1024)?

A virtual hard drive can have 10 to 1024 cylinders. The number entered here MUST be greater than the largest cylinder number used when installing the DOS drivers. This value limits the size of the virtual hard drive and prevents the file from expanding beyond the desired size.

Pushing [Enter] for the above prompts without entering a value will abort the creation process. 

After entering the above information, if the file doesn't exist, it will be created. Then that disk will be mounted and the drive status screen will return showing the new disk mounted or an error message if the file was unable to be created. 
If the file does exist then the user will be prompted whether the user wishes to overwrite it. If the user answers yes the file will be created as above, all data currently on the virtual disk will be lost. If you answer no then the hard disk's creation is aborted.
[D]rive Allows the user to enter a new PC drive to select a virtual disk from. After pushing [D] the users will be prompted to enter a new drive letter. Enter a letter A-Z or nothing to leave the drive unchanged.
[S]earch Allows the user to enter a new search file spec. The default file spec is [*.HDV]. After pushing [S] the user will be prompted to enter a new search file spec. Wildcards are allowed. Enter nothing to leave the search file spec unchanged.

 The current path and file spec being displayed is shown at the top of the screen.

Virtual hard disks cannot be deleted from within the emulator. The user must delete files from the MSDOS prompt or windows.

If no virtual hard disks are mounted the WD1010 HDC is disabled.

Return to contents:


Operation - The virtual cassette control screen:

The TRS-80 emulator supports 250, 500 and 1500 baud virtual cassette tapes (250 baud only in the Model 1 emulator, 1500 only in the Model III/4 emulator). Support is at the hardware level so any program that reads or writes to cassette should be supported. The emulator does not use ROM traps to provide cassette support so even Model 4 mode cassette routines will work. Because the virtual cassette works exactly like a real cassette it takes the same amount of time to CSAVE a file in the emulator as it does on a real TRS-80. So now, not only can you run cassette based programs with the emulator you can also experience the incredible speed of cassette based I/O. In fact my next feature will be a tape drive volume control you have to adjust (different every time) to get your programs to load. This will be for those users who miss the joy of loading a 32k program and have it error 99% of the way through, there's a feature I really miss. Actually the virtual tape drive, unlike a real one, will work without error 100% of the time, but for those who want a 100% accurate emulation I'll be happy to add the previously described feature..

To save PC disk space the emulator converts the analog data output to the cassette port to digital bits and then stores them to disk serially. Because the emulator does this conversion the user must specify what baud rate is going to be written to the tape. Selecting the wrong baud rate will write gibberish to the virtual cassette file or prevent the loading of virtual cassette data. Also because the cassette signals are converted to digital form for saving 250 & 500 baud cassette files are usually readable with a PC hex editor. The 250 & 500 baud format saves a byte in 8 bits so as long as the first bit saved by the TRS-80 is also the first bit written by the emulator the file will be byte aligned and therefore readable. The 1500 baud format saves a byte in 9 bits so a virtual cassette file will always look like gibberish, the only data recognizable will be the 256 bytes of 55 hex headers.

To bring up the cassette control screen push the F11 key. The emulator display screen will be replaced by the virtual cassette control screen. This screen displays a CCR-81 cassette recorder and shows if a tape is inserted, what the virtual tape's name is, the baud rate, the tape counter (current byte offset in virtual cassette file) and whether the cassette is stopped or in record/play mode.

Here is a table of the functions available once the cassette control screen is displayed: 

Escape or F11 Return to the emulator
Insert or Enter Insert or change the virtual cassette mounted in the tape drive. This will bring up a box where the user can enter the virtual cassette file to be mounted. Enter a filename or path+filename with or without an extension. By default the file will be created in the current default drive path (shown when selecting virtual disks), with a default extension of .CAS. If the file entered does not exist it will be created.
Delete or [E]ject Removes the virtual cassette file from the tape drive.
[R]ecord Puts the tape drive in record mode (for saving TRS-80 data).
[P]lay Puts the tape drive in play mode (for loading TRS-80 data).
[S]top Stops the tape drive. The user must stop the tape drive before they can change from play to record or vice versa.
[W]rite Write 10 bytes of blank tape. It's a good idea to put a little blank space between cassette files, it's also handy for aligning the next file to be saved to an even byte count. The write command is like pulling the remote plug out on a real TRS-80 tape drive to record a bit of blank tape between files on a cassette. 
This function only works when the recorder is in record mode.
[B]aud Toggle baud rate between available rates.
(250/500 Model 1, 500/1500 Model III/4)
[F]orce motor on Toggle whether the cassette motor is always on or controlled by TRS-80 software. Forcing the motor on is like pulling out the remote cable on a real cassette drive. (with the motor forced on the cassette will continue to play forever when in play mode)
Left arrow Rewind the cassette 10 bytes.
Right arrow Fast forward the cassette 10 bytes (you cannot advance past end of the virtual cassette file).
Up arrow Rewind the cassette 100 bytes.
Down arrow Fast forward the cassette 100 bytes (you cannot advance past end of the virtual cassette file).
Home Rewind the cassette to the beginning.
End Fast forward the cassette to the end (ideal for adding a new file to an existing virtual cassette).

A virtual cassette file works much like a real cassette tape. If you rewind a virtual cassette to the beginning and record a file, that file will overwrite any data already stored in that area. The data beyond where the cassette stopped however is not overwritten. If you wrote a file from 0-500 on the counter and another from 1000-1500 and then rewound the tape and wrote a new file from 0-800 the file from 1000-1500 would still be there. Unlike a real cassette however as you write beyond the end of an existing virtual cassette the file will automatically grow. A single virtual cassette could easily contain over a megabyte of files. A virtual cassette file will always expand to hold the data written to it, it will never shrink. The only way to reduce the size of a virtual cassette file that has become to big to manage is to delete the file from MSDOS.

Unlike a real tape drive the counter is absolutely accurate. The counter actually shows the position the next byte will be written to or read from within the virtual cassette file. To read a file written from 1000-??? you fast forward to 1000, the data will start exactly where it was written (wouldn't have this been nice with real tape drives).

Just like a real tape deck data will only be saved when a program turns on the tape drive motor. The emulator will turn on the motor when a program uses the Model I or Model III motor control bit so all cassette based programs should work. Since some programs don't turn off the tape and some programs aren't careful about modifying unused bits and also since cassette emulation adds lots of overhead to the emulator and it won't produce cassette sound while in record mode, you should always stop the tape drive when you finish saving or loading data (if you notice the tape counter running while playing a game, you forgot to stop the tape drive).

Unlike the real thing you can be running at 4mhz or 8mhz speed when you save to tape. This way, if you save while operating at 8mhz a CSAVE or CLOAD will be 4 times faster. Since the TRS-80 operating system will in most cases try to set the speed to 2mhz you will not be able to save in the higher speeds unless you have the TRS-80 set the speed or set and lock the speed. For example, in BASIC use the command poke 16912,192 to set the speed to 8mhz and then CSAVE or CLOAD.

During saving or loading of data a counter will be displayed on the status line. It displays how many bytes that have been read from or written to the cassette. If you start to load a program and the counter doesn't start then check the cassette control screen to be sure a cassette is loaded, in play mode and at the matching baud rate. You can start the tape drive after you give a load command (like CLOAD) and the program will start loading when you return to the emulator screen. If however you go to the cassette control screen (or do any emulator control functions) while a program is saving or loading data the data will be corrupt or you'll get a load error. The tape drive must be in record mode before you execute any cassette write I/O (just like the real thing).

Note: I have found that using BREAK to abort cassette I/O functions on the Model III works properly only when running in cassette BASIC. Erratic behavior after aborting cassette operations is not a problem with the emulator, a real TRS-80 has the same kind of problems, depending on the DOS. I have tested this on my real TRS-80.

Return to contents:


Operation - The Audio/Wave cassette control screen:

The TRS-80 emulator supports the direct loading of TRS-80 cassette tapes using the Line-Input on a compatible sound card and the saving and loading of cassette port sound to Windows compatible Wave files. The emulator can also load Wave files of program tapes made by Windows sound utilities. The emulator can record and load Wave files even in PC systems without compatible sound cards. Cassette sound files made by the emulator are 23000 samples/sec 8bit mono. A file created using Windows programs must have saved the Wave file at 23000 samples/sec 8bit mono also in order for it to be loaded by the emulator.

Unlike the virtual cassette record the audio/wave recorder doesn't have a baud rate option since the actual audio is recorded instead of being translated to binary data for saving. This also means that files saved using the audio/wave recorder will be huge compared to those saved using the virtual recorder (over 1meg per minute). The audio/wave recorder can also record any TRS-80 cassette port sound (unlike the virtual record), even music and game program sound effects. During the recording of cassette port sound the emulator will still play sound using the PC speaker if sound is enabled.

To bring up the cassette control screen push the Shift-F11 key. The emulator display screen will be replaced by the audio/wave cassette control screen. This screen displays a CCR-81 cassette recorder and shows if a tape is inserted, what the virtual tape's name is, the tape counter (current second offset in wave cassette file) and whether the cassette is stopped or in record/play mode. If no tape is inserted and a compatible sound card is available the words "SB Audio Input" will be displayed in the cassette tape area.

Here is a table of the functions available once the cassette control screen is displayed: 

Escape or F11 Return to the emulator
Insert or Enter Insert or change the virtual cassette mounted in the tape drive. This will bring up a box where the user can enter the Wave cassette file to be mounted. Enter a filename or path+filename with or without an extension. By default the file will be created in the current default drive path (shown when selecting virtual disks), with a default extension of .WAV. If the file entered does not exist it will be created.
Delete or [E]ject Removes the Wave cassette file from the tape drive.
[R]ecord Puts the tape drive in record mode (for saving TRS-80 cassette port output to file).
[P]lay Puts the tape drive in play mode (for loading TRS-80 data).

If no tape is loaded but the words "SB Audio Input" are displayed in the tape area, pushing play will allow input from a real cassette player connected to the Line-Input of the PC's sound card.

[S]top Stops the tape drive. The user must stop the tape drive before they can change from play to record or vice versa.
[F]orce motor on Toggle whether the cassette motor is always on or controlled by TRS-80 software. Forcing the motor on is like pulling out the remote cable on a real cassette drive. (with the motor forced on the cassette will continue to play or record forever when in play mode)
Left arrow Rewind the cassette 1 seconds.
Right arrow Fast forward the cassette 1 seconds (you cannot advance past end of the Wave cassette file).
Up arrow Rewind the cassette 10 seconds.
Down arrow Fast forward the cassette 10 seconds (you cannot advance past end of the virtual cassette file).
Home Rewind the cassette to the beginning.
End Fast forward the cassette to the end (ideal for adding a new file to an existing Wave cassette).

A wave cassette file works much like a real cassette tape. If you rewind a wave cassette to the beginning and record a file, that file will overwrite any data already stored in that area. The data beyond where the cassette stopped however is not overwritten. If you wrote a file from 0-10 on the counter and another from 10-15 and then rewound the tape and wrote a new file from 0-8 the file from 10-15 would still be there. Unlike a real cassette however as you write beyond the end of an existing wave cassette the file will automatically grow. A single wave cassette could easily contain hours of cassette port sound. A wave cassette file will always expand to hold the data written to it, it will never shrink. The only way to reduce the size of a wave cassette file that has become to big to manage is to delete the file from MSDOS.

Unlike a real tape drive the counter is absolutely accurate. The counter actually shows the position the tape within the wave cassette file in seconds. To read a file written from 10-?? you fast forward to 10, the data will start exactly where it was written (wouldn't have this been nice with real tape drives).

Just like a real tape deck cassette port sound will only be saved when a program turns on the tape drive motor. The emulator will turn on the motor when a program uses the Model I or Model III motor control bit so all cassette based programs should work. Since some programs don't turn off the tape you should always stop the tape drive when you finish saving or loading data (if you notice the tape counter running while playing a game, you forgot to stop the tape drive). If you want to save music or game sound effects you will probably need to remove the remote plug to force the cassette recorder motor on.

Unlike the real thing you can be running at 4mhz or 8mhz speed when you load or save to tape (you cannot do this if you are loading directly from the SB Line-Input). This way, if you save while operating at 8mhz a CSAVE or CLOAD will be 4 times faster. Since the TRS-80 operating system will in most cases try to set the speed to 2mhz you will not be able to save in the higher speeds unless you have the TRS-80 set the speed or set and lock the speed. For example, in BASIC use the command poke 16912,192 to set the speed to 8mhz and then CSAVE or CLOAD.

During saving or loading of data a counter will be displayed on the status line. It displays how many seconds that have been played from or recorded to the cassette. If you start to load a program and the counter doesn't start then check the cassette control screen to be sure a cassette is loaded and in play mode. You can start the tape drive after you give a load command (like CLOAD) and the program will start loading when you return to the emulator screen. If however you go to the cassette control screen (or do any emulator control functions) while a program is saving or loading data the data will be corrupt or you'll get a load error. The tape drive must be in record mode before you execute any cassette write I/O (just like the real thing).

To improve cassette tape loading the emulator looks for data in a special way. If a real tape won't load try reversing the polarity of the Line-Input signal (reverse the wires). It is also best to use a MONO recorder or only one channel of a stereo recorder.

Return to contents:


Operation - The configuration screen:

The emulator has many user selectable options. These options can be viewed and changed from the configuration screen. When the emulator is started for the first time and when a configuration file is specified on the command line for the first time, a .CFG file is created and initialized with default values. If no configuration file is specified at startup the default configuration [TRS80.CFG or TRS81.CFG] is used.

To bring up the configuration screen push the F5 key. The emulator display screen will be replaced by the configuration screen. This screen displays all the user changeable configuration options.

Here is a table of the functions available once the configuration screen is displayed: 

Up & Down arrow keys Change the option that is highlighted.
Left & Right arrow keys Toggle the highlighted option through the possible options.
Home & End keys Highlight the first and last options respectively
Enter Enter a filename if the highlighted option requires a filename.
Escape Abort any changes made to options and return to the emulator.
F5 Save changes made to options and return to the emulator.

Here is a table of the available configuration options and their possible values: 

Sound Device
  • Disabled (default)
  • Recording enabled
    Setting this option enables the recording of Orchestra 85/90 music & cassette port sound to Wave files without enabling a sound card. A compatible sound card is not required to enable this option.
  • SoundBlaster Pro (also supports most compatible sound cards)
    Sound output is in Mono. Also enables Wave file & Orchestra 85/90 recording.
  • SoundBlaster 16/32
    Sound output is in Stereo. Also enables Wave file & Orchestra 85/90 recording.

Changing this option doesn't take effect until the next time you start the emulator.

Sound
  • Disabled (default)
  • PC Speaker
  • SoundBlaster
VS-100
  • Disabled (default)
  • Enabled

The VS100.DAT file must also be available in the emulators default directory.

Orchestra-85 
Orchestra-90
  • Disabled (default)
  • Direct (will play music directly using the current sound option)
  • Record Mono or Record Stereo
    • Will record music to a PC Wave file.
    • If a SoundBlaster card is enabled then the Wave file will be played back when recording is completed.

Push the F8 key to stop recording and begin playing file or to close the Wave file if no sound card is enabled..

Orchestra Record Filename Enter the filename that Orchestra 85/90 music recording should use.
Printer
  • None (default)
  • LPT1
  • LPT2
  • LPT3
  • PC File
PC Printfile filename Enter the filename that print should be sent to when 'PC file' is selected for printer.
LF after CR
  • Disabled (default)
  • Enabled

TRS-80 printers automatically did LF's after receiving CR's, PC printer's don't. To prevent every line sent to a PC printer from printing over the previous line enable this function. 
Note: when printing hi-res graphics (like Epson) this option must be disabled and the PC printer set to do LF's after CR's to produce accurate printouts.

Joystick
  • Disabled (default)
  • Enabled

If you have a DOS compatible joystick connected to your PC the analog and button values will be available in ports 60h-64h. Also, by default, pushing the joystick to the four extreme directions will cause the 4 arrow keys to be input into the emulator. Buttons 1 & 2 will enter space.

Due to added overhead required to read joystick values, this setting should be disabled unless a joystick is being used.

RS-232
  • None (default)
  • COM1
  • COM2
  • COM3
  • COM4

Due to added overhead required to handle RS-232 communications, this setting should be set to 'None' whenever RS-232 communications aren't being used.

Baud
Word
Stop
Parity
These four values are used to emulate the RS-232 sense switches in the Model 1 emulator. The values entered form the byte that is returned by reading port E9h. The values entered DO NOT program the UART but are instead used by some Model 1 communication software to determine the desired user settings.

(Model 1 emulator only)

Character Set The Model 1 fonts are:
  • Early (very early Model 1 font)
  • Later (the font found in most Model 1's)
  • Lowercase (font installed with lowercase upgrade) (default)

The Model III/4 fonts are:

  • Early (the Model III and early Model 4 character set)
  • Later (the Later Model 4 character set)
  • PC (the early character set with the PC line draw characters replacing the Kanji)

Changing this option doesn't take effect until the next time you start the emulator.

Keyboard Layout
  • PC (keys sent as labeled on the PC keyboard) (default)
  • TRS-80 (keys sent according to their position relative to a real TRS-80 keyboard)
Computer Type The Model 1 types are:
  • Level I BASIC
  • Level II BASIC
  • Level II & EI (default)

The Model III/4 types are:

  • Model III
  • Model III & FDC
  • Model 4
  • Model 4 & FDC (default)
  • Model 4P

Changing whether or not the EI or FDC is enabled takes effect immediately.
If the EI or FDC was disabled the emulator will re-boot upon exit from the configuration screen.

Changing from one computer type to another doesn't take effect until the next time you start the emulator.

Computer Memory The memory options available in the Model 1 emulator are:
  • 4k memory (The EI won't be enabled if 4k memory is selected)
  • 16k memory
  • 32k memory
  • 48k memory (default)

The Memory options available in the Model III/4 emulator are:

  • 16k memory
  • 32/64k memory
  • 48/64k memory
  • 48/128k memory (default)

The first value is the amount of memory in Model III mode, the second value is amount of memory in Model 4 mode.
If the emulator is in Model 4P mode the 16k option will give 64k instead.

Memory changes do not take effect until the next time you start the emulator.

Hi-res Graphics
  • Disabled (default)
  • Radio Shack
  • Micro-Labs

(Model III/4 emulator only)

Lowercase Option
  • Uninstalled
  • Installed (default)

(Model 1 emulator only)

Enhanced Fonts
  • Disabled (default)
  • Enabled

If the lowercase option is installed and this option is enabled, C0h to FFh will display the Model III special characters in the Model I emulator.

(Model 1 emulator only)

Mouse
  • Disabled (default)
  • Old Style
  • New Style

The mouse supports port mapped I/O and driver I/O. For port mapped I/O and the EMOUSE2 driver, style doesn't matter. When using software that uses the EMOUSE1 driver and the mouse is unstable then select the other style.

Forground Color
  • R - xx (values 0-15)
  • G - xx (values 0-15)
  • B - xx (values 0-15)

The default value is R-08 G-08 B-08 (low intensity white) 
Use the right & left arrows to increase and decrease the amount of each of the colors RED, GREEN & BLUE in the emulator foreground color.

Background Color
  • R - xx (values 0-15)
  • G - xx (values 0-15)
  • B - xx (values 0-15)

The default value is R-00 G-00 B-00 (black) 
Use the right & left arrows to increase and decrease the amount of each of the colors RED, GREEN & BLUE in the emulator background color.

Status Line & Border
  • Disabled
  • Status Line
  • Status & Border (default)
Virtual Hard Drives
  • Model III Mode
  • Model IV Mode

This option selects which set of hard drive device filenames are displayed. 
(Model III/4 emulator only)

Floppy Interface
  • Standard (default)
  • Radio Shack Doubler
  • Percom Doubler
  • Both

(Model 1 emulator only)

Device #x Filename Enter the filename that the hard drive on device #x in the displayed mode should use. 
Note: hard drives entered here are only supported by the EHARD/DCT driver and has only been tested with TRSDOS 6.x, LDOS 5.31 and LS-DOS 6.31.

Changing this option doesn't take effect until the next time you re-boot the emulator.

Return to contents: 


Operation - Saving and loading snapshots :

The TRS-80 emulator can save a snapshot of the TRS-80 environment. This snapshot can be loaded later to restore the TRS-80 environment to the previously saved state. This means that you can be running a TRS-80 program, save a snapshot, exit the emulator and even shut down you PC. Then at a later time restart the emulator, load the snapshot and continue running the program exactly where you left off.

This function is great for games that don't have a save game feature (hardly any did in the TRS-80 days). You can save a snapshot of the game you're playing then come back later to continue playing. You could also save the game at a point before a really difficult area then if you loose simply load the snapshot and try again.

To save a snapshot push F7.

To load a snapshot push shift-F7.

After pushing F7 or shift-F7 a box will appear asking for a filename. Enter the filename or path+filename with or without an extension. By default the file will be created in the current default drive path (shown when selecting virtual disks), with a default extension of .SNP. If the file entered exists it will be overwritten. Pushing ESCAPE will abort the operation.

WARNING: When loading snapshots be sure to do so with the same configuration and drives loaded in the emulator. The emulator does not keep track of what disks were loaded or what the emulator configuration was when it saved the snapshot. For example, DO NOT load a snapshot of a program that was doing disk I/O to a data disk in drive #1 when the emulator now has a different disk or no disk in drive #1. The results will very from a simple program error to all data on the disks in the drives being corrupted. This is a very powerful emulator function when used with care and dangerous when not.

Return to contents: 


Operation - Loading and executing /CMD files:

The emulator can load a /CMD or other TRS-80 object file directly from a PC's directory. While it is better to use one of the file import utilities to copy a file from the PC directory to a TRS-80 virtual disk this feature can be useful to quickly load a program for testing or other reason.

To load a /CMD file push shift-F7.

After pushing shift-F7 a box will appear asking for a snapshot filename (this is the same window used for loading snapshots). Now push the F1 key one time. The box should now be asking for a machine language filename to execute. Push F1 again and the box should be asking for a machine language file to load. Pushing F1 one more time will return you to the snapshot question. Pushing F1 will toggle you through the three load options.

Now enter the filename or path+filename with or without an extension. By default the file will be loaded from the current default drive path (shown when selecting virtual disks), using a default extension of .CMD. Pushing ESCAPE will abort the operation.

WARNING: Loading an object file using this option may not always work. Many programs expect the proper DOS to be loaded and for memory and video option to be already configured. Generally /CMD files of cassette programs will load this way but many that have loaders to allow their loading under DOS will lockup unless you load them from a DOS prompt. This feature was added as a convince and should not be used as a replacement for importing files and saving them to virtual disk.

Return to contents: 


Operation - Shell to DOS:

The emulator has a shell to DOS feature that will suspend emulator operations and drop to a DOS prompt. This function allows the user to do miscellaneous DOS commands without having to exit the emulator. When the user has finished whatever DOS operations were needed the user can type EXIT and control is returned to the emulator.

To shell to DOS push shift-F5.

Due to the amount of memory the emulator requires very little is left over when shelling to DOS. The user can free up about 128k more memory for DOS operations by running the emulator with SoundBlaster DISABLED.

Return to contents: 


Operation - Setting the date and time in the emulator:

The PC's internal clock is available to programs running in the emulator. The time and date is port mapped, check the technical docs for port addresses.

For all Model 1 operating systems, except TRSDOS 2.7DD, you can use the program CLKMOD13/CMD to set the date and time.

For TRSDOS 2.7DD you need to apply a patch so it won't ask for a date or time at boot up. From a TRSDOS prompt type:

PATCH *00 (R=11,B=211,FIND=CA,CHG=C3)

This patch will eliminate the boot-up date and time prompts. Then use the program CLKTD27/CMD to set the date and time.

For all Model 3 operating systems, except TRSDOS 1.3 and LDOS 5.x you can use the program CLKMOD13/CMD to set the date and time. The emulator also puts the current PC date and time into the TRS-80 ROM each time the user pushes F10 (RESET) so all Model 3 operating systems, except LDOS 5.x , will boot with the correct time, the user need only disable the date and time prompts.

For Model 3 TRSDOS 1.3 you need to apply a patch so it won't ask for a date or time at boot up. From a TRSDOS prompt type:

PATCH *00 (ADD=4EA9,FIND=CA2E4FED53B542,CHG=ED53B542C3394F)

This patch will eliminate the boot-up date and time prompts.

For LDOS the only way to set the date is to use the clock utility or patch it to not clear the date during a COLD boot.

For TRSDOS 1.3 and LDOS 5.x use the program CLKTDLD/CMD to set the date and time.

The Model 1 and 3 clock set programs are:

CLKTD27/CMD     - For Model 1 TRSDOS 2.7DD
CLKTDLD/CMD    - For Model 3 TRSDOS 1.3 and LDOS 5.x
CLKMOD13/CMD - For all other Model 1/3 operating systems.

There are 3 program for setting the clock in Model 4 modes:

CLKTD6X/CMD   - For TRSDOS 6.2x limited to dates between 01/01/80 12/31/87
CLKTD6XP/CMD - For TRSDOS 6.2x that can accept current dates
CLKLD63X/CMD - For LDOS 6.3x

There are 2 programs for TRSDOS 6.2x. Program 1 sets the date within the date limits of TRSDOS 6.2 of 01/01/80 to 12/31/87. For example a date in 1999 would be in the form of XX/XX/81. Not much use I know but at least month, day & time are set. Program 2 sets the date on TRSDOS 6.2 systems that have been modified to accept current dates. For example those modified with SIX2XTND, available in on the TRS-80 Disk Operating System Page .

I don't have technical information on Model 4 mode DOSPlus and MultiDOS so there is no clock program for them. Someone else with information about these operating systems will have to write them.

Return to contents: 


Operation - Hard drive support, RSHARDx/DCT & other DOSs:

The emulator will support virtual hard drives of up to 67megs under any DOS with drivers supporting the Radio Shack� WD1010 compatible hard disk controller. The following information is to assist in setting up virtual hard drives using TRS-80 hard disk drivers within the emulators. You will also need to be familiar with the DOS and it's hard disk driver installation procedure.

Procedure to setup and read an existing virtual hard disk file created with EHARD or another emulator's hard drive support

To mount an existing virtual hard disk file you MUST know what it's configuration is. You will need to know how many sectors per cylinder the drive is and how many cylinders the drive has. If you don't know or remember you can look in the virtual disk's header to get this information (look here for the header format). You need to divide the sectors per cylinder by 32 to obtain the number of heads per cylinder. If the value in the header is 00h then the number of heads is 8. If the sectors per cylinder is not evenly divisible by 32 or you don't understand completely what is being explained here DO NOT use this type of driver to access your existing virtual disks, continue using EHARD/DCT instead.

After you have obtained the head and cylinder values for your existing virtual disk continue with installation of the RSHARD drivers.

Procedure to install RSHARD/DCT for existing or new virtual hard disk compatible with existing emulators

An existing virtual hard disk is assumed to be mounted in virtual drive 0. RSHARD/DCT is assumed available on the system.

type the LS-DOS command:

when prompted enter, device number (1r), heads (value computed or entered when file was created), cylinders (value entered when file was created)

when prompted for partition information enter the same value for heads and cylinders as was previously entered.

If the LS-DOS system reports that the drive appears to be unformatted and there is supposed to be information on the disk, then there is a mismatch of parameters. Reboot the LS-DOS system and retry entering the parameters again or don't use this virtual file with this type of driver.

If the virtual disk is blank then you will have to format the new virtual hard disk with the command:

The drive's directory will be initialized. The drive is now ready for use.

DO NOT dir a new disk before formatting since LS-DOS gets confused reading a unformatted drive that doesn't report errors like a real unformatted drive would.

If you don't enter the SYSTEM=YES option then the virtual drive will be formatted. This operation writes E5h to every byte of every sector of the virtual drive's partition. This operation is not necessary, can take a long time to complete and allocates the entire virtual hard disk file.

If you don't enter the VERIFY=NO option every sector of the new virtual drive will be written and verify read. This really takes a long time and also allocates the entire virtual hard disk file. If the drive is a 15meg HD the the PC file will be 15megs even with no files written to it.

Note: The standard Radio Shack format utilities write the directory to the middle cylinder. This means a 15meg virtual disk will start out being 7.5megs in size since the directory was written halfway into the disk. To prevent this, alternate versions of the format utilities are available on the hard drive utility disks available on this site's Software Pages. These alternate format utilities write the directory on cylinder 1 so the virtual file will start small and grow as you add files to it.

Note: you should *SYSGEN* now so the drive will be available the next time you boot LS-DOS.

Warning: When no hard disks are mounted the WD1010 HDC is disabled. Because of this, if LS-DOS or TRSDOS 6x is booted with the WD1010 drivers being loaded by the system (SYSGENed) the system will lockup waiting for the HD controller to come ready. To boot a system that has been SYSGENed with HDs make sure at least 1 HD is mounted in any drive -or- hold the CLEAR key (F4) while booting to bypass *SYSGEN*.

Other DOSs and virtual disks not needed to be compatible with EHARD

Virtual disks can be up to 1024 cylinders and be partitioned by LS-DOS's RSHARDx and other DOSs hard disk drivers. Virtual disks that are wanted to be compatible with other emulators and EHARD/DCT cannot be larger than 203 cylinders and cannot be partitioned.

For other DOSs try to avoid formatting the hard drive since virtual hard disks are already formatted. Try to only initialize the directory for the desired DOS. This will prevent the entire file from being allocated and allow it to grow only as space is needed.

Return to contents: 


Operation - Hard drive support, EHARD/DCT:

The emulator will support virtual hard drives of up to 13megs under TRSDOS 6.x, LDOS 5.31 and LS-DOS 6.31. No other operating systems have been tested. The hard drive support is compatible with other emulator's virtual hard drives.

The first step to mounting a virtual hard drive is to create a blank virtual disk with the program MKDISK included in the distribution. This program was written by Tim Mann and was modified to create only virtual hard disks since the emulator creates it's own virtual floppy disks. Please refer to the MKDISK.TXT file for instructions in using the MKDISK utility.

Once a virtual hard disk is created you must go to the configuration screen and enter the filename you created into the mode & device # you plan to use. Then use the LDOS *system* command to mount the drive and then format the drive.

Here is an example of how to create, mount and format a 13meg virtual hard drive named MYHARD.HDV as device #0 on drive :7 in LS-DOS 6.31.

Create the virtual hard disk from MSDOS with the command:

Start the emulator with LS-DOS 6.31 and with the program EHARD/DCT available on a mounted virtual floppy (available on distribution disk LD6X-UTL.DSK).

Push F5 to go to the configuration screen and select Model 4 mode virtual hard disks and enter MYHARD.HDV for the device #0 filename. Push F5 to save the configuration.

type the LS-DOS command:

when prompted for the device # enter zero.

Now you have to format the new virtual hard disk with the command:

when prompted enter 7 as the drive to format, the disk name and password and yes to the two warning messages. The new virtual hard disk should now be available on drive :7

Note: you should *SYSGEN* now so the drive will be available the next time you boot LS-DOS.

Return to contents: 


Operation - Mouse support, EMOUSE1 & EMOUSE2:

The mouse drivers EMOUSE1/CMD AND EMOUSE2/CMD are for LS-DOS programs that use the TRS-80 mouse drivers written by David Goben and Scott McBurney respectively. Just execute the driver appropriate to the program you are using.

The emulator also has port mapped mouse support, refer to the technical docs for port addresses. The program [MISSILE/CMD] on the model III utility disks included in the distribution is a program modified for port mapped mouse support.

Return to contents:


Operation - VS-100 Voice synthesizer:

To enable VS-100 support you must:

The software support disk contains the text to speech drivers and the documentation Tandy released with the synthesizer. Except that only one pitch is supported it works exactly as described in the documentation.

Return to contents:


Operation - Making Cassette tapes for loading into a real TRS-80

The Model 1 and Model III/4 emulators can make real cassette tapes for loading into a real TRS-80. The Model 1 can make 250 & 500 baud tapes and the Model III/4 can make 500 & 1500 baud tapes.

In order to make a cassette tape readable in a TRS-80 you must follow the following steps:

Following the above steps should result in a recording of the SB sound produced by the TRS-80 cassette write function. This recording can now be loaded into a real TRS-80.

For best results use the same recorder to record the tapes that will be used to load them into the TRS-80.

Return to contents:


Operation - The file transfer utility XFER/CMD version 2.0:

The TRS-80 program XFER/CMD is used to transfer files from the PC world to the TRS-80 world and back. This program is written in ZBASIC 3.2 and is much faster than the BASIC version and also has a batch process option.

When prompted for the direction of transfer push the space bar to toggle through the three modes, PC to TRS-80, TRS-80 to PC and Batch. Pushing BREAK exits the program.

Next if options 1 or 2 were selected, enter the PC filename in PC format (ex. C:\BATCH.TXT). If option 3 was selected enter the name of the batch file to process. The batch file must reside in the TRS-80 world (forward slashes can be entered in place of back-slashes, they will be changed to back-slashes by the program).

Note: I create the batch file on the PC then transfer it to the TRS-80 and then process it because the PC has better text editing tools.

Next if options 1 or 2 were selected, enter the TRS-80 filename in TRS-80 format (ex. BATCH/TXT:1). You can also enter a ':' or ":#" where '#' is a vilid drive number, this will save the file using the PC filename (The '.' will be changed toa '/').

Note: The `from' filename must exist and have data. The `to' filename will be erased (use care).

Next the file will be transferred. Errors will be reported and the total bytes transferred will be shown. After transfer you will be prompted for another transfer.

The utility is easy to use and will set the speed to 8mhz during transfers so is very fast.

Batch processing:

The format for a batch transfer file is as follows.

Direction PC-filename TRS-filename

0 C:\FILE1.CMD FILE1/CMD:1 -> Transfers the PC file FILE1.CMD to FILE1/CMD on drive #1 on the TRS-80
0 C:\FILE2.CMD  :                      -> Transfers the PC file FILE2.CMD to FILE2/CMD on the first available drive on the TRS-80
1 C:\FILE3.CMD FILE3/CMD:1 -> Transfers the TRS-80 file FILE3/CMD from drive #1 of the TRS-80 to the PC
1 C:\FILE4.CMD :2                     -> Transfers the TRS-80 file FILE4/CMD from drive #2 of the TRS-80 to the PC

If any line is found in error it will be skipped and the next line processed until all lines are processed. Each field is separated by a space, no other spaces are allowed.

Return to contents: 


Credits:

Several people have assisted me in writing this emulator either directly or in-directly and I want to give credit here.

Return to contents: