View Full Version : Making .WAV's

March 6th, 2014, 10:26 PM
Me again. Been playing with console "1" which was repaired as per another thread. I'll restart work on console "2" presently, with the information kindly posted there by others.


What am I doing that's silly? I mean besides playing with 8-bit computers in the middle of the night in the year 2014. :-)

I'm trying to convert programs gleaned from the internet into .WAV files so I can load them into my honest-to-goodness old-fashioned TI99/4A, i.e. not an emulator. Ultimately, I want to record them on actual tapes and load 'em up old school.

Things I know:
- My TI99 can SAVE a "Hello, World." program to tape, and OLD it back, successfully.
- The TI99 seems to use a form of Frequency Modulation, so within reasonable lower and upper limits volume is not all that critical. (This is opposite of the ZX81/Timex, in which tape speed is forgiving but the volume setting is key.)
- These guys (http://atariage.com/forums/topic/82463-anyone-have-ti99-cassette-files-as-wavs/) have successfully used CS1er to write .WAV files from the FIAD program files, and loaded the audio files back to a TI99.

Things I don't know:
- Why I can't seem to do the same thing, with either CS1er or with Tape994a. The .WAV files I create all result in "Warning: Check Program in Memory ... I/O Error 50"
- Why the output of either program seems to be centered on zero amplitude, while a PC recording from my (working!) original tape seems to have a DC component and uni-directional amplitude.
- Why I don't go to bed like other people's children.

(Okay the last one is sort of moot.) Here's an illustration of the waveforms I'm getting. The top is a program I have yet to experience, as output by CS1er. The bottom is my "Hello, World." picked up from tape.


I have not managed to run my the TI99-to-TAPE-to-PC file back into the TI99. I think the volume as output from my sound card is not high enough, but at this point I'm not sure. I think I have tinnitus--I hear that dang sync file header even when nothing is playing anymore,...

March 7th, 2014, 05:41 AM
Actually, the volume can be a real issue--and I/O Error 50 is usually the result of it being either too low or too high. This remembered from my days with an unexpanded TI back in the early 1980's. You might also want to check on the TI subforum over on AtariAge, http://atariage.com/forums/forum/119-ti-994a-programming/ as they had several discussion threads there on the trials and tribulations of cassette to .WAV files.

And now "I" have that annoying tinnitus thing, as the sounds of a cassette recorder starting to send a program to the TI starts impinging on my consciousness after a pause of 30+ years. . .LOLOL

March 9th, 2014, 07:16 PM
Still can't get one of these .WAV files to load. Tapes made from the Ti99 load fine, but those written by CS1er or Tape994a cannot be loaded directly or via tape.

Apparently I'm not the only one. Found this comment here: (http://atariage.com/forums/topic/170155-converting-roms-into-audio-files-for-ti994a/) "actually i have found CS1er does not really work. it will make an audio file, but when loaded into the ti99/4a it does says something about a error in data".

Yet others have had no problem at all, as in this (http://atariage.com/forums/topic/82463-anyone-have-ti99-cassette-files-as-wavs/) one: "I tested a couple out with CS1er and my TI hooked directly to my PC's line out, and they loaded up nicely. There's just something oddly cool about that."

Mixed results it seems.

I even tried running the output thru a 4148 diode to carve off the negative half of the waveform. That also had the effect of diminishing the LINE OUT from my PC to a rather perfect attenuation for MIC input to my cassette recorder. I really thought I was on to something. Alas, still no joy from the tape. I may need a capacitor in there too.

Now my searches are turning up my own post, above. Am I one of a select few who likes to play with the actual machine instead of a simulator on a modern platform?

March 18th, 2014, 02:53 PM
I hesitate to make another post on this for fear of it becoming a blog, and because I'm not yet sure of my facts, but here goes.

Apparently no one else is particularly interested in creating .WAV files from the various format software libraries out there for the TI99/4A.

This surprises me. Having picked up the relatively inexpensive (now) machine, I'd like it to have some software I can load up from cassette in addition to the cartridges I do have. I like to play with the actual 80's silicon hardware rather than a modern emulator, but a TI disk drive is beyond my financial ambition for this venture.

The software is all "out there", albeit in a confusing array of formats.

Plenty of folk want to read their old cassettes and preserve collected programs for use in an emulator, but going the other way is far less popular.

CS1er writes .WAV files, but I find the output cannot be loaded to the hard machine. What good is that? Also, it is picky about what format file it can load up to start with. Even files coming from the same source are hit and miss.

Tape994a almost works. It writes a .WAV file that has limited corruption to the BASIC code. I have successfully gotten a tape image of a rather useless program called CARDEMO, (which looks like the graphics portion of an unfinished game), by:

Running the output of my PC sound card at very low volume to the MIC input of my tape recorder.
Running the output of the "ear" socket of the tape recorder to the TI99 while it is recording. (My recorder provides this monitoring function, and putting it in the chain this way amplifies the signal enough for the TI to read successfully.)
Manually correcting 2 corrupt lines, (the 2nd and 3rd lines of BASIC), based on the LISTing obtained in an emulator.
SAVEing the resultant code from the TI to the tape recorder in the normal fashion.


Before you go blaming my tape recorder for the corruption, the .WAV file as written by Tape994a, interpreted back by Tape994a, shows the same corruption. So it works 98%. On another TI program the corruption appears again in the 2nd and 3rd lines, as well as line 1000 further in. There may be more. I don't know the pattern, if there is one.

Now I'm going to try to get a better handle on all these competing TI file formats, and seek out more conversion utilities. I need a break from the tinnitus anyway.

I guess my addiction for dusty old computers and their off-the-shelf peripheral "monitors" (TVs) and "ribbon disks" (cassettes) is a kind of OCD. I love the smell of phosphor in the morning,...

I'd much rather warm up the actual machine than run the same program in a perfectly good emulator. Like a first heroin high, I'm trying to recapture the thrill I got in 1982 when my ZX81 SAVEd a program to tape and LOADed it back successfully. I thought that was just so cool. Now I'd like to have something of a TI99/4A tape library, but all I have so far to show for my efforts is "Hello, World." and CARDEMO.

The wife has been good about it really, occasionally opening the basement door to throw scraps of food down the stairs along with a picture of the children. I guess I should really shave before the tip of my beard gets caught in the cassette mechanism,...

March 18th, 2014, 03:27 PM
I haven't really done this myself and not for the TI but like you I've mostly seen folks say how much the volume matters so that it's clear and not distorted. I'm sure you've come across this thread on recording TI99 tapes to wav on atariage (https://atariage.com/forums/topic/200834-saving-ti-994a-programs-to-wav/). Have you tried bypassing the tape recorder and just gone from the sound card to the TI?

March 18th, 2014, 03:57 PM
Yup. The output from my PC sound is not quite high enough, and the TI times out saying there was no data. (My amplified speakers do not have a convenient headphone out jack to use.) The tape recorder's amplifier fixes that, and is NOT the source of any corruption, as noted above. I have had to make volume adjustments along the way to get things right, so yes it's important, but I think I'm over that part.

Tapes to .WAV is easy. Well, maybe not easy, but relatively common. I've seen that thread at AtariAge and several other treatises on the subject. It's creating .WAV output from program PC files that I want to accomplish. That seems to be less so.

March 18th, 2014, 04:07 PM
I'm watching this with interest. I have a working TI-99/4A now (http://www.classic-computers.org.nz/collection/ti99-4a.htm), but little software. At the moment I've got other projects on and I'm following Mike's efforts to explore a solid state solution (http://www.vintage-computer.com/vcforum/showthread.php?41786-TI-99-4a-solid-sate-disk-solution/) as an alternative to the CF7+NanoPEB (http://webpages.charter.net/nanopeb/) that pops up from time to time.

However, at some stage in the next few weeks this machine will be in my crosshairs. I want to populate it with software, get familiar with it and produce a video review as I have with the other models I own. I'll certainly be looking for software solutions for it which may (...depending on how Mike goes) include Wavs stored on my PC hard drive and delivered via the sound card. This works for a number of my other computers. Seems it might be harder for the TI-99/4a. If so, that's somewhat of a surprise considering how popular they were in the U.S.


March 18th, 2014, 04:16 PM
Yup. The output from my PC sound is not quite high enough..

Yes, I found this a common problem when I started to play around with loading WAVS through a soundcard into a computer. I found in both my laptop and main XP units, where the soundcircuitry came off the motherboard, just couldn't get the volume required. This was solved by dropping in a common old garden SB16 compatible card into a slot on the XP machine and disabling the on-motherboard sound.

Even with this, I found the volume needs to be just right for things to work. It can be so touchy with some of the machines that once I found a volume level that worked consistantly, I took a screen shot of the volume controls and stored the JPG in the same folder as the WAV files. I then referred to this image next time I revisited a machine and wanted to load a WAV.


March 19th, 2014, 07:50 PM
I took a screen shot of the volume controls and stored the JPG in the same folder as the WAV files.

Brilliant! Elegant and effective.

I found a few .wav files in someone's collection, here (http://ftp.whtech.com/), but could only get the "Games 1" programs to load. (At least now I have something.) I suspect the other recordings were made from tape, rather than capturing the pure "SAVE CS1" output of the TI99 itself. Pity.

I'm trying to locate the author of Tape994a. I'm hoping that the problem I have with it is a small bug that can be fixed.

Ed in SoDak
July 20th, 2014, 03:18 PM
Hi, new member here but an old-timer with the TI and a bit of an audio-buff. I've been thinking about trying almost the same stunt with my Timex TS-1000 to port a couple of cassette programs I wrote to emulation without manually re-entering all the code.

Most audio outputs from computers is adequate for headphones at best and only "line-level" in other cases. That's about the same as you'd expect from a hi-fi cassette deck to provide to a stereo amp or receiver.

Using the microphone input of your cassette recorder to "boost" the level was a good idea, but it's too much gain, the impedance coupling is all wrong and will it tend to distort. If you happen to have a stereo with a Tape or Aux input, you could try running your PC card output through that. I'd start with trying the headphone output as a feed to your TI. If you do try to connect directly to the stereo's amplifier speaker connections, make sure to start with the sound turned down and slowly increase it till you hear it in the TI's audio output to the TV you have connected to it.

Or if you have an Ipad or portable digital audio player, port the wav file over to it and try feeding its headphone output to the TI.

A potential side issue is if the software itself is compatible with your own setup. If it needs an XB or other cart, do you have the proper cart inserted and selected on startup? Or it may require Console BASIC, which may run with XB or it may not! Sometimes, the program docs don't actually tell you what's needed.

Other programs use assembly language E/A format, which usually requires the PEB, 32k, disk drive, etc. Or not! Back in the day, I typed in many pages of program listings from the magazines. Tons of 'em have been scanned and are online in pdf. That's still an option you can explore and thereby sidestep all the connectivity/audio issues and go truly back to basics. There's nothing quite like typing in a long listing by hand and squinty eye, maybe adding your own frills to it along the way and finally seeing it actually RUN! Well, maybe after a few long hours of bug-shooting. No better way of learning to write your own code.

Plan C is to get a few cassettes of programs from a fellow forum member, or off ebay, etc.. I have a bunch of tapes I saved from my early TI years, along with assorted "Best Of" tapes I made for relatives and siblings, who later returned them when they moved on from the TI. I kept a listing for each tape along with what was needed to run each of the programs on them. I'd part with a few samplers to help get you going, send me a PM!


July 21st, 2014, 06:37 PM
Hello and welcome Ed!

I haven't been playing with my TI for several weeks, but came back to visit this forum just at the right time!

Your points about audio levels and various scenarios are well taken. I have tried various plumbers' nightmares, including using a discrete general purpose amplifier on occasion. I'm sure at the time I had a matrix in my head of the experiments thus performed, but did not document them scientifically so as to resume intelligently at a subsequent time.

Compatibility with "my setup" is an excellent point. I do have the Extended Basic cartridge, but did not think to try loading any of the problematic programs with it in place. (Duh!) 32K or a disk drive I do not have and don't aspire to at present.

I'll send you that PM.

Regarding the TS1000 and converting tape programs to .P files, I have found a couple of software offerings that advertise to do that, but again have had only sporadic success. They are tricky to work with.

The best way to do it is with a ZXpand module, which is wonderful little poly-capable device for the ZX81/TS1000, and among other things, converts programs loaded conventionally from tape, to .P files on an SD card. Very cool and slick.

I have one, and would be delighted to convert programs for you. We can discuss offline.


September 6th, 2014, 01:30 PM
Just a quick post for an interim update.

First, thank-you Ed in SoDak. He and I have become fast friends, sharing and interest in the TI-99/4A (where he is my advisor), the Timex-Sinclair line (where I have been fortunate enough to return the favor), and the Apple II series I have just begun to explore.

Tape994a. Version 3.1 is in fact defective. I have made contact with the author Dick Selis, and he has been wonderfully responsive in creating version 4.0 which corrects a bug, and now writes out .WAV files uncorrupted.

Dick has asked me to hold off posting it for a short while to allow him to make other improvements. Be assured a corrected version is coming soon, which I will post here.

This will achieve the goal I had been seeking--to convert programs obtained on the internet to .WAV files and ultimately cassette tapes, for loading into my hardware TI-99/4A, which I'm too modest (read: "cheap") to buy a disk drive for.

September 13th, 2014, 09:18 PM
This will achieve the goal I had been seeking--to convert programs obtained on the internet to .WAV files and ultimately cassette tapes, for loading into my hardware TI-99/4A, which I'm too modest (read: "cheap") to buy a disk drive for.

I've just recently started to dip my toes back into retrocomputing. I was a TI user up until 94-95 or so, and have a basement full of old hardware of various makes. Right now, I'm working with a Heathkit ET-3400, which, once I get the expansion built, will be cassette-only. What I think would be really useful in the retrocomputing world would be a "cassette emulator".

I've done some googling, and it doesn't currently seem to exist. And I'll admit, it sounds kind of dumb on the surface. But when you think of how many early computers didn't have disk drives, or were super rare-- an SD-based bit of hardware that could hold multiple files, even respond to the remote line properly could be very useful indeed.

Does anyone who is into modern hardware have some ideas of hardware to research? Or even other forums where I met get some ideas?

September 13th, 2014, 10:08 PM
...What I think would be really useful in the retrocomputing world would be a "cassette emulator"...But when you think of how many early computers didn't have disk drives, or were super rare-- an SD-based bit of hardware that could hold multiple files, even respond to the remote line properly could be very useful indeed...Does anyone who is into modern hardware have some ideas of hardware to research?...
Well the micro in these vintage computers were powerful enough to write files to tape. As they got slightly faster, the tape encoding was improved to speed them up. In respect to microcontrollers available today, speed would not be an issue.

To do a "cassette emulator" you'd need to survey the type of audio encoding that were done. To be more universal you'd want the micro to be fast enough to synthesize all types of encoded tones with the minimum of analog shaping circuitry; as anything unique to one system would be in the way when using it with another system. The advantage is that you don't need a PC with .WAV file output; and convenient overkill compared to a cassette emulator.

Synthesizing audio waves is quite simple. We used 80s era micros to synthesize DTMF tone combinations and that's more complex than any cassette tape encoded sound.

If you want to do a "cassette emulator" list the vintage computers you want to support, find the online schematics for each (helpful to see what sort of encoding technique they used), and look for all online information about their various encoding methods. The micro is the easy part.