• Please review our updated Terms and Rules here

Help with serial interface PC to Sol-20

Old_hitech

Experienced Member
Joined
Dec 30, 2016
Messages
112
Location
Ventura CA
I received my null modem cable setup and tried to establish a working connection between my 486 laptop with 9-pin serial interface and my Sol-20 serial interface, but have failed. My 486 Laptop is an HP Internet advisor workstation. Back a few years ago buying one of these was a cheap way of getting a vintage PC laptop with a 3.5” disk drive. I’ve just it successfully to create 720k disks for my vintage HP computers. This PC has many interface ports along with the 9-pin serial interface. It is running Windows 95. I’m not really sure which COM port (COM1, COM2, COM3, etc) the 9-pin aerial port is. I’ve tried them all. I am using Hyperterminal and set the data rate for 1200 and 8-N-1. On my Sol-29 I have entered the SET I=1 command, but when I try to send over the ‘train.ent’ file. Nothing happens. Is there a way to check if I have the COM port number correct on my PC? Also, does anyone have a detailed, step-by-step how-to instructions on how to send an ‘.ent’ file from a Windows PC to the Sol-20?
 
Simplest way to check is in Hyperterm go "Properties", "Settings" tab "ascii setup" make sure "Echo typed characters" is cleared.
Then loop pins 2+3 on the serial cable and what you type should be echoed...
 
To test the link use the TERM command on the Sol. And on the SOL type SET I=1 like you have tried. This makes the SOL accept data from the computer, so if you type anything on the computer, it should appear on the SOL's screen.

Check the Sol switches, S3 - 6 ON & others off in the S3 bank (1200 baud).
S4-5 off(no parity).
S4-4 on, 1 stop bit.
S4-2 and S4-3 are both off (8 bit word length).

There were some mistakes in the manual related to the 6 or 7 bit selections.

I have occasionally had to replace damaged transceiver IC's, but these can be checked with the scope fairly easily.

I also remember now, in my sol the MC1489A receiver IC was defective and I didn't have one in my stock and had to order one. I think these IC's get damaged by the connections to long cables and electrostatic charges in those. Probably it is unlikely your IC is defective though, but maybe worth checking if all seems ok with the wiring, switch and software settings of the hookup.

One reason I used a real null modem cable, rather than a Null modem adapter, is in the adapters, unlike the cable, they seem to have a lot of wiring variations.
 
Last edited:
You also need to make sure that the Sol's pin 2 is connected to the PC's pin 3 and vice versa somewhere either in the null modem or RS232 cable or you'll have both talking to the wrong pins.
 
On the 486 PC using Hyperterminal, File, Properties Connect using: Direct to Com 1 and then select Call, Connect yields an pop up window stating that 'Unable to open COM1'. If I select File, Properties Connect using: Com 2 and Select Call, Connect then the timer in the lower lefthand area of the Hyperterminal window starts to count up. In the File, Properties, Settings tab what should the Emulation pull down menu be set to? I have it set to Auto Detect. Also, in the Properties, Port Settings tab where Bits per second: is set to 1200, what should the Flow control pull down menu be set to? I have it set to Hardware.
 
Also, does anyone have a detailed, step-by-step how-to instructions on how to send an ‘.ent’ file from a Windows PC to the Sol-20?

If you were running TeraTerm (the one I use) I could give an exact list of of steps I do to transfer a .ent file to the Sol. I have not tried hyperterminal, so I'm not sure how well the instruction list would suit it.
 
Hugo, believe me I am running out of patience with my Hyperterminal setup. So I looked briefly into using TeraTerm as I have my son's hand-me-down HP laptop running Windows 10. It has USB and HDMI and Ethernet ports, but no classic 9-pin or 25-pin serial port connectors. Maybe I could use a USB to 9-pin serial port adapter?
I did check my 9-pin to 25-pin cable connections and pin 2 and pin 3 are swapped in a null modem configuration. I also checked my Sol-20 serial interface switch settings and I now have them as you described. I need to check if the 486 PC serial port is actually outputting a signal with the COM port I have selected in Hyperterminal. I will bring out my oscilloscope and check this later this evening or tomorrow.
All this effort to get a disk drive setup on my Sol-20 with the ability to load and save BASIC programs is making me want to bring out my cassette recorder....
 
