• Please review our updated Terms and Rules here

IBM Advanced Diagnostics on Cassette

mbbrutman

Associate Cat Herder
Staff member
Joined
May 3, 2003
Messages
6,425
Does anybody have a cassette adapter for their 5150? I've got a wave file of this, and I'm curious to hear what it does. (I don't have an adapter, and don't see myself making one any time soon.)

The WAV file runs about 3:40 and should contain around 36KB of data. (0's take .5 milliseconds and 1's take 1.0 milliseconds .. I assume an average distribution that gives about 0.75 milliseconds per bit.)


Mike
 
I'd be interested in what you find on that WAV file Mike and Eric. I have the TRS-80 cable and now I have the 5150. What I won't have until tomorrow though, is the step-down transformer I need to power it up.
 
I had a lot of fun with this recording. I haven't used the shoebox cassette recorder in close to 25 years. (That was when I upgraded from a Timex Sinclair 1000 to a PCjr with a diskette drive.) It needed a good cleaning.

Then I played around with the waveform. If you zoom in enough, you can see the 1s and 0s that make up the data! Here is a good writeup of it:


Lastly, an MP3 of the recording is posted on that page. Enjoy, and let me know what it does.
 
Do you really need a cassette player/cable for this ?

Or could you play the MP3 file on a PC or MP3 player and
somehow feed the output into the cassette interface on the
5150?

I'm thinking there is probably more involved than just reading
the entire file into the 5150. Does the 5150 need to control the
cassette play/rew/ff ?
 
I don't believe that would work.... By looking at the Technical Reference manual. It needs a data cassette player!


Do you really need a cassette player/cable for this ?

Or could you play the MP3 file on a PC or MP3 player and
somehow feed the output into the cassette interface on the
5150?

I'm thinking there is probably more involved than just reading
the entire file into the 5150. Does the 5150 need to control the
cassette play/rew/ff ?
 
Actually, it would work quite well. The cassette interface doesn't care what the source of the waveform is .. if it can identify the bits it'll take them. Don't over amplify the signal or punch up the bass and you'll be fine. ;-) (Notice on the screen shots of the sound recording program that I was very careful to keep the levels in a safe range to avoid distortion and clipping.)

The cassette port does think that it is turning the motor on and off, but there is no feedback mechanism to tell it what happened. So just don't wire those pins.
 
Well someone is going to have to try it that way ;) It might work for that but for other things it might need a data cass. player! I don't think anyone knows too much about it as it was never used!

Actually, it would work quite well. The cassette interface doesn't care what the source of the waveform is .. if it can identify the bits it'll take them. Don't over amplify the signal or punch up the bass and you'll be fine. ;-) (Notice on the screen shots of the sound recording program that I was very careful to keep the levels in a safe range to avoid distortion and clipping.)

The cassette port does think that it is turning the motor on and off, but there is no feedback mechanism to tell it what happened. So just don't wire those pins.
 
I guarantee you that it does not need a cassette player. It just wants an audio signal. An iPod could do this ...

People have been faking out cassette interfaces with sound cards for years. It's not a new trick.
 
I guarantee you that it does not need a cassette player. It just wants an audio signal. An iPod could do this ...

People have been faking out cassette interfaces with sound cards for years. It's not a new trick.

Yes, it should work. I use this trick for my TRS-80 model 1 and Spectrum. All the cassette software is actually on my PC as WAV files and when I want to load in the software, I just attach the cassette cable to the sound card speaker port and play them.

Not authenic I know, but convenient. When I get to show the units off, I'll be using real cassettes.:)
 
Hi Mike, Eric,

I tested that little diagnostic tape MP3 on my 5150. The TRS-80 cassette lead does indeed fit the port.

I booted the machine without a boot disk and hence it defaulted to cassette BASIC. So far, so good.

I couldn’t get past the loader program though. The loader loaded in fine, and I could run it. However, as it was loading in the data and poking it into memory, towards the end of the file the system suddenly reset. It did this consistently at the same place in the MP3 cassette file in three attempts.

I suspect the Diagnostics Tape only works on a 5150 without disk drives. As the loader program loads in data from the tape and pokes it into memory, I suspect what’s happening is that there is some conflict with the disk controller (is this likely? Is it memory mapped?).

Anyway, I’ve attached some pics. The filenames indicate what they are.
 

Attachments

  • ibmpc diag cassette loader xcreen.jpg
    ibmpc diag cassette loader xcreen.jpg
    61.5 KB · Views: 3
  • using laptop as tape substitute.jpg
    using laptop as tape substitute.jpg
    74.6 KB · Views: 3
Good job tezza , thanks for trying that :)

I'm wondering if the volume/bass/treble settings on the input signal could
cause problems.

You could try detaching the floppies by removing the diskette controller
and setting the motherboard switches for no diskettes. However, I'm not
suggesting that you tear your machine to pieces to test this :)
 
I had noticed that the tape was broken up into two or three segments, and now that makes sense. The first segment is the loader and the second (and possibly third) segments are raw data that the load pokes into memory.

You said that you got the loader to work without any problems, so I suspect that the MP3 itself is fine and that you've got the volume levels close enough to work. You could experiment with different volume levels. Make sure your sound card is not enhancing bass/treble or adding any 3D effects. I'm sure the recording is good - look at the waveforms on the web page. Unless there was a physical defect in the tape ...

The floppy controller is not memory mapped - it just has I/O ports. 'Poke' commands will not be able to hit it. However, that diagnostics cassette might be making other assumptions about the machine that are not correct. Can you tell me the complete configuration of the machine? (Tell me what you have in all five slots ...)

Also, can you confirm that the loader is only using POKEs and not OUT or OUTP type statements? The POKEs might be dangerous because they obliterate memory, but OUT statements can really nuke I/O devices. ;-0
 
Tezza inspired me so I found my keyboard extension cable, some paper clips, some jumper wires, and I proceeded to make a temporary 'cassette' adapter for use with a Thinkpad.

Long story short - it worked. I got the loader portion, just like you did Tezza. But I also got it to read all of the data and start running. Here are the screen shots:

http://www.brutman.com/Cassette_Waveforms/Cassette_diags_step1.jpg
http://www.brutman.com/Cassette_Waveforms/Cassette_diags_loader_listing.jpg
http://www.brutman.com/Cassette_Waveforms/Cassette_diags_menu.jpg

The machine has a monochrome display, two floppy drives, and the 2nd revision of the BIOS. (Notice that it only counts up to 544KB, although it actually has 640KB on it.)


The bad news for the evening is that the 5151 monitor that goes to the machine doesn't light up anymore. I had a spare to test with. Another piece of bad hardware to debug ...
 
Good one Mike.

Must be my volume level wasn't quite right. That can be a fiddly thing to get correct.

That screen is very similar to the "Diagnostics" program on the IBM 5150 diagnostic disk. I'm picking it's virtually the same program except in cassette form.
 
It's in the MP3 ... I've made it available. Go ahead, fire up a 5150 under DOS, load BASIC and read the tape.

(Translation - I've done my bit. Time for somebody else to step up.)
 
From what I remember a common Radio Shack cassette player worked fine with the PC.

I remember years ago laborously typing a program onto a computer, copying it onto cassette and then slowly entering it into memory on a Commodore 8032. Occasionally the program actually worked.

I have an old KORG EX 8000 Synth. You entered the basic sound files in memory using a cassette or tape player. Usually done when your lithium battery failed or some similar event, and you lost the library. I replaced my dead soldered-in CR2032 with a holder and a new battery but have yet to replace the library altho I have it from the net. I'll have to look further into your method since most old cassette players have lost their speed after time.

Lawrence
 
Last edited:
Yesterday I recorded a video loading the Diagnostics using mbbrutman mp3 file.


I had to record it in Low Quality mode, I have a slow connection and it takes ages...
 
Back
Top