Performed by Jim Leonard (trixter@oldskool.org) using IDA on 20191220 This disassembly/listing is incomplete, so I've included the IDA file if you want to continue it. This BIOS, like the Deskpro before it, was famously created using a legal "clean room" technique. Some interesting notes found during the disassembly of the BIOS: - It appears to delay in a few places by different fixed loop amounts based on whether the system is running in turbo mode or not. I would have expected it to delay using the timer, which would have saved some code and ran the same regardless of system speed. - Various routines are spaced apart from each other by "FF" bytes to ensure various entry points are the same as in IBM's BIOS. - Many routines don't CALL a subroutine, but instead do this: mov bp, offset _continue jmp subroutine _continue: ... subroutine: ... jmp bp This is slower and larger than a traditional CALL; RET structure. I think it was done in an effort to be more "legal" during the clean-room reverse-engineering process. While that might fool a judge, it is a very thin ruse that doesn't fool any progammer :-) - Unlike most clone BIOSes that came after it, this BIOS *does* intercept the ROM BASIC interrupt and attempts to handle it by prompting for a system disk with BASICA.EXE, and attempts to load it. It does so with DOS commands, which is weird to see inside a BIOS, and also means that this functionality only works while DOS is loaded. - The string "JSF+PNA·CHL" in the BIOS matches similar strings found in other Compaq BIOSes... my guess is these are the initials of three people who worked on it, but I could be wrong.