VOGONS


First post, by Pizmo

User metadata
Rank Newbie
Rank
Newbie

Hello.

I have an IBM AT 5170, and I'd like to play some MP games like Populous with my wife. I will be using the IBM, and my wife will be using a modern computer running dosbox. I'm thinking about trying a Null Modem to USB cable to connect the two computers, but before I waste the money buying the cables I need to know if dosbox is even capable of connecting to real hardware via Null Modem cable?

Reply 1 of 11, by Errius

User metadata
Rank l33t
Rank
l33t

I understand that DOSBox directly exposes the computer's serial port to the emulated programs so it should work, though I have not tried it.

Is this too much voodoo?

Reply 2 of 11, by Pizmo

User metadata
Rank Newbie
Rank
Newbie
Errius wrote on 2022-03-17, 14:01:

I understand that DOSBox directly exposes the computer's serial port to the emulated programs so it should work, though I have not tried it.

I guess the only way to know if it works is to try.

If I can get it to work can you recommend some games that support null modem and will run on a 286?

Reply 4 of 11, by Joakim

User metadata
Rank Oldbie
Rank
Oldbie

A little old period for me, but try this list: http://www.mobygames.com/browse/games/dos/tic,12/ti,84/

I saw stunt driver in the list. Not sure if that's accurate but if it is it sounds like fun.

Reply 6 of 11, by Pizmo

User metadata
Rank Newbie
Rank
Newbie

I recieved the null modem to USB cable from Amazon today. I connected everything up and voila it works like a charm!!!

So for anyone wondering if you can connect dosbox to real hardware via null modem cable the answer is, yes!

Reply 7 of 11, by Pizmo

User metadata
Rank Newbie
Rank
Newbie
Joakim wrote on 2022-03-17, 21:11:

A little old period for me, but try this list: http://www.mobygames.com/browse/games/dos/tic,12/ti,84/

I saw stunt driver in the list. Not sure if that's accurate but if it is it sounds like fun.

Thank you for the link. Now that I have this working I'm definitely going to be making use of this list. Stunt driver would definitely be a good one.

Reply 8 of 11, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Years ago, I used a null-mode connection between DOSBox and an old PC
See https://www.youtube.com/watch?v=z9EoRA8ETUs

The problem with USB adapters is, that they don't provide true RS-232 compatible levels (no +/-12v, just 5v or 3.3v).
That means, that data transfer between intelligent devices such as PCs or modems works fine usually,
but not necessarily the bit-banging of old electronics (transistors, relays etc).

Another stumbling stone is the FiFo chip.
ATs had the 16450 chip, which -in practice- has a non-functional buffer.
It also caused lots of unecessary interrupts, which slowed Windows and other stuff down.
That's why people in the 90s replaced their 16450 by 16550A chips.
They desoldered the 16450 on their Multi-I/O cards or motherboards and added a socket, with the 16550A plugged into.
See http://www.byterunner.com/why.html

The 16550A was 99% pin-compatible (one pin had new function ?) with the old chip and used as a drop-in replacement.
Software like Windows 3.x had a FiFo entry in their INI files to enable 16550A support.
Otherwise, it emulated the 16450 (default on power on).

Some of my old postings, maybe have useful info still:
Re: File transfer over serial to MSDOS5 8086 computer
Re: What mouse connection is this?
Re: My childhood Peacock 8MHz XT

Edit: The old 16450 can handle 9600 Baud just fine, afaik. Even on Windows 3.1x.
However, after this, things get unstable. Oh, and Windows does allow much higher port speeds than the dialog says.
Just manually edit win.ini/system.ini. Windows 3.1x will accept higher values (usable only with a modern FiFo).

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 9 of 11, by darry

User metadata
Rank l33t++
Rank
l33t++

I always believed that USB to RS-232 adapters that come equipped with a DB9 connector are able to handle and outout RS-232 levels, presumably by integrating something like a MAX232 to handle conversion to/from the USB adapter's TTL inputs/outputs .

Reply 10 of 11, by Jo22

User metadata
Rank l33t++
Rank
l33t++
darry wrote on 2022-08-31, 05:24:

I always believed that USB to RS-232 adapters that come equipped with a DB9 connector are able to handle and outout RS-232 levels, presumably by integrating something like a MAX232 to handle conversion to/from the USB adapter's TTL inputs/outputs .

Hm, I think it depends on the type of USB/RS-232 converter.
The cheap ones with a DE-9 connector you can find on eBay are 12v tolerant, but don't generate plus/minus 12 volts.
That's how they differ from the other types, the USB TTL or USB TTL converters as used by Arduino people. They must not be operated past 5v (or 3,3v nowadays).

