1

I am writing a whole new BIOS, from scratch, for the 5162. The already existing BIOS is on chips U34 and U35. Normally, exactly one byte (the odd byte) should be on U34, followed by exactly one even byte on U35, but this is not always the case. By examining the machine code and data in a hex viewer, and comparing them to the listing, I discovered that generally there is a one and one succession, as I expected, but not always. In around 10% of the cases, there are two consecutive bytes on U34, followed by two consecutive bytes on U35, especially in proximity of the mov B8 instruction, but not only. But two consecutive bytes mean 16-bit, while the chip transmission should occur only as an eight bit one..

Does somebody know why is like this and what is the real criterion of splitting between odd and even? I am asking, because I will have to transfer my BIOS on the odd and even chips, by splitting them in the correct sequence between the two. Thanks a lot!

Rok1976
  • 19
  • 1
  • 3
    Why are you writing a BIOS for such an ancient machine? You'll spend months of work! For more recent hardware, look into coreboot; see also http://osdev.org/ – Basile Starynkevitch Sep 04 '15 at 07:39
  • Neat project, but isn’t this question about hardware? Anyway, I hope someone knows the answer, because I don’t have a clue. – Davislor Sep 04 '15 at 09:56
  • To Basile: bioses for recent hardware are often written in high level languages and are much longer. I wanted to understand the basic: x86 machine instructions with correspondent assembly mnemonic, written to absolute memory addresses, without intermediaries. It will take months indeed, but for me the picture is clearer in this way. To Lorehead: Thanks:) yes, I would say it is half-hardware, in the part related to 8 and 16 bit bus, but also half-software, concerning the instruction length of the x86 instruction set (if we consider writing/studying machine instructions as software..). – Rok1976 Sep 08 '15 at 14:16

0 Answers0