Don't forget there are two crossings in the Null modem cable, the Tx and Rx pins 2 & 3 are crossed, but so are the RTS and CTS connections, so check those too.
With a null-modem cable going from a DE9 to a DB25 don't cross pins 2 and 3, they're already swapped. Double check your cable and check device manager to make sure that your com port is properly enabled.

See:
https://en.wikipedia.org/wiki/Null_modem

Nothing wrong with Hyperterm as long as you're connecting to a valid com port; it doesn't have as many options as PuTTY or Teraterm etc., but some see that as a plus ;-)

As mentioned above, disconnect the cable, turn off local echo and jumper pin 2 to pin 3; what you type should appear on the screen and stop when you remove the jumper.
 
Last edited:
I used my oscilloscope on the 9-pin serial port on pins 2 and 3 at different times and I see a constant distorted 17ms sine wave. I tried using selecting COM2 and COM3 (COM1 and COM4 gave an error) and sending the 'train.ent' file and did not see any difference in activity on pins 2 or 3. I do not think I am correctly selecting the 9-pin serial port, but not sure how this can be done. I going to throw in the towel on using my 486 PC and try a more modern approach using a Windows 10 laptop running Teraterm and USB to 9-pin serial connector adapter. Can anyone recommend a USB to 9-pin serial adapter?
 
With a null-modem cable going from a DE9 to a DB25 don't cross pins 2 and 3, they're already swapped.

It can get awkward because of the fact that the pin assignments (numbers) for the 9 pin and 25 pin connector, were swapped for pin 2 and 3. It pays to remember that it is just a number assignment as they are two different connectors.

On a 9 pin connector, Rd is pin 2 and Td is pin 3. But on a 25 pin connector Rd is pin 3 and Td is pin 2.

The implication is that if you just have a "25 pin to 9 pin cable adapter" the wires are crossed considering the pin numbers 2 and 3 on each connector, but if you have a "Null Modem 9 pin to 25 pin cable" then its pin 2 to pin 2, and pin 3 to pin 3, and magically the numbers are no longer crossed if you were looking at the pin numbering in the connector shells and checking with the meter.

This is when confusion can set in with a cable that is simultaneously both a 25 pin to 9 pin adapter combined with a null modem crossing of some of the cables at the same time. It creates a more confusing scenario to test the cable. This is one reason I went for (as shown on another post) a 25 to 25 pin null modem cable that I could easily test and verify, and a separate 25 to 9 pin adapter.
 
Yes, what Hugo said above!

See: https://duckduckgo.com/?t=ffnt&q=rs.../computer-networks/rs-232-interface/rs232.JPG

Not all of the lines are used in all cases and then the use of Xon/Xoff is the final huddle to solve - both use it or both don't.

Those foreign made DB9 to DB25 adapters are not all the same so check if what you think what pin it connected to the other end is what is shown on it's label. The DB25 "null modems" I've purchased over the years were not true null modems - I found a few that only swap pins 2 & 3 and not the handshaking lines. Pin 2 & 3 swapped properly, but a computer that also needs hardware handshaking swapped and not getting a CTS signal doesn't try to send data until the handshaking is connected correctly. Talking in tongues and reverting to salty navy language led me to buying the troubleshooting device so I kept my sanity.

It is all simple if you take your time and check for 2 to 3, 3 to 2, 4 to 5 (20 too?), 5 to 4 and maybe pin 20. Five pins for 99.99% of all RS-232's and then correct software settings.

I long ago started to use a RS-232 troubleshooting device that has LED's for all the DB25 pins so I can see if I've got the connections correct or if there was a need to swap connections. I didn't find the need to get a DB9 version since I just used DP9/DB25 adapters. Sometimes when working with a new (to me) S-100 system it took some time to communicate the 1st time. Soon I knew that there wasn't always standard wiring for early (1970's/80's) computer serial port pin outs. Or even all using a male/female connector. Plus some computer ports might act as a data terminal and others may act as a modem for expected wiring to the their connectors. I ended up rewiring a few serial ports, soldering new wiring to pins and used all female connectors, so as to matched with my CRT terminal DB25 port's expectations and a male to male cable. Then I was sure to not have to remember if I need a null modem or gender swap in line to make a computer work with my terminals. Plug and play once I made them all match each other. Rambling and beyond the scope of your needs. :p
 
