- To identify the useful ROM functions, a disassembler was needed.
- So i wrote one in BASIC for the PB-1000. The problem was that it
was too big (30 KO) and too slow (0.5 second to disassemble an instruction).
- Then I modified this program to run it on a PC but the ROM source
was needed for this. As the FA-7 interface could only transfer ASCII
files, I wrote a program that could convert the PB-1000 ROM to an
ASCII file (reading with a text editor). For speed reasons, this program
is in assembler.
LIEN VERS LE CONVERTISSEUR de ROM
With theses 2 programs, it was possible to disassemble the PB-1000
ROM from a PC. But having discovered that some UNDOCUMENTED codes
(UD) existed, it was necessary to disassemble the ROM line
by line to check if the code seem coherent (If the prog finds an undocumented
code, it indicates "???" instead of a known mnemonic). It
is then needed to find the next valid adress to re-start disassembling
(as an undocumented code can use several bytes). All this is possible
with the program.
But the problem of the UD codes was still present ! In order to identify
some of theses, I wrote a little assembler program that showed the
values of all the 32 registers before and after a selected UD code.
By comparing the values before and after, it was then possible to
get an idea of the meaning of the code. This allowed me to find the
signification of some of the UD codes of whose list and neaning is
available in this page. Theses discovered UD codes and their nmemonic
(invented) are known by the available disassembler.