Hello Eric,

On at 2021-06-17 17:26 +0200, Eric Auer wrote:
while it is great to hear that you are doing a lot of
reading about EGA/VGA programming, I would suggest
that you use DEBUG to try a few things until you find
the first type of palette manipulation which works in
another virtual window but not in VirtualBox. Then
the next step could be trying to find setup changes
which solve the issue in VirtualBox. If none can be
found, the final option would be to patch VirtualBox.


Either that, or use DEBUG to try it out. Of course reading
and comparing source codes is a good starting point, but
EGA/VGA/CGA, as well as VESA/VBE could have some nasty
interactions which are hard to get compatible properly,
which may not be obvious from the source code.

So you can for example say "If I do those I (in) and O (out)
commands in DEBUG, or call this int 10 function, I expect
the palette to change this way and it indeed does in QEMU
or DOSEMU2, but not in VirtualBox" to get a confirmation
of where you suspect the problem to be.

It could also happen that the I/O or INT sequence you
had in mind works in none of the three, because there
are some additional preparatory I/O that you need. So
you can improve your I/O sequence and try again etc.

Note that DEBUG only offers byte-sized input and output.
For word-sized, you would have to write a test app in
any programming language you like to use for that :-)

FreeDOS Debug actually supports word-sized and dword-sized input and output, using the IW, ID, OW, and OD commands. My fork lDebug does likewise. lDebug additionally allows controlling the debugger through a serial port [1], which defaults to COM2 but can be configured for other ports too [2]. Further, lDebug allows loading script files using the Y command. The serial I/O and script file reading may be useful to test VGA output.

Regards,
ecm


[1]: https://pushbx.org/ecm/doc/ldebug.htm#interface-serial
[2]: https://pushbx.org/ecm/doc/ldebug.htm#varserial


_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to