That being said, there used to be high quality USB Serial converters, like the Keyspan USA-19HS and its sisters.
These are intelligent, programmable converters. They also worked on Mac OS 9 and could emulate the old Mac ports (to some degree).

The problem is, that the RS232 has 8 I/O lines, but the MAX232 charge pump can only handle 2 signals simultanously. RXD and TXD, in our case, I assume.
"It has two drivers and two receivers. Which can be used at the same time for the conversion of data between two different RS232 and TTL/CMOS devices."
Source: https://microcontrollerslab.com/max232-ic-pin … iption-example/

Also, the MAX232 is almost as big as the whole USB Serial adapter itself.
- To be fair, back in the 1980s, it was tiny compared to a Z80 SIO..

Fun fact: Some people used the LM7805 voltage regulator as a step-down converter from RS232.
The 7805 was connected directly to the TXD pin (RS232 side); thus whenever a +12v level was there, it was converted to 5v.
This was a poor man's approach for TTL/RS232 conversion.
On the TTL side, a diode (optional) connected to the TXD pin to RXD (RS232 side).
The RS232 was tolerating a +5v signal as a +12v signal (circa +3v was the minimum).

Edit: The same could have been done with a dozen diodes in series, I assume.
Also, it's perhaps safer to add a few extra resistors for current limiting,
despite the fact that the real RS232 (16550 UARTs) already has current limiting and protective diodes built-in. 😉

Another cool thing: The MAX232 was also used as a cheap voltage supply for +12v/-12v.
More precisely, to generate positive/negative voltages needed for opamps (operational amplifier), like the 741.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 11 of 11, by darry

User metadata
Rank l33t++
Rank
l33t++
Jo22 wrote on 2022-08-31, 13:26:
Hm, I think it depends on the type of USB/RS-232 converter. The cheap ones with a DE-9 connector you can find on eBay are 12v to […]
Show full quote
darry wrote on 2022-08-31, 05:24:

I always believed that USB to RS-232 adapters that come equipped with a DB9 connector are able to handle and outout RS-232 levels, presumably by integrating something like a MAX232 to handle conversion to/from the USB adapter's TTL inputs/outputs .

Hm, I think it depends on the type of USB/RS-232 converter.
The cheap ones with a DE-9 connector you can find on eBay are 12v tolerant, but don't generate plus/minus 12 volts.
That's how they differ from the other types, the USB TTL or USB TTL converters as used by Arduino people. They must not be operated past 5v (or 3,3v nowadays).

That being said, there used to be high quality USB Serial converters, like the Keyspan USA-19HS and its sisters.
These are intelligent, programmable converters. They also worked on Mac OS 9 and could emulate the old Mac ports (to some degree).

The problem is, that the RS232 has 8 I/O lines, but the MAX232 charge pump can only handle 2 signals simultanously. RXD and TXD, in our case, I assume.
"It has two drivers and two receivers. Which can be used at the same time for the conversion of data between two different RS232 and TTL/CMOS devices."
Source: https://microcontrollerslab.com/max232-ic-pin … iption-example/

Also, the MAX232 is almost as big as the whole USB Serial adapter itself.
- To be fair, back in the 1980s, it was tiny compared to a Z80 SIO..

Fun fact: Some people used the LM7805 voltage regulator as a step-down converter from RS232.
The 7805 was connected directly to the TXD pin (RS232 side); thus whenever a +12v level was there, it was converted to 5v.
This was a poor man's approach for TTL/RS232 conversion.
On the TTL side, a diode (optional) connected to the TXD pin to RXD (RS232 side).
The RS232 was tolerating a +5v signal as a +12v signal (circa +3v was the minimum).

Edit: The same could have been done with a dozen diodes in series, I assume.
Also, it's perhaps safer to add a few extra resistors for current limiting,
despite the fact that the real RS232 (16550 UARTs) already has current limiting and protective diodes built-in. 😉

Another cool thing: The MAX232 was also used as a cheap voltage supply for +12v/-12v.
More precisely, to generate positive/negative voltages needed for opamps (operational amplifier), like the 741.

Thank you for that info.

I have a few branded USB serial adapters and a few non-name ones (at least on of which has a counterfeit Prolific chip, AFAICR) with DB-9 from about 15ish years, they always worked for my use cases over the years . I'll keep your post in mind if I ever hit a use case where something does not work.