VOGONS


First post, by emendelson

User metadata
Rank Oldbie
Rank
Oldbie

This question has nothing to do with games, and I'm asking only in the hope that someone might find the question interesting enough to think about.

Over the past few years, DOSBox SVN has improved its support for monochrome mode (thank you again, ripsaw8080 and qbix), but there seems to be one remaining oddity.

In one combination of text attributes (I'm not sure exactly what it is), DOSBox displays a bright box with no text, where a real VGA card displays a bright background with black text. This affects WordPerfect for DOS 6.x especially. Here is the real monitor:

modemono.png
Filename
modemono.png
File size
249.61 KiB
Views
590 views
File license
Fair use/fair dealing exception

And here is DOSBox:

DOSBoxMono.PNG
Filename
DOSBoxMono.PNG
File size
15.69 KiB
Views
590 views
File license
Fair use/fair dealing exception

I've tried using WordPerfect's Text Color settings to find the specific combination of bold/underline/blocked that produces this, but none of the combinations in the Text Color settings produce this. It only shows up in dialog boxes.

I certainly can't figure out what might fix this in the code, and I hope that someone might say something like, "Oh, I know - change two numbers in line N." And, again, I understand that this has nothing to do with games, so I don't expect any official response at all.

Reply 1 of 3, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

The attributes that display black text on a white background in mode 7 differ from one brand of "real VGA card" to another, so there is/was no general agreement, and DOSBox also differs depending on machine type. The mtext_palette and mtext_s3_palette arrays in int10_modes.cpp may be of interest if you've a mind to do any tweaking in your own builds. FYI, the vgaonly machine type has the best support for mono mode, underlining in particular.

Reply 2 of 3, by emendelson

User metadata
Rank Oldbie
Rank
Oldbie
ripsaw8080 wrote:

The attributes that display black text on a white background in mode 7 differ from one brand of "real VGA card" to another, so there is/was no general agreement, and DOSBox also differs depending on machine type. The mtext_palette and mtext_s3_palette arrays in int10_modes.cpp may be of interest if you've a mind to do any tweaking in your own builds. FYI, the vgaonly machine type has the best support for mono mode, underlining in particular.

(EDIT: Clarifying) Thank you for that - and of course (no surprise) you're right on all counts. First, I fired up an old ThinkPad 760XL, and found that mode 7 on that machine produced the same results (unreadable text) that I got in DOSBox with the setting machine=vesa_oldvbe that I use in my project. (It seems to produce the best combination of speed with VESA graphics and compatibility with WordPerfect.) And, as you said, the setting machine=vgaonly produced the correct black text on a white background in DOSBox.(The Tseng labs machine= settings also produced the black text on white background correctly.)

For my project, the trouble with vgaonly is that it doesn't allow me to use the VESA graphic modes that I've been using - all I can get with vagonly is 640x480. I'll try fiddling with the mtext_s3pallette arrays in int10_modes.cpp to see if I can get mode 7 to match vgaonly while still letting me use VESA graphics.

Again, thank you!

Last edited by emendelson on 2017-07-17, 02:15. Edited 1 time in total.

Reply 3 of 3, by emendelson

User metadata
Rank Oldbie
Rank
Oldbie

Well, that was easy. For the purposes of my project, it was enough simply to replace the mtext_s3_palette with the contents of mtext_palette, and now I have black-on-white text in mode 7 plus VESA VGA graphics. I know I've created a Frankenstein's monster here, but it seems to work. Again, this project I'm working on would have been impossible without your help. Thank you.