Opened 14 years ago
Closed 14 years ago
#8739 closed defect (fixed)
Checksum error in BIOS function int 13h, ah=48h (extended get drive parameters) => Fixed in SVN
Reported by: | madanra | Owned by: | |
---|---|---|---|
Component: | virtual disk | Version: | VirtualBox 4.0.4 |
Keywords: | bios drive parameters checksum | Cc: | |
Guest type: | other | Host type: | other |
Description
I've started writing an OS, and noticed that the BIOS function 13h, ah=48h (extended get drive parameters, see http://www.ctyme.com/intr/rb-0715.htm for Ralf Brown's description) appears to give an incorrect checksum. In the description of the function, Ralf Brown says "checksum of bytes 1Eh-40h (two's complement of sum, which makes the 8-bit sum of bytes 1Eh-41h equal 00h)". On Bochs and VirtualPC, this is the case, but on VirtualBox the byte sum is FFh.
Change History (3)
comment:1 by , 14 years ago
comment:2 by , 14 years ago
Summary: | Checksum error in BIOS function int 13h, ah=48h (extended get drive parameters) → Checksum error in BIOS function int 13h, ah=48h (extended get drive parameters) => Fixed in SVN |
---|
Thanks for the feedback. This bug will be fixed in the next major release.
Ah, should have looked in the source. Line 5936 of /trunk/src/VBox/Devices/PC/BIOS/rombios.c has:
checksum = ~checksum;
when I believe, from the description in Ralf Brown, it should be:
checksum = -checksum;