Hi, I noticed that I was unable to use a direct-access parallel port program with dosemu -X because the port range was reserved for Hercules emulation. Looking into some Hercules programming docs, it looks like only 0x3b0-0x3bb and 0x3bf are necessary for the graphics chip, leaving 0x3bc-0x3be (the 3 parallel port registers) open for the parallel port which used to also come on a Hercules graphics card. Also, linux hgcfb follows the same approach. The attached patch fixed that and let my program run under dosemu -X
-- Ryan Underwood, <[EMAIL PROTECTED]>
--- src/env/video/vgaemu.bak 2004-06-12 04:29:27.000000000 -0500
+++ src/env/video/vgaemu.c 2004-06-12 07:03:54.000000000 -0500
@@ -1458,8 +1458,13 @@
* if something is missing. -- sw
*/
if(vga.config.mono_support) {
- io_device.handler_name = "VGAEmu Mono/Hercules Card";
+ io_device.handler_name = "VGAEmu Mono/Hercules Card Range 0";
io_device.start_addr = 0x3b0;
+ io_device.end_addr = 0x3bb;
+ port_register_handler(io_device, 0);
+
+ io_device.handler_name = "VGAEmu Mono/Hercules Card Range 1";
+ io_device.start_addr = 0x3bf;
io_device.end_addr = 0x3bf;
port_register_handler(io_device, 0);
}
signature.asc
Description: Digital signature
