Re:Consider using Digital Mars C compiler
by yuhong on Thursday May 24, 2018 @01:38AM
(#17141359)
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.
[ Parent
| on HN ]
You'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...
>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.
SeaBIOS is doing a reasonable job at that
but there is also the VGA BIOS.
Do 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.)
What I am talking about is things like this:
https://mail.coreboot.org/pipermail/seabios/2015-April/00902...