VOGONS


First post, by Endarion

User metadata
Rank Newbie
Rank
Newbie

Hi!
If I get things right, when a DOS program runs in text mode then a representation of the screen text will be present somewhere in emulated memory, and always at the same place because this is how video cards worked back then.
Would it be possible to have a copy of that memory displayed in some screen reader accessible window, and at the same time to have key events from that window be forwarded to the emulator? In such a way, blind users could play text-based games.
Kind regards,
Endarion

Reply 1 of 7, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Based on the Wikipedia info about screen readers, they seem to prefer text written serially to the screen, such as through the DOS console device. Some text games write to the screen non-serially, possibly writing through INT 10h or directly to video memory, so are not well-suited to screen readers.

Going by your chosen title on vogons, I'm guessing you have Infocom games in mind, and they tend to write serially for the most part. The Z-machine interpreter has native implementations on a wide variety of platforms in open source, so you needn't involve DOSBox for developing a facility for the blind.

One idea for DOSBox and Infocom games is to use the original DOS interpreters running in hal's megabuild with printer support. The SCRIPT command in the original interpreters causes the game text to be written to the printer as well as the screen. The UNSCRIPT command turns off printer output. If screen readers can capture printer output, such a configuration may be workable. However, sending keys from an external application to DOSBox could be complicated, and platform-specific, but there are key macro application that do that, so it may be possible if not exactly easy to do.

Reply 3 of 7, by Endarion

User metadata
Rank Newbie
Rank
Newbie

Hi!
Thanks for the link to Windows Frotz TTS. I think the Infocom side of things is conclusively dealt with.
While it was Infocom games that initially inspired me to think about such a method, there are a lot of 16 bit DOS text games which blind people will eventually lose access to in a >=64 bit environment. I am referring to all those text adventures not based on any of the established formats such as ZCode, TADS, GLULX, Hugo, or Adrift. Examples would include Rimworld, Skyland's Star, Silver Cloud, etc.
Current screen readers have shifted away from the paradigm of listening for serial text output. Instead, they offer methods for accessing screen content in a structured way after it has been rendered. So a screen reader accessible representation of textual video memory would work fine, even given random access at arbitrary positions.
For those interested in the current screen reader paradigm (or those who might enjoy playing around with one) here is a link to a free screen reader which can be run without installation and without admin privileges: http://www.nvda-project.org/
Kind regards,
Endarion

Reply 4 of 7, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author
Endarion wrote:

Would it be possible to have a copy of that memory displayed in some screen reader accessible window

If the DOSBox window isn't accessible to these screen readers, what kind of window is? There's a DOSBox patch that renders monochrome text from DOS programs in a console window (like the Windows Command Prompt), is that kind of window accessible?

Reply 5 of 7, by Endarion

User metadata
Rank Newbie
Rank
Newbie

Hi!
Sorry for reviving this old thing. I know it's been a year or so, but that's about the time my main loop takes. 😉
I finally had a look at the patch, and yes, that kind of window is indeed accessible.
Two problems remain:
1. The window doesn't take input.
2. Some games switch away from monochrome on startup, escaping my digital tentacles.
Might it be possible to write something similar for any text output mode? Preferrably something that takes input as well? That would be not just awesome but absolutely positively epic.
Kind regards,
Endarion

Reply 6 of 7, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

In its original form the patch mimics a secondary monochrome text display, although it could be extended to mimic color text modes on the console output as well.

As for the console window "not taking input", you have to keep the main window active for DOSBox to read input -- activating the console window will shut off input to DOSBox. It's a little hard to get used to, as the tendency is to click on (thus activating) the console window when the output is appearing there. It's possible to take input from the activated console window with PDCurses, as is done by the debugger, but forwarding it into the DOSBox keyboard emulation is somewhat complicated.

Reply 7 of 7, by Endarion

User metadata
Rank Newbie
Rank
Newbie

Sounds promising! Guess I'll look at the patched source and apply some modifications. I don't require Color in the console window so I guess no hairy voodoo on my part is involved.
Thanks for the very quick assessment of the Situation!
Kind regards,
Felix