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