This code seems to be using 386+ instructions. Some effort would be required to port it to 8086 only instructions
Yes, but it's a starting point and functionally quite close to NicolasF wishes. At least as far as an Option ROM emulating the BIOS calls can go.
VGA ISA 8bit cards here are imposible to find. But I could buy one of these cards: Beltron / Realtek Cg-3105 256kb, Oak Oti-077 1Mb, Cirrus Logic CL-GD5401-42QC
I'm not sure if they are 8bit ISA compatible.
Many 16-bit VGA cards (especially older ones) will work fine in an 8-bit slot. Just try any card you can find, and you may get lucky. Personally, VGA is (almost) a must-have, because it resolves the monitor problem and opens up new worlds. Even if the performance in higher resolutions is abysmal, the ability in itself is useful to me.
Where I live hercules monitors and XT keyboard are very difficult to find and therefore very expensive.
For testing purposes, you can use a cheap logic analyzer and a fast modern computer. The pixel clock of MDA/CGA/EGA is approximately 16 MHz, which these devices can sample in realtime. You can look at [
this thread] or at the [
more extensive thread] over at VOGONS. Source code (and executables) are available there.
While XT keyboards are rare, many older AT keyboards have a switch for "XT mode". Otherwise, going for a converter is probably the easiest way, and it would allow you to use new keyboards (many USB keyboards support PS/2 compatibility as well).
So I'm thinking about modifying int 10h and int 09h so that any text that is displayed on screen is sent to the UART port. Do you guys think this will work?
Yes, you can do that (see the SGABIOS). Obviously, many applications will use direct hardware access and fail. If you have a working video card, you can also read the screen content from video memory and turn that into ANSI escape codes to send over serial. This should allow you to use any text-mode program (unless the program does weird stuff to the hardware).
I would like to be able to test the system to see if it works until I'm able to find a working monitor and keyboard.
You can instruct DOS to input/output to a serial port using the following commands (also works from AUTOEXEC.BAT):
Code:
MODE COM1:1200,N,8,1
CTTY COM1
However, this only redirects the DOS I/O streams, so compatibility is even worse than redirecting at the BIOS level. If you can run DOS successfully, programs to scrape the screen content exist. Setting them up without a monitor or keyboard may be painful, though (use an emulator).