Clarification

Reading and Writing tapes does not require a special utility in and of itself. Audacity, Goldwave, or any other audio recording software will work, because tapes are, in fact, just audio. There is a page devoted to how to read TRS-80 tapes into WAV format here.

What is the issue, is what to do with a WAV file once you have it. That is what this page is for. It has utilities that will convert WAVs to CAS format for use in an emulator, and back again. It has utilities that will convert high speed (1500 baud) tapes to Level II (500 baud) or even Level 1 (250 baud) and back again.


Repair WAV’s and Convert WAV to CAS, BIN, or BAS

Web Page:

This utility is in the form of an extremely powerful web page.


The web page can be found at https://www.my-trs-80.com/cassette/. You can drag and drop a WAV, CAS, or BAS file and from there see the individual pulses of the WAV (original and filtered). You can click on the BASIC or Machine Language output listing and see the individual clock pulses in the WAV which gave rise to whatever you are pointing to. You can run the program in a virtual emulator in the browser. And, of course, you can export the corrected WAV to WAV, BAS, Binary, or CAS.

Standalone:

The standalone can be found on https://github.com/lkesteloot/trs80/tree/master/packages/trs80-tool. v2.06 can be downloaded there or right here for Windows / Linux / Mac

Command line options are as follows:

Usage: trs80-tool COMMAND args ...

Options:

--version
Show the tool’s version number
--help
Show the usage message
dir
Show the contents of WAV, CAS, JV1, JV3, and DMK files
info
Displays a one-line description of the contents of the file, such as its type (system program, Basic program) and, if known, the embedded filename.
convert
Converts a list of input files to an output file or directory

The convert option is quite powerful. Here are SOME examples that would follow trs80-tool convert on the command line:

in.cmd out.3bn
CMD file (Diskette) to SYSTEM format (Cassette)
in.bas out.asc
Detokenize file
in1.bas in2.3bn in3.cmd out.wav
3 files into a WAV file (including converting CMD to SYSTEM)
in.dmk out.wav
Diskette to WAV
in1.cas in2.cas in3.cas out.wav
3 CAS files into a single WAV file
in1.bas in2.3bn out.wav
BAS file and SYSTEM file into a single WAV file
--baud 1500 in1.bas in2.3bn out.wav
BAS file and SYSTEM file into a 1,500 Baud WAV file
in.cmd out.lst
Disassemble CMD file
in.3bn out.lst
Disassemble SYSTEM file
in.wav outdir
Extract the files from a WAV file to a directory
in.cas outdir
Extract the files from a CAS file to a directory
in.dmk outdir
Extract the files from a DMK file to a directory
in.wav out.wav
Clean and radically shrink the size of a WAV file

Current limitations

  • Cannot write floppy disk files.
  • Can only read TRSDOS floppy disks

Convert WAV to/from CAS

Name
Date
Author
Picture
Nov 2004
Knut Roll-Lund

Convert a CAS file into a WAV for making a real TRS-80 cassette.


July 2020
Anton Argirov

Convert WAV files to CAS. It accepts WAV files with any sample rate (11025 / 22050 / 44100) and format (float / 8-bit / 16-bit / stereo / mono), uses auto-detection mechanism to get clock frequency which depends on baud rate (model I level2 500baud, level1 250baud or model III highspeed 1500 baud). Requires Ruby v2.3 to be installed.


Wav2cas is a Windows program, run in a DOS window (or you can use drag’n’drop, dropping the wav file onto the wav2cas desktop shortcut icon), which takes an uncompressed Windows wav file (made from a Model I Level II (500 Baud), Model I Level 1 (250 baud), or Model III (1500 Baud) cassette tapes) and generates a cas file for use by TRS-80 emulators. Silent bits doesn’t matter, so an entire tape can be converted (but header synchronization is only done once, so this is risky).


Convert Between CAS Speeds

Name
Date
Author
Picture
Apr 2005
Knut Roll-Lund

Highlow is a small utility for converting CAS files between Highspeed (1500 Baud) and Lowspeed (500 Baud). Since 1500 Baud includes a startbit, making the file contents unreadbale, it is useful for viewing the contents of a highspeed CAS file after a wav2cas_h conversion, to do a preliminary check for success or to get the name from a system tape. It can convert both ways and does so automatically. It can’t handle multiple files in a CAS file so only single content CAS files may be used, and it must detect the header so it can’t deal with fragments.


CAS File Checker

Name
Date
Author
Picture
 
Knut Roll-Lund

ACAS is another small utility, this time for checking the cas files. Actually it is a beta as it will be incorporated in another program but I decided that I would release this standalone version anyway. As it is now it will scan through a cas file and find out what it can about it and output what it thinks to a txt file with the same path and name.

ACAS will read model I and III type of CAS files, it will attempt to decode the first program it finds, if there are data after what it perceives as a program these will be listed as hexcodes. For highspeed it will check that the startbit is ok. It does SYSTEM tapes, reporting the blocks, does the checksum, looks for gaps. It does BASIC, listing the program detokenizing all except what is in quotes or behind a REM, checks the embedded addresses, reports any codes in quotes or behind REM.


CAS File Utility

Cass80 is a tool by Jürgen Buchmüller to load, analyze, disassemble or list, modify, and save EACA Colour-Genie 2000 and Video-Genie 3003 (which was a TRS-80 clone) cassette images. Cass80 can be downloaded from https://github.com/pullmoll/cass80.


Convert between File Formats

Name
Date
Author
Picture
TRLD v1.5.2
July 2018
George Phillips

Reads one or more TRS-80 programs in .cmd, .cas, .hex or .bas format and saves them as a single .cmd, .cas, .wav, or .hex file. As input it supports 250, 500 and 1500 baud .cas cassette image files as well as tokenized and ASCII .bas BASIC program files. Output can be in .cmd, .cas, .hex or .wav (audio file) format.

One additional feature, the “-s” option, detects relocation code and cassette loaders, runs them and puts the resuls into the output file. For example, many disk executables (.cmd) start with a short block of code that copies the entire program to a different spot in memory and jumps to it. Similarly, a few games had their own custom cassette loaders. The first program on the cassette was a short loader program that would load the rest of the tape in some custom format.


CMD2CAS (Win)
Mar 2005
Attila Grósz

Convert a /CMD file into a WAV for making a real TRS-80 cassette.


Outputting CAS Files

Name
Date
Author
Picture
May 2018
Knut Roll-Lund

Use your PC as a cassette player for your TRS-80 Model I/III/4 Level I and II by connecting your TRS-80 cassette input (“Ear” Output) into the PC’s headphones output.

Supports Level 1 (250 Baud), Level II (500 Baud), LNW (1kHz), and Highspeed (1500 Baud) and SYSTEM, BASIC, EDTASM, LEVEL 1 SYSTEM, and LEVEL 1 BASIC files. It does NOT support Scripsit, or ASCII files.