Kevin O'Connor wrote:
On Sun, Jan 10, 2010 at 04:11:51PM +0100, Sebastian Herbszt wrote:
Kevin O'Connor wrote:
Under bochs, with the above change, the screen doesn't hang, and the test program returns to real mode. However, the system still hangs because it looks like bochs reset the f-segment.
Can you elaborate on "hangs". With Bochs cvs i end up back in FreeDOS shell, the keyboard works and i can try to execute commands.
On qemu, the screen ceases to update. It doesn't happen on Bochs. (Interestingly, I can see from the logs that irqs and disk accesses still work under qemu - it's just that the screen stops updating.)
Maybe try to call the vga bios.
If i try to execute commands after resume the bios freaks out:
00206894578i[BIOS ] In resume (status=5) 00219543399i[BIOS ] int13_harddisk: function 02, parameters out of range 0000/0000/0001!
The "int13_harddisk" message indicates to me that the f-segment was reset (SeaBIOS thinks the drive has zero sectors).
If i change BX_RESET_HARDWARE to BX_RESET_SOFTWARE it works as expected.
If BX_RESET_SOFTWARE no longer resets the f-segment, that would make sense.
I think BX_RESET_SOFTWARE is like cpu #INIT.
- Sebastian