VOGONS


Space Pilot text issue

Topic actions

First post, by Chris857

User metadata
Rank Newbie
Rank
Newbie

I'm trying to run Space Pilot (Archive.org download, hosting shareware v2.0), using dosbox specifically so I can have it in a windowed mode so I can do a nice screencast video of it.

Anyway, running natively on my WinXP SP3 machine, absolutely everything works fine (but only as fullscreen). In dosbox, all menu text draws briefly gold/yellow but quickly disappears, when it should persist and show blue. This video (approx 0:37 to 1:00) shows the issue I have, though I don't know what circumstances they are running under. All controls work and the game plays, just with this (annoying) graphical issue.

I tried 0.73 and 0.74 and a variety of graphics settings, but did not find something that worked. Anyone know a solution?

Reply 1 of 3, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

By coincidence, I recently noticed a demo on pouet.net with the same issue, but it's good to know of a game that needs the fix.

I'm still testing the attached patch to make sure it doesn't cause any problems, but so far it looks OK. I've also attached a workaround program you can use until the fix is committed, just put the program in the game directory and run it in DOSBox to start the game.

Reply 2 of 3, by Chris857

User metadata
Rank Newbie
Rank
Newbie

Wow! I'm impressed by how quickly you found a solution. Running the workaround, I couldn't find any issue, and it also works as a drop-in solution for the shareware 1.1 version of the game. Though, I think I may have found a (very minor) bug with the game itself where you can (sometimes) have a bit of text from the Options menu persist when you return to the main menu.

Cool beans. How do the patch and workaround work, and what do they fix? (Explain to someone well-versed in C++, poor with assembly, and with no clue as to what DOSBox does on the inside).

Reply 3 of 3, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Real DOS uses attribute 7 (non-intense white on black) as a default when the console device writes to the screen, although the color can be specified with escape codes if an ANSI driver is loaded. DOSBox currently defaults the attribute to "unspecified", leaving it to the video BIOS to use its own default, which works OK in text modes but not in graphics modes.

The patch simply changes the emulated console device to use the DOS-compatible default attribute of 7. The workaround program intercepts console writes made by the game and writes the text through the video BIOS with attribute 7.