4 ms·
Reminds me of the time (in 1990) that I hacked my 386 BIOS so I could add an IDE drive. That motherboard did not allow manually specifying C/H/S (https://en.wi
by anonymousiam 4y ago
Reminds me of the time (in 1990) that I hacked my 386 BIOS so I could add an IDE drive. That motherboard did not allow manually specifying C/H/S (https://en.wikipedia.org/wiki/Cylinder-head-sector https://en.wikipedia.org/wiki/Cylinder-head-sector) and the drive was much larger than any of the presets. Initially I tried just patching the table of preset values, but my first attempt failed because the checksum had changed and the BIOS failed POST. I ended up modifying two other unused table entries to force a checksum collision.
- joombaga 4y agoNice! Was it difficult to find values that would force a collision? What kind of checksumming did it use?
- anonymousiam 4y agoBack in the day of 16-bit (386sx) 25MHz CPUs with no FPU, the original "Sum Complement" checksum was still more popular than CRC, BCH, or hashing functions. https://en.wikipedia.org/wiki/Checksum#Algorithms https://en.wikipedia.org/wiki/Checksum#Algorithms
- stevefan1999 4y agoit has to be the classical crc32 and is easy cause you know it is just 32-bit :d
- anonymousiam 4y agoI forgot to mention the most "exciting" part of this hack. My (UV) EPROM programmer was an ISA-based peripheral and the 386 was my only PC (with an ISA bus), so I booted it up and then removed the EPROM from the socket on the motherboard, put it into the programmer to get an image (because I did not have confidence that the copy in RAM hadn't been altered), then reversed the image and burned a new EPROM. (If I hadn't used a new EPROM, I would have rendered my computer useless with no way to revert.) Fortunately I had a UV eraser so I could give it another go when the first iteration didn't work.