For TRS-80 Model I/III/4 Level I or II
My aim was to make a tool that was better than the original and yes, now I think it is.
What wav2cas does is quite obvious, it takes a windows wav file
(made from a model I level2 500baud, level1 250baud or model III highspeed
1500 baud cassette tapes) and generates a cas file
for use by TRS-80 emulators or just for storage as a cas can be converted back to audio any time.
Note: Highspeed cas files are presently not supported by all emulators.
wav2cas will now autodetect which
format each "file" has.
The old programs wav2cas_l1, wav2cas_l2 and wav2cas_h can still be downloaded. Although they are command line tools they are windows programs and requires win95 or
Installing either wav2cas: Unzip the executable and make a shortcut on
your desktop to wherever you find place to store it. This is convenient because
you can use drag'n'drop, dropping the wav file onto the wav2cas desktop
What you do is to connect a cassette player to your pc, record a wav file
of the data and run this file through either wav2cas.
wav file format:
Windows, whatever number of channels, bytes per sample and number of channels
but with no compression. If you have a mono player I recommend 44100, 16bit,
mono or if you only have a stereo player 44100, 16bit, stereo. It seems that
left with the lesser choice of using a stereo player using both channels are
better. wav2cas will make do with whatever and combine stereo for the best result.
wav file preparation:
wav2cas has a sound level autodetection scheme which works quite
well, though if it is recorded too loud clipping might have occurred
and created ringing so too loud should be avoided. On the cassette
player you will have the choise of using either the headphones output
or line-out and on the pc you can use either the microphone or line-in
input. Experiment to find ot what is best for you. wav2cas now has a display so you can zoom in and look at the signal, uncheck zoom level to see the true level.
cas file format:
representation of the bit's detected, straight byte by byte, same
way that the TRS-80 reads them. For highspeed this includes the
startbit for each byte which is used in the data part after the header.
This is why a highspeed cas is not "readable". In cas format Level 1
and 2 has the same header but basic and machine code programs are
stored differently so they are not "compatible".
TRS-80 tape types:
wav2cas can take all "straight" tapes, like system,
basic, data, edtasm tapes. There are some "copy-protected"
tapes, where a loader is used, which will read in the rest of the data with
its own loader wav2cas
deal with this if the timing is the same as standard (ROM functions are
used). Note that if there is a gap between the loader and the "data" wav2cas
might split them in two entries for "files" but they can then be
combined in the save options by selecting to save both at once. Note
that such a "data" file will allways be seen as "bad" because the
format is not known.
Multiple "files" in one wav:
will work with only one wav at a time but this wav can contain as many
programs as there is. Detection will deal with each entry separately so
volume might even be different as well as formats.
The source is included for the old versions l1 and l2 wav2cas. The
c file is written in such a way that it can be easily converted to a traditional
argc,argv style dos etc. program. Not a typical windows program. wav2cas v2 is still under construction so I will not provide the source for download yet.
The source code that is provided is free for personal use. I claim copyright
for them but you are welcome to use it as you like, provided
that the relation to my program and my copyright is stated. Any commercial
exploitation requires my written permission.
There are no warranties of any kind! You use or don't use these softwares
at your own risk.
reads level 1 and 2 as well as highspeed
now handles wavs with multiple "files"
let you see the wav, and helps you to zoom in on problems
version 22.214.171.124 - bugfix 2
highlow cas conversion:
highlow is a small utility for converting cas files between
highspeed and lowspeed. It can convert both ways
and does so automatically.
It can't handle multiple files in a wav so only single file cas and it
must detect the header so it can't deal with fragments.
ACAS cas analyzer:
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.
I would have wanted a syntax check of BASIC too, those that will land you directly
in edit mode on running the program, but this is probably a dream only. If you have
anything that might help with this coming true please contact me.
A windows version with MMI is on the way but has not been worked on for quite
a while. It is planned to be able to do conversions too.
To my Video Genie page