HP 200LX MS-DOS 5.00

Discuss MS-DOS, Windows 1, 2 and 3.
Post Reply
androda
Posts: 4
Joined: Tue May 05, 2015 3:14 am

HP 200LX MS-DOS 5.00

Post by androda »

Hello everyone, this is my first post here.

I have recently acquired an HP 200LX from 1995 which reports that it runs MS-DOS 5.00 when I use the 'ver' command. It is running version 1.02 A of the HP 200LX firmware line (the latest version).

Is there any interest in attempting to preserve the specific, modified version of MS-DOS 5.00 which this device runs?
The device comes with a whole suite of 'PIM' (Personal Information Management, as they called it back in the day) software as well as a version of Lotus 1-2-3 which I think is specific to the HP 200LX.

My attempts to use a disk-to-image program have failed as the MS-DOS software is burned into ROM as the D: drive and cannot be dismounted to copy, as many image programs do. I was, however, able to use the built-in xcopy function to duplicate the files to another location (memory card). Though I doubt this would fulfill the submission guidelines, it's the best I was able to do with the limited number of disk image programs I could find which are compatible with MS-DOS 5.00.

Is there any interest in preserving this particular version of DOS + extra stuff?

I only found a single thread about these HP LX devices, and no one mentioned attempting to back up their ROM.

Thanks for your time.

mallard
Posts: 124
Joined: Thu Mar 27, 2014 12:23 pm

Re: HP 200LX MS-DOS 5.00

Post by mallard »

I have a 200LX (and a 100LX), but from what I can tell, the only things on the D: drive are the MS-DOS utilities. The actual DOS "kernel" (MSDOS.SYS / IO.SYS) doesn't exist as a file, purely as a ROM which is mapped directly into RAM.

Dumping the ROM would still be possible, but the "disk image" technique would not get any of the more interesting parts of the system.

It's probably also worth looking at how the ROM actually functions (from the amount of software in it, I expect there's some bank switching going on) so that all the HP System Manager (the GUI task-switching environment used by the devices) software, 123, etc. can be dumped, since very little of this exists in "file" form.

Some, but not all, of the software was available for "ordinary" PCs as the "HP Connectivity Pack", so if it's possible to dump out the extra software in ROM, it might be possible to make it work with the Connectivity Pack's version of the System Manager.

androda
Posts: 4
Joined: Tue May 05, 2015 3:14 am

Re: HP 200LX MS-DOS 5.00

Post by androda »

You make a very good point, mallard.

In looking through the files which I dumped, most of them are just DOS related. No special software is present there, aside from one interesting thing: D:\BIN\200.COM

200.COM is used to start the built in System Manager software, and it contains just this hexadecimal data: "EA 00 00 00 F0"

According to http://ref.x86asm.net/coder-abc.html the 'EA' opcode is a 'jump' instruction, so control is being continued somewhere else. Since the 80186-compatible chip in the HP 200LX has an odd 20-bit address bus, I think this tells the system to jump to the address 'F0' which is pretty low in memory. Some kind of interrupt, or just jumping into the ROM perhaps.

I don't think I have the courage right now to try and hook up my 200LX's ROM chips to a dumper (as this would likely involve de-soldering them). Maybe I can write a program to dump the ROM. DOS isn't known for its security provisions.

Battler
User avatar
Donator
Posts: 2117
Joined: Sat Aug 19, 2006 8:13 am
Location: Slovenia, Central Europe.
Contact:

Re: HP 200LX MS-DOS 5.00

Post by Battler »

- androda: Remember, that the x86 is little endian, and far jumps, such as 0xEA, even provide the address in the segment:offset format, so that's really a jump to F000:0000, ie. F0000 when translated to linear format. That's actually the very start of the segment where the BIOS is.

Edit: And the 20-bit bus is actually x86 standard. It allows it to address up to 1 MB memory. The segment:offset format is itself 20-bit, as the linear address is (segment * 16) + offset, which is 20 bits total.

Edit #2: And it's very interesting to preserve this. In fact, with enough specifications, I could even attempt to emulate the HP 200LX in PCem-X.
Main developer of the 86Box emulator.
Join the 86Box Discord server, a nice community for true enthusiasts and 86Box supports!

