• Please review our updated Terms and Rules here

PDOS/386 using CHS

kerravon

Experienced Member
Joined
Oct 31, 2021
Messages
145
Hi.

I bought a Hand 386 second-hand since they were out of stock new. I was surprised that PDOS/386 didn't boot. It said that it couldn't read the VBR. At the time I didn't know that that was a message from the MBR code, but when I started the debug process I found this to be the case.

The CF card that I was using had the BIOS reporting that LBA was not active so I thought that was the problem - my MBR needs (needed) the INT 13H extended calls. I spent some time trying to force the LBA to be activated in the BIOS, but then the physical machine started making a noise and stopped working. After not much use.

Then new Hand 386 became available again, so I bought another one. After debugging I discovered that the computer was automatically detecting whether to activate LBA translation if it saw a head in the partition table that exceeded 15, so presumably outside the IDE specs. And changing that didn't solve the problem. Further debugging showed that the issue was that some extensions were supported, but not the read function I needed. So I finally had to bite the bullet and switch from LBA to CHS in the MBR. This meant writing in assembler which I'm not very good at (I didn't write the original MBR code). But I was successful.

Then I went to test out the new CHS version (working under emulation) on the Hand 386. On the very first test the Hand 386 started making a noise and broke too.

It was only delivered a week ago or something, but it's out of stock again.

Does anyone have a real 80386 SX or DX and a BIOS that only supports CHS? I originally started development on a real 80386 SX with 4 MB of memory but it has been decades since I have had access to real hardware until this Hand 386 (and then PDOS failed - but for an unrelated reason - the switch to LBA because that's all I had code-wise (public domain))?

If you're willing to test this for me, http://pdos.org/pdos.zip has the disk image.

Also, with CHS working I then tried getting the CDROM to work, where I found more CHS issues, which have also been resolved (sort of) under Bochs emulation (which only does CHS on CDs for some reason). So there is a http://pdos.org/pdosiso.zip too if you have a real CDROM on a CHS-only system.

Thanks. Paul.
 
Then I went to test out the new CHS version (working under emulation) on the Hand 386. On the very first test the Hand 386 started making a noise and broke too.

... wait. You bought one of those, it lasted, what, a month or two before making a sad squeaking noise and dying... and then you bought another one? Which then died first time you used it?
 
... wait. You bought one of those, it lasted, what, a month or two before making a sad squeaking noise and dying... and then you bought another one? Which then died first time you used it?

Not the first time I used it. It booted to MSDOS when it arrived, but when I used PDOS/386 it stopped at the boot sector, which I basically expected. It was only when I believed that I had debugged the problems with PDOS/386 and was ready to do the major/exciting test that it died.

If I can buy another one, I really only need one shot and that should be enough to prove that the last 30 years of my life haven't been wasted.

Well, it's not wasted regardless, but I will be able to prove that my design would have worked back with the Compaq in 1986. Well, same class anyway. A real 80386 and no LBA. I can't definitively prove the Compaq without an actual Compaq. And the Compaq is just one of many 80386 machines I would nominally want to test. So just any of them should do. And the Hand 386 has the advantage that it can actually be bought new. Again and again, apparently!
 
What is a CHS-only system, one that only supports HDDs up to 504 MB?

One that doesn't support INT 13H AH=42H so you are forced to use INT 13H AH=02H.

I don't mind if the 504 MB barrier is broken, to get to around 8 GB using LBA translation in the BIOS - I don't care what the BIOS does so long as it doesn't allow my OS to do an extended read to get above 504 MB.
 
Not the first time I used it. It booted to MSDOS when it arrived, but when I used PDOS/386 it stopped at the boot sector, which I basically expected. It was only when I believed that I had debugged the problems with PDOS/386 and was ready to do the major/exciting test that it died.

If I can buy another one, I really only need one shot and that should be enough to prove that the last 30 years of my life haven't been wasted.

Well, it's not wasted regardless, but I will be able to prove that my design would have worked back with the Compaq in 1986. Well, same class anyway. A real 80386 and no LBA. I can't definitively prove the Compaq without an actual Compaq. And the Compaq is just one of many 80386 machines I would nominally want to test. So just any of them should do. And the Hand 386 has the advantage that it can actually be bought new. Again and again, apparently!

How many doorstops do you need? :cautious:

Here is your Compaq...
 
I don't think I've ever seen a 386 class system with LBA support out of the gate.
LBA became a thing with the first dedicated PCI IDE controller chips. Only very late 486 systems had LBA support, and Pentium systems, of course.

Might be a confusion with E-CHS here (often called "LARGE" in the BIOS). That allowed larger numbers for CHS and could use up to 8 GB. But no 386 had that either. At least not during the time the 386 was still contemporary.
 
How many doorstops do you need? :cautious:

Here is your Compaq...

Doesn't ship to the Philippines and if it did would be very expensive compared to the Hand 386. Doesn't have a hard disk either.

I don't really want to maintain old physical equipment. I just want to target it.

Although the reason for doing that was largely bloody-mindedness, which I was hoping would cause something to crack. And it has indeed cracked to my satisfaction, so it's probably time for me to move on.

Although my ISA expansion slots for the Book 8088 (which I still have 2 working) have just arrived, so I might continue doing what I originally intended doing with that (read my Microsoft C 6.0 disks).
 
So you've spent almost $1000 total on these things? :poop:

If you just want to target various systems PCem is free.
 
So you've spent almost $1000 total on these things? :poop:

If you just want to target various systems PCem is free.

I have already tested on qemu and bochs and virtualbox.

Now I want to test on real hardware for closure. I just don't need to do it personally, although that was the original intention when I saw I could buy a new computer in a small form.
 
None of those can emulate specific systems like PCem. For example, you can emulate the Compaq Deskpro 386 with the original Compaq BIOS and all its limitations.
 
None of those can emulate specific systems like PCem. For example, you can emulate the Compaq Deskpro 386 with the original Compaq BIOS and all its limitations.

C:\pcem\roms\deskpro386>dir
Volume in drive C has no label.
Volume Serial Number is 4E58-AF11

Directory of C:\pcem\roms\deskpro386

2020-12-01 19:49 <DIR> .
2020-12-01 19:49 <DIR> ..
2020-12-01 19:49 47 roms.txt
1 File(s) 47 bytes
2 Dir(s) 4,656,168,960 bytes free

C:\pcem\roms\deskpro386>type roms.txt
This directory needs to contain some ROM files.
C:\pcem\roms\deskpro386>


Due to the nature of my work (producing a rival to Microsoft/IBM), I don't want to knowingly do anything illegal.

The Hand 386 was advertised new, and the seller is responsible for making sure they have legal copies of everything. From what I have read, they have recycled numerous old PCs to get chips from them, and they may well have legal copies of everything they are selling.

Even then I have still hedged against the software side of things - I have independently bought Win 95 (multiple copies as I decided I wanted a version that didn't say "for distribution with a new PC only" just in case I get pinged for that. On my vlog you can see me going through the license agreements as well, seeing if there is anything preventing me from using their software to create a rival.

Most interesting was MSDOS. I can buy it shrink-wrapped and without a "new PC only" restriction, but only as an upgrade to something else, so I have a chicken and egg problem. But luckily they mentioned I could upgrade from OS/2. And luckily OS/2 was available for sale without restriction, so I bought OS/2 1.2, and then was able to upgrade to MSDOS 6.22. And I bought Windows 3.0 and had it delivered before I typed "win" on my Book 8088 (I have 2 of them, both working, as well as my 2 broken Hand 386s).


P.S. I'm not the only person who is leery ...

C:\pcem>grep -i ask README.md
readme.md: ❗ Note: <b>NO COPYRIGHTED ROM FILES ARE INCLUDED NOR WILL THEY BE. PLEASE DO NOT ASK FOR THEM.</b>

C:\pcem>


P.P.S. I don't want to have approximately 30 years (not full-time) of work invalidated because of a copyright slip-up.


P.P.P.S. Even without doing anything wrong, I still get accused of copyright violation, because a trivial elf.h file happens to look similar to the original. Another example was a trivial assembler mainframe macro having the same parameter name as someone else's (that person withdrew the accusation, but not until after someone else had joined in with the accusations).
 
Last edited:
What frightens me more or less in this story: I have a Hand386 as well. @kerravon has two, runs his own software on them and breaks them. Does this mean there is a very bad design flaw in these machines that can kill them by running a particular piece of code?
 
What frightens me more or less in this story: I have a Hand386 as well. @kerravon has two, runs his own software on them and breaks them. Does this mean there is a very bad design flaw in these machines that can kill them by running a particular piece of code?

Note that the first Hand 386 died without ever getting past the MBR.

ie doing this:

mov ah,042h
mov si,offset lba_packet
int 013h ; BIOS LBA read (dl already set to disk number)

mov ah,0
int 013h ; reset disk system

mov bp,offset read_failure
jmp fatal_error

read_failure:
xx4 db "Failed to read volume boot record!",0


output_loop:
int 010h ; output
inc bp
fatal_error:
mov ah,0eh ; BIOS teletype
mov al,[bp] ; get next char
cmp al,0 ; check for end of string
jnz output_loop
hang:
; Bochs magic breakpoint, for unit testing purposes.
; It can safely be left in release, as it is a no-op.
xchg bx,bx
sti
hlt
jmp hang



And it succeeded in doing that multiple times as I tried to get an LBA option to work (before I had diagnosed the issue). I was playing around with the BIOS configuration options, not changing the code.

The second one died just as I changed the code for (hopefully - developers often get that wrong) last time. It was thus executing code that it had never executed before (although I am not sure whether it had even read the MBR when it died - I think it had though).

Would you like to try PDOS/386 on your Hand 386? I can refund the cost you paid if it fails on the first test.
 
P.P.S. I don't want to have approximately 30 years (not full-time) of work invalidated because of a copyright slip-up.

Unless you incorporate code from your pirated emulator ROM and distribute it there is no basis for a copyright claim against your software. Full stop. The distribution part is why PCem leaves it up to the end user to find their own ROMs, which puts them legally 100% in the clear.

If you’re really that paranoid have someone overseas buy a Compaq Deskpro for you, pull out the ROM chips, and send just those to you. Read them in an EPROM burner and as long as you only run that one copy of them while keeping the ROMs safely on the shelf you‘re also not “pirating” it. Backups for personal use are allowed.

But, seriously, no one is going to care.
 
I admire OP's desire to keep things on the level, but buying these Chinese portables is not achieving that goal. We all know what they did with Sergey's BIOS, and it's highly unlikely they actually have a license for the AMIBIOS used in the Hand386.
 
I admire OP's desire to keep things on the level, but buying these Chinese portables is not achieving that goal. We all know what they did with Sergey's BIOS, and it's highly unlikely they actually have a license for the AMIBIOS used in the Hand386.

The nicest thing you can possibly guess is that the AMI BIOS they used in them is the same one that came on the industrial PC/104 boards that they harvested the components for the Hand386 from, so while not strictly "licensed" for the exact hardware BOM they slapped it on it's also not *not* licensed for it? I'm sure several lawyers could dance on the head of this pin if they really wanted to.

I don't really want to maintain old physical equipment. I just want to target it.

As a general rule I hate applying car analogies to computers because, well, a lot of stuff simply doesn't map directly. (Like the fact that cars sold today are *not* capable of traveling at Mach 70, which is pretty much what they'd be doing if we took a 1990 model car as the baseline to compare it to.) But, sure, let's do a car analogy here.

From what I have read, they have recycled numerous old PCs to get chips from them

Let's say you're a casual gardener (*developer), and you want a small beater pickup truck to drive around your 10 acre plot. (IE, develop software targeting vintage computers.) You have a couple thousand bucks, and with that you can have one of two things:

1: You can buy a used Toyota Hilux or Ford Ranger. You only get to see pictures/videos of it, because you're buying it over the internet, but the pictures show all the important parts are there, it has a few dents but no one's wrapped it around a tree or anything, and you have evidence that it can at least drive to the local gas station and back. (IE, there's a picture of it sitting at an A> or C> prompt.)

2: You find out some guy in China found a source of used surplus industrial cement mixers that happen to be powered by the same four cylinder engine as one of the trucks you were considering, and this guy has set up a hobby business buying engines pulled from these cement mixers and is slapping them into an ad-hoc chassis made of recycled aluminum tubing and riding lawnmower parts, and fitted with a cargo bed made out of four large wheelbarrows.

You want a reliable, trouble-free truck to haul your manure and baby trees around your big backyard. Which one of these options do you really think is going to fit that bill better? If your answer is number two because it's "new", well... I guess that's an answer, sure, but maybe, just maybe, there are more things to consider than how many hours have passed since the last time somebody tightened the bolts.
 
Last edited:
You want a reliable, trouble-free truck to haul your manure and baby trees around your big backyard. Which one of these options do you really think is going to fit that bill better? If your answer is number two because it's "new", well... I guess that's an answer, sure, but maybe, just maybe, there are more things to consider than how many hours have passed since the last time somebody tightened the bolts.

I don't need a reliable computer. I just want to buy a new computer any time my house burns down (or advise others to do the same) and run my software, once, to prove it works.

If the manufacturer of new equipment has reliability problems, then speak to them (there is actually someone to speak to), or change vendor.

If there's no alternative vendor, then there is a gap in the market, so fill that gap yourself.

I don't want any instruction to include "go to your local landfill and hope", followed by "and watch out for the exploding capacitors - ha ha!".

I can remember someone on Fidonet said it was complete bullshit that you couldn't recharge (something - alkaline batteries?) and he gave the instructions. One of the instructions included "be careful here as it may explode". Someone else basically said that when people say "you can't recharge xyz batteries" there is an implied "safely" in that claim, so it's not bullshit.
 
Back
Top