Closed monotech closed 4 years ago
On what machine? NuXT? Do you have an RTC installed?
This is on NuXT v2.0 with RTC. Also happens on NuXT v1.2 without RTC, if I give it 0.9.7 BIOS.
On Tue, 12 May 2020 at 16:49, Sergey Kiselev notifications@github.com wrote:
On what machine? NuXT? Do you have an RTC installed?
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/skiselev/8088_bios/issues/9#issuecomment-627105819, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJOO5WVMCOUD7XZJFZ4SEWDRRDINHANCNFSM4M6PHIHA .
One more question, can you please clarify what branch you are using? If you are using micro_8088 branch, please fetch the master branch, build the BIOS, and test again.
I was using the micro_8088 branch. I've just compiled the master branch, and the BIOS binary has the same checksum.
The result is the same for changing Drive 0 or Drive 1 in the F2 menu. Both show as 1.44M in CheckIt. If using ImageDisk, which doesn't use the BIOS for floppy access, I can successfully use the 1.2M drive for DD and HD disks.
Can you run "debug" and then "d f000:8000" command and copy the first line of the output. Also run "d 0040:0000" and copy the output. You can take a photo of the screen.
Here is the photo of the screen: https://photos.app.goo.gl/7vXY141YBSHUibg36
Currently, the drive types are set to both drives as 1.2M.
Thanks! The configuration in the ROM looks good (the first "d" output). Unfortunately I can't see the entire BIOS data area, can you do another "d" command? or "d 0040:0080" so it shows the next 128 bytes?
Here's 0040:0080 https://photos.app.goo.gl/pBKvWH9Rv7183tQJ6
OK. A bit more low level debug. Can you do the following. Insert the floppy disk, and in the debug run the following (typing from my memory, there might be errors):
a
mov ah,08
mov dl,0
int 13
int 3
.
g
This should call INT 13 get drive parameters function. The debug will print the registers once it hits int 3. Please copy the registers content here or take a picture.
Error mov d1,0 '^' points to the comma
it is DL (not one, "L")
Ahh it is too, my bad. I cannot enter the '.' or 'g'
Sorry, it is just an empty line instead of ".". Just press "Enter" there.
Here we go https://photos.app.goo.gl/eGz4YUPvDzWDquGL9
I've found and fixed the issue... It really was a stupid "typo" kind of thing. Instead of reading the floppy drive settings from the Flash ROM, the BIOS was assuming the default 1.44 MB floppy drives. Anyhow, should be working now. Please clone/download the latest commit, compile, and give it a try.
Works! Tested everything I can think of relating to this. May need a new version number.
This issue is only in version 0.9.7 (binary SHA1: E5807B7A0CB36E7176F08A6B107FB15D7F1DB5AE ). Version 0.9.6 behaves as expected.
In version 0.9.7, if I set a floppy drive type to 1.2M, it is correctly reported as 1.2M on the POST screen, but I get "General failure reading drive" in DOS. In CheckIt, the System Config screen shows the type as being 1.44M, not 1.2M.
In version 0.9.6, CheckIt reports 1.2M as expected, and the drive works correctly in DOS.
If using version 0.9.7, and I put Sergey's HD Floppy BIOS in ROM, taking over BIOS floppy functions, it also behaves correctly.