3 ms·
Though it is worth mention that the runtime code that implements BIOS services (INT 10h, 11h, 12h, 13h, etc...) for the most part can't switch to protected mode
by yuhong 8y ago
Though it is worth mention that the runtime code that implements BIOS services (INT 10h, 11h, 12h, 13h, etc...) for the most part can't switch to protected mode without breaking compatibility.
- pgeorgi 8y agoSeaBIOS is doing a reasonable job at that
- yuhong 8y agobut there is also the VGA BIOS.
- geofft 8y agoDo you even need a VGA BIOS in an emulator? It's an emulator - just write to segment B800 or wherever and have the host-side process just watch that page of memory. Again, qemu works fine without a retrocomputing compiler. Is VirtualBox doing something that prevents it from taking whatever approach qemu uses? (qemu even has the cool thing where "-curses" will cause it to copy segment B800 as text to your host-side terminal emulator and avoid rendering graphics at all.)
- yuhong 8y agoWhat I am talking about is things like this: https://mail.coreboot.org/pipermail/seabios/2015-April/009028.html https://mail.coreboot.org/pipermail/seabios/2015-April/00902...
- cesarb 8y agoYou're in an emulator - you don't have to switch to protected mode within the emulation, you can instead exit the VM and do the work outside the emulation. The caller within the emulation won't notice unless it's trying to single-step the BIOS code (and why would they do that?). Edit: unless the code within the emulator is trying to run the BIOS within an emulator of its own. Turtles all the way down...
- yuhong 8y ago>Edit: unless the code within the emulator is trying to run the BIOS within an emulator of its own. Turtles all the way down... Common with the VGA BIOS BTW.