Ok. I did not notice that on a 9 pin connector, Rd is pin 2 and Td is pin 3. But on a 25 pin connector Rd is pin 3 and Td is pin 2. Thanks for the notice and clarification. I am still of the opinion that I am not able to actually send data out of the 486 PC 9-pin serial port via Hyperterminal, but, I guess, I could be wrong about this as well. I watched a video on YouTube that showed a person using a more modern Windows laptop with Teraterm application loading PC2FLOP file. He does not give the details of the connection between the modern laptop and the Sol-20, but it worked great. My guess is that that connection consists of a USB to 9-pin serial connector and a null modem adapter. I even viewed a video on YouTube with a person using a MacBook Pro (my preferred laptop) to transfer a file to a Sol-20. I'd like to move forward with a modern laptop solution and looking for recommendations/instructions on how to perform a file transfer to my Sol-20 with this configuration. Thanks.
 
Since I always use a light box. Anything else is wasting time. I always check both sides before going to the next step of connection things together. You never cross connect two driven pins.
At the PC end, first set it up with no hand shake. That allows you to see things. I always start with the slowest baud rate you can set. You can then see the signal switching up and down. You can use a scope but with a light box, you get to see everything.
Make sure your 9 pin connector is actually connected to a serial device and it isn't a monitor output. ( Look under the cover ).
Dwight
 
Hugo, I have my Windows laptop ready. I have downloaded Tera Term application and will be picking up a USB to 9-pin serial port adapter later today. Can you send me/post the step-by-step instructions for downloading a file to the Sol-20 using Tera Term? Thanks.
 
I know your determined to blame the software but you should still have a LED test box. I see a cheap one on ebay for $15 plus shipping ( used ). It will save you hours of frustration. Life is too short to be beating your head over some simple wiring issue. You'll know right away if the port is there, even if the software does not get to it. The TX pin is powered all the time. It doesn't require software to power it. It just requires software to make the light change color. It will also tell you if there is a problem sending from the Sol side as well.
Dwight
 
Hugo, I have my Windows laptop ready. I have downloaded Tera Term application and will be picking up a USB to 9-pin serial port adapter later today. Can you send me/post the step-by-step instructions for downloading a file to the Sol-20 using Tera Term? Thanks.

I will do it tonight after work.
 
Pop the Champagne! I am finally able to send a .ent file to the serial port on my Sol-20. I bought a USB to 9-pin serial port adapter and installed the driver and Tera Term onto my HP laptop running Windows 10. I connected the USB to 9-pin serial port adapter to my 9-pin serial to 25-pin cable to a 25-pin null modem adapter to my Sol-20 serial input port. I had to adjust a couple of settings in the Tera Term Serial port settings and Terminal settings, but I was able to send train.ent file over to my Sol-20 and enter command EX 100 to get the train program to run. I followed that up with sending targ.ent and trk80.ent and they both worked fine. What a relief to finally be able to send files to my Sol-20 via the serial port. Tomorrow I will try to send PC2FLOP.ent and see if I can get a Northstar DOS 5.1 disk created. Thanks to everyone for the help.
 
Pop the Champagne! I am finally able to send a .ent file to the serial port on my Sol-20. I bought a USB to 9-pin serial port adapter and installed the driver and Tera Term onto my HP laptop running Windows 10. I connected the USB to 9-pin serial port adapter to my 9-pin serial to 25-pin cable to a 25-pin null modem adapter to my Sol-20 serial input port. I had to adjust a couple of settings in the Tera Term Serial port settings and Terminal settings, but I was able to send train.ent file over to my Sol-20 and enter command EX 100 to get the train program to run. I followed that up with sending targ.ent and trk80.ent and they both worked fine. What a relief to finally be able to send files to my Sol-20 via the serial port. Tomorrow I will try to send PC2FLOP.ent and see if I can get a Northstar DOS 5.1 disk created. Thanks to everyone for the help.

Glad you worked it out.

Useful programs on CP/M (which I use on my SOL) are PCGET and PCPUT. For example to transfer a .ASM or .COM files to the floppy disk, with TeraTerm, it requests an Xmodem protocol , For example you simply type on the sol (in CP/M) PCGET FILENAME.ASM, it then says transfer the file by Xmodem, then in Teraterm for this you select the "transfer file" option, select Xmodem for the send option and select the file/program to transfer.

So far I have only used CP/M with my SOL and the N* controller card, I still have to learn N* DOS. CP/M is handy because of the assembler and other utilities.
 
Back
Top