The anime channel is on the Ring of Lightning Discord server.

Check out our SoftHistory Forum for quality discussion about older software.

androda
Posts: 4
Joined: Tue May 05, 2015 3:14 am

Re: HP 200LX MS-DOS 5.00

Post by androda »

Well, I don't know if this is going to be useful, but I found a page talking about how to use the 'debug' command to dump memory. http://www.mlsite.net/blog/?p=47 Having read this page, I thought to myself, what if I just tell debug to dump a huge amount of memory? Will that allow me to debug into the ROM?

I'm fortunate to have a 128MB compactFlash card which works with my 200LX - no issues at all, just general slowness because it's old flash on an old device.

Here are the steps I followed (these steps are to be executed at the DOS command prompt, in a location which has at least 17MB of free storage):
debug #Enters the debug mode
r bx #Reads the bx register and prompts you to enter a new value
100 #The new value for bx
r cx #Reads the cx register and prompts you to enter a new value
0000 #The new value for cx
n 16M.bin #The name of the dump file
w 0:0 #Write out the data, starting at offset 0:0

This produced a file 16,777,216 bytes in size.

Looking through it in a hex editing program, it looks like after a certain amount of memory is read, the 200LX just starts to repeat itself.

I don't know enough assembler to be able to read through the file which resulted, but I'm happy to provide it on request to those who are interested.

Some of the more notable extracts include:
"Non-System disk or disk error Replace and press any key when ready"
"$$$$MS DOS Version 5.00 (C)Copyright 1981-1991 Microsoft Corp Licensed Material - Property of Microsoft All rights reserve"

Like I said, I don't know if dumping this way allows us to look into the ROM or BIOS - but it was fun anyway. :)

Battler
User avatar
Donator
Posts: 2117
Joined: Sat Aug 19, 2006 8:13 am
Location: Slovenia, Central Europe.
Contact:

Re: HP 200LX MS-DOS 5.00

Post by Battler »

- androda: Could you please send me that memory dump? I could look through it and see if I can make any use of it (most probably, yes, I could).
Main developer of the 86Box emulator.
Join the 86Box Discord server, a nice community for true enthusiasts and 86Box supports!

The anime channel is on the Ring of Lightning Discord server.

Check out our SoftHistory Forum for quality discussion about older software.

androda
Posts: 4
Joined: Tue May 05, 2015 3:14 am

Re: HP 200LX MS-DOS 5.00

Post by androda »

I PM-ed you with the memory dump a few days ago. I hope it has been useful somehow. I can try dumping a different memory segment if you'd like.

DiskingRound
User avatar
Posts: 1535
Joined: Thu May 01, 2014 10:26 pm
Location: Inside the space between . and I

Re: HP 200LX MS-DOS 5.00

Post by DiskingRound »

@androda: Can you also send me that memory dump? I'd also be interested in it, and see if there are any interesting things in the dump.
Edit: Since Androda just PMed me with a memory dump, I'd like to share some findings of mine:
-Near the end of the file, there is "ROM BIOS Ver 2.14", meaning the version of this BIOS is 2.14.
-Almost at the end, at offset 0xFFFFF5, there is a date: 05/24/94.
-Appearing randomly in the file: "PSQRW". What the...?

Battler
User avatar
Donator
Posts: 2117
Joined: Sat Aug 19, 2006 8:13 am
Location: Slovenia, Central Europe.
Contact:

Re: HP 200LX MS-DOS 5.00

Post by Battler »

DiskingRound wrote:-Appearing randomly in the file: "PSQRW". What the...?
Those are PUSH and POP instructions. They move register values to/from the stack. And most compilers make the machine code subroutines begin with a series of PUSH's, and end with a series of POP's, hence why you see who PSQR... sequences.
Main developer of the 86Box emulator.
Join the 86Box Discord server, a nice community for true enthusiasts and 86Box supports!

The anime channel is on the Ring of Lightning Discord server.

Check out our SoftHistory Forum for quality discussion about older software.

Post Reply