• Please review our updated Terms and Rules here

Strange serial port problem (Model III)

geoffm3

Veteran Member
Joined
Oct 9, 2009
Messages
1,272
Location
Huntsville, AL
Hey guys... I've run across a strange problem on my Model III. I typed in the sample program to do some rudimentary serial communications from the disk basic manual, and I can't get the transmit direction working. Characters are echoed to the screen that I type from the other end of the serial link, but nothing seems to be getting through the other direction. I have one of those little LED RS-232 signal testers in line with the serial cable, and I can see the LED for the transmit from the Model III flicker, and occasionally you will see something printed on the laptop I'm connected to (just garbage though). Characters received on the Model III are correct.

So, I figured must be a bad cable. I tried looping back the Model III on itself (shorting pins 2 and 3) and it won't display any received characters either.

Bad UART or baud rate generator? Can't imagine it's the line driver, but I guess that's possible too. I have an old protocol analyzer and oscillocope at work that I could test it with. Clearly something is happening from the looks of the breakout tester, but it's not working. Is this something anyone's run into on the Model III?
 
You're sure all the parameters are the same on each side ?
Do you have something else to connect the laptop to to verify it's serial port is working correctly ?
patscc
 
Those baud rate generators do fail occasionally. It's happened to me with a Kaypro II and a TRS-80 Model 1 serial card.

Tez
 
You're sure all the parameters are the same on each side ?
Do you have something else to connect the laptop to to verify it's serial port is working correctly ?
patscc

Absolutely positive. The Model III won't receive its own transmitted data when looped back, and the parameters are the same send/receive (you can set the transmit/receive direction speeds independently), and the laptop side I've used with a variety of different computers recently, so I doubt that's a problem there (and it will receive its own data when looped).
 
Those baud rate generators do fail occasionally. It's happened to me with a Kaypro II and a TRS-80 Model 1 serial card.

Tez

Good to know. I'll drag home the scope from work next week and check it out to see if it meets timing.
 
Just out of curiosity.... what speed are you trying to run at?

These older machines tend to have a bit of 'variance' in their serial tx/rx freqs...

There is also the possibility that your line drivers are failing... (1488 or 1489.. can never remember.) which means no RS232-level output.
TTL, possibly, but not +/- 12....

:D
 
Just out of curiosity.... what speed are you trying to run at?

These older machines tend to have a bit of 'variance' in their serial tx/rx freqs...

There is also the possibility that your line drivers are failing... (1488 or 1489.. can never remember.) which means no RS232-level output.
TTL, possibly, but not +/- 12....

:D

Yeah, I need to check that out once I get the oscilloscope home. Still haven't gotten around to it. Thankfully I think I have a few 1488/89s laying around... baud rate generator not so much, so hopefully it's not that.
 
Well, the mystery is solved! It wasn't a hardware problem at all, just an error in my transcription of the program. I did hook it up to the oscilloscope and the levels were good as well as the timing, so that wasn't it, but I noticed that for every key pressed, I would transmit a 0x02. Turns out the POKE to write the character into the transmit buffer was wrong. It read:

POKE C0, ASC(C$)

when it should have read:

POKE CO, ASC(C$)

duh!

Works perfectly fine now.
 
Glad you managed to solve it. Yea, the 0 for a O mistake is one that has tripped me up in coding on occasions.

Tez
 
Back
Top