VOGONS


First post, by radiance32

User metadata
Rank Member
Rank
Member

Hi all,

I'm not very knowledgable about MS-DOS and drivers / low-level system architecture etc...

I'm sure at least some of you know about serdaco's ps2serial, an active adapter that translates PS/2 mouse protocol into RS-232 serial microsoft mouse protocol,
so people can hook up modern PS/2 mice to retro PCs with only an RS-232 port.

I was wondering if it would be possible to, from a software point of view, do the same but for a PS/2 keyboard.
I'm sure making the hardware and firmware would'nt be an issue,
but is it possible to create a driver or TSR for MS-DOS that can implement the keypresses received from the device on the RS-232 port.
Furthermore, would it be possible to do this on a pre 386 type machine, eg an XT 8086/186 or 80286 CPU equipped machine.

I'm just researching the possibility of creating a gamepad interface that connects to the RS-232 port and can be configured to emulate certain keypresses so
MS-DOS games that only support the keyboard can be played with a gamepad, and it has to be with an RS-232 device as it would be for laptops and palmtops, aswell as normal desktop PCs...
Can't use the parallel port as this port would be in use with a serdaco OPL3LPT or S2P or similar sound card to provide sound or the DOS game being played, so only RS-232...

Or, if you know of any RS-232 MS-DOS gamepads or adapters for one, please let me know! big thanks in advance 😉

Thanks for any feedback!,
Radiance

Check out my new HP 100/200LX Palmtop YouTube Channel! https://www.youtube.com/channel/UCCVChzZ62a-c4MdJWyRwdCQ

Reply 1 of 9, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

For software that is well behaved in DOS and uses DOS system calls... (i.e. only a small percent of the general DOS game library unfortunately) you can redirect the com port to the console to allow text input from a serial device. This is how early barcode readers and some POS keypads worked in the past, possibly some other specialist commercial input devices also.

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 2 of 9, by rasz_pl

User metadata
Rank l33t
Rank
l33t

At first I was a firm no without 386 (virtual86 mode) or hardware addon plugged into keyboard controller socket fully emulating keyboard controller and closed this Tab.
... but couldnt stop thinking about it and came back 15 minutes later 😀

1 There might be a keyboard controller command allowing you to push particular value into output buffer
http://cc.etsii.ull.es/ftp/antiguo/EC/AOA/APPND/Apndxc.pdf
20 Transmit keyboard controller’s command byte to system as a scan code at port 60h.

this might work?

D2 Write keyboard buffer. The keyboard controller returns the next value sent to port 60h as
though a keypress produced that value. (PS/2 only).

this one if PS/2 controller is present is absolutely what we need and would allow us to inject keypresses willy nilly

2 Back to hardware hacks. Afaik some? early 80s palmtops ran NMI emulated keyboard controllers. Every time code tried accessing ports 60/64 NMI was called and bios substituted values on the fly in the background. Olivetti Prodest even emulated its DMA controller this way. This would sadly require hardware addon to decode port accesses and call NMI.

EDIT:
>heck out my new HP 100/200LX Palmtop YouTube Channel!

Do you know how HP did it internally in SB60168? Did anyone analyze the firmware?

Open Source AT&T Globalyst/NCR/FIC 486-GAC-2 proprietary Cache Module reproduction

Reply 3 of 9, by Jo22

User metadata
Rank l33t++
Rank
l33t++

In the 1970s, so called "ASCII keyboards" existed.
They were used to interface to the SIO chip of Z80 terminals / CP/M computers..

These had no chassis and looked like this:
https://makezine.com/2006/08/18/how-to-build-an-ascii-key/

"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 4 of 9, by snufkin

User metadata
Rank Oldbie
Rank
Oldbie

Thread here: https://www.vcfed.org/forum/forum/genres/pcs- … port#post700389
Led to here: https://web.archive.org/web/20160810043813/ht … ds/barwedge.zip

Which sounds like the sort of the thing BitWrangler mentioned about. The vcfed thread says it doesn't work for all software.

Reply 5 of 9, by rmay635703

User metadata
Rank Oldbie
Rank
Oldbie
Jo22 wrote on 2022-02-15, 06:09:
In the 1970s, so called "ASCII keyboards" existed. They were used to interface to the SIO chip of Z80 terminals / CP/M computers […]
Show full quote

In the 1970s, so called "ASCII keyboards" existed.
They were used to interface to the SIO chip of Z80 terminals / CP/M computers..

These had no chassis and looked like this:
https://makezine.com/2006/08/18/how-to-build-an-ascii-key/

The 1976 era CASI Apollo VP2 an s100 bus computer portrait device had an optional DB25 serial keyboard in its own little metal case

Admittedly it was a little more complex than a typical ASCII keyboard because it could draw larger ASCII Graphical characters made of a bunch of small ASCII characters written directly to the frame store of a machine that made and printed wide carriage ASCII portraits, really wish I got they keyboard with mine, had an 808X cpu, memory and rom inside.

Reply 6 of 9, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

Grinding through some old FTP archives, best way to find DOS specific stuff, google won't look there, SEO is non existent. Anyhoo, two things came up so far at http://www.retroarchive.org/cdrom/garbo_dos/comm/index.html .... now these are really "starting points" maybe, see how they do it, rather than solutions that work off the shelf... in that directory are com2com and dosgat18 which both sound interesting.

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 7 of 9, by rasz_pl

User metadata
Rank l33t
Rank
l33t

> com2com Remote operation of PC by modem
> dosgat18 Use MsDos machine over serial port

Those are communication programs, most likely let you use basic dos commands. Not helpful in making serial device that simulates keypresses.

HP 100.200LX specific:
https://www.palmtoppaper.com/ptphtml/14/pt140040.htm

"PUSHKEYS is a TSR (Terminate and Stay Resident) program that reads the contents of a .MAC file created by the 100LX System Macros application and sends each macro keycode to the keyboard buffer. PUSHKEYS sends all the macros in a particular .MAC file to the keyboard buffer, starting with F1 and going through F10. This has the same effect as sequentially running all the macros in a .MAC file."

the question is what do they mean by "keyboard buffer", if its actual emulated keyboard buffer then you can modify this program to do serial joystick, if they mean DOS keyboard buffer then its only going to work with primitive dos programs and no games.

another one to look into (disassemble to see what it really does) is key200 in 200LX rom

btw I just read a fascinating article written by Porsche test engineer using souped up 200LX http://www.hpmuseum.net/pdf/TheHPPalmtopPaper … l-Aug98_OCR.pdf

I had almost decided that the 200LX was a nice little gadget, but not as useful as expected. Then I discovered that EXP had just […]
Show full quote

I had almost decided that the 200LX was a nice little gadget, but
not as useful as expected. Then I discovered that EXP had just introduced their 8 MB modem/ memory combo card. Some bucks later I Was online with my new card. What a
difference! Palmi was transformed into a power machine. No more
memory problems and no more need for that bulky external modem.
Unfortunately, the 8 MB of memory on the EXP card did not
last long, and I was one of the first in Germany to opt for the internalS
MB and double-speed upgrade on my Palmtop (more on this later).
The extra memory didn't last long, and again, I upgraded to 8 MB of
internal memory and a 20 MB SanDisk ATA Flash card. To this I
added an IODA T A 20 MB modem/ memory combo card (normally available only in Japan) and a
TransDigital parallel port card.

Open Source AT&T Globalyst/NCR/FIC 486-GAC-2 proprietary Cache Module reproduction

Reply 8 of 9, by radiance32

User metadata
Rank Member
Rank
Member

Thanks to everyone that replied to my post.
I'm going to read everything and check out all the links to off-forum resources etc,
but it does look quite simple, I completely forgot about those old serial barcode readers, I guess that's probably the solution to my question...

Thanks all for replying!,
Radiance

Check out my new HP 100/200LX Palmtop YouTube Channel! https://www.youtube.com/channel/UCCVChzZ62a-c4MdJWyRwdCQ

Reply 9 of 9, by radiance32

User metadata
Rank Member
Rank
Member
rasz_pl wrote on 2022-02-16, 00:04:
> com2com Remote operation of PC by modem > dosgat18 Use MsDos machine over serial port […]
Show full quote

> com2com Remote operation of PC by modem
> dosgat18 Use MsDos machine over serial port

Those are communication programs, most likely let you use basic dos commands. Not helpful in making serial device that simulates keypresses.

HP 100.200LX specific:
https://www.palmtoppaper.com/ptphtml/14/pt140040.htm

"PUSHKEYS is a TSR (Terminate and Stay Resident) program that reads the contents of a .MAC file created by the 100LX System Macros application and sends each macro keycode to the keyboard buffer. PUSHKEYS sends all the macros in a particular .MAC file to the keyboard buffer, starting with F1 and going through F10. This has the same effect as sequentially running all the macros in a .MAC file."

the question is what do they mean by "keyboard buffer", if its actual emulated keyboard buffer then you can modify this program to do serial joystick, if they mean DOS keyboard buffer then its only going to work with primitive dos programs and no games.

another one to look into (disassemble to see what it really does) is key200 in 200LX rom

btw I just read a fascinating article written by Porsche test engineer using souped up 200LX http://www.hpmuseum.net/pdf/TheHPPalmtopPaper … l-Aug98_OCR.pdf

I had almost decided that the 200LX was a nice little gadget, but not as useful as expected. Then I discovered that EXP had just […]
Show full quote

I had almost decided that the 200LX was a nice little gadget, but
not as useful as expected. Then I discovered that EXP had just introduced their 8 MB modem/ memory combo card. Some bucks later I Was online with my new card. What a
difference! Palmi was transformed into a power machine. No more
memory problems and no more need for that bulky external modem.
Unfortunately, the 8 MB of memory on the EXP card did not
last long, and I was one of the first in Germany to opt for the internalS
MB and double-speed upgrade on my Palmtop (more on this later).
The extra memory didn't last long, and again, I upgraded to 8 MB of
internal memory and a 20 MB SanDisk ATA Flash card. To this I
added an IODA T A 20 MB modem/ memory combo card (normally available only in Japan) and a
TransDigital parallel port card.

This looks exactly like what I'm after (PUSHKEYS), thanks a lot!

Radiance

Check out my new HP 100/200LX Palmtop YouTube Channel! https://www.youtube.com/channel/UCCVChzZ62a-c4MdJWyRwdCQ