PC20-III behaves strange with a "new" BIOS

From: Ruud_at_Baltissen.org
Date: Tue, 09 Apr 2019 19:11:19 +0200
Message-ID: <5CACD237.21713.729177_at_Ruud.Baltissen.org>
    Hallo allemaal,


    I ran into a weird problem. I disassembled the BIOS of a PC20-III 
    and I assembled the resulting source code with NASM. What you have 
    to know on forehand is that there is not a one-to-one translation of 
    an instruction into code. For example: the codes '33 F6' and '31 F6' 
    disassemble both to the same instruction 'xor si,si'. '2B CF' and 
    '29 F9' disassemble both to 'sub cx,di'. You have to study the 
    datasheets to see why it is possible.
    A disadvantage is that the programmer of an assemblers decides what 
    code to use for a certain instruction. In the above cases the 
    original assembler (MASM ???) chose the first set of codes and NASM 
    the second set. Simply comparing the resulting BIN with the original 
    ROM to see if my generated source code is correct does not work 
    here. So I had to make a program that compares both files and 
    discards equivalent sets. I use this program for years and so far 
    things ran fine.

    The problem: after doing some upgrades I suddenly noticed my B: 
    drive was gone. To make a long story short: using the sources 
    generated by me and a MDA screen, I have two drives. But if I insert 
    a VGA card, then I have only one drive. 
Now the weird thing: when using the original EPROM, I have two 
drives in both cases.

Only today I found the part that determines how many drives are in 
the machine. The only thing I can (I think) is to compare all 
instructions one by one just in case my tool (or better: I as the 
programmer) made a mistake.

But if you have an idea or suggestion, you are welcome!


--
   
Kind regards / Met vriendelijke groet, Ruud Baltissen
www.Baltissen.org
Received on 2020-05-29 21:38:31

Archive generated by hypermail 2.3.0.