Am Sonntag, den 06.07.2008, 13:45 -0700 schrieb Jon Griffiths:
Title says it all.
> + case 0x3ba:
/* CRT status register (read only)
* This register is read repeatedly to signal whether a hercules/
* monochrome adapter is present, which is signalled by bit 7
* changing within 0x8000 reads. The other bits then describe the
* type of monochrome adapter present.
*/
return 0; /* VGA compatible */
That patch seems wrong. As a VGA is able to coexist with a monochrome adapter, it does not respond to reading 0x3ba at all. And ISA is TTL compatible, i.e. open inputs read as one, so reads without responder return 0xFF.
Regards, Michael Karcher
Hi Michael,
open inputs read as one, so reads without responder return 0xFF.
You're right, testing it on dosbox it does return 0xff for non hercules cards. As long as bit seven never toggles though, any app reading it will still infer that a hercules card isn't present. I didn't catch the assignment to ret in the default: case of the switch, so I figured the value returned was an uninitialised stack value and may change, causing the app to misdetect the display type. As it is it seems something else is causing it to break.
I'll send an updated patch shortly, thanks for your feedback.
Cheers Jon