VOGONS


Video Mode 4B

Topic actions

First post, by jefframble

User metadata
Rank Newbie
Rank
Newbie

I'm trying to run some software based on Flight Simulator Toolkit. It would seem that the program wants to set Video Mode 4B, which I can not find information on. It was one of the modes for the SPEA V7 Mirage Video Card. Possibly it was 800x600 or higher. When run on DOSBox 0.74 Debugger with the SPEA V7 Mirage driver loaded the error message is:

Int 10: Set Video Mode 4B
Int 10: VGA: Trying to set illegal mode 4B
XGA: Wrote to port 4ae8 with 3, len 2

I presume I'll have to patch the video code in some way. Int10_modes or the S3 code (The V7 is based on the S3 Chip). Any pointers where to start? Or a quick fix.

Reply 1 of 11, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Are you forced to use some videocard-specific SVGA mode? Can't you configure the software to use VESA standard modes instead?

Reply 2 of 11, by jefframble

User metadata
Rank Newbie
Rank
Newbie

There is no facility to change the mode in the program. There are some command line video mode switches, but if you use them they appear to work but when you have got through the selection menus, it will call for the mode change to run the program and you get the error. Which is a round about way of saying the mode is forced on you.

Reply 3 of 11, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

4B is 800x600 on some Diamond Stealth card according to RBIL

1+1=10

Reply 4 of 11, by emendelson

User metadata
Rank Oldbie
Rank
Oldbie
h-a-l-9000 wrote:

4B is 800x600 on some Diamond Stealth card according to RBIL

Here is another list of video modes that I found somewhere and posted on my web site. I never learned the original source:

http://www.columbia.edu/~em36/wpdos/videomodes.txt

And for those who are new to this (as I am, mostly), RBIL = Ralph Brown's Interrupt List:

http://guideme.itgo.com/atozofc/ch71_1.pdf

Reply 5 of 11, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Comfortable RBIL here: http://ctyme.com/rbrown.htm

Your videomodes.txt is from RBIL.

1+1=10

Reply 6 of 11, by emendelson

User metadata
Rank Oldbie
Rank
Oldbie
h-a-l-9000 wrote:

Your videomodes.txt is from RBIL.

I'd been wondering about that for years! Thank you. I'll give credit on my site.

Reply 7 of 11, by jefframble

User metadata
Rank Newbie
Rank
Newbie

Thanks for the information.

If I run the program without the video driver installed the error becomes video mode 203, the RBIL shows this as a S3 OEM video mode 800x600x256 colours and only available on video cards using S3's VESA driver.

I suppose the fix is to intercept the call to int10 and swap the call for mode 4B to a 800x600 Vesa mode that works?

Reply 8 of 11, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

You can add a video mode like this:

Index: src/ints/int10_modes.cpp
===================================================================
--- src/ints/int10_modes.cpp (revision 3832)
+++ src/ints/int10_modes.cpp (working copy)
@@ -53,6 +53,7 @@
{ 0x012 ,M_EGA ,640 ,480 ,80 ,30 ,8 ,16 ,1 ,0xA0000 ,0xA000 ,100 ,525 ,80 ,480 ,0 },
{ 0x013 ,M_VGA ,320 ,200 ,40 ,25 ,8 ,8 ,1 ,0xA0000 ,0x2000 ,100 ,449 ,80 ,400 ,0 },

+{ 0x04B ,M_LIN8 ,800 ,600 ,100,37 ,8 ,16 ,1 ,0xA0000 ,0x10000,132 ,628 ,100,600 ,0 },
{ 0x054 ,M_TEXT ,1056,344, 132,43, 8, 8, 1 ,0xB8000 ,0x4000, 160, 449, 132,344, 0 },
{ 0x055 ,M_TEXT ,1056,400, 132,25, 8, 16, 1 ,0xB8000 ,0x2000, 160, 449, 132,400, 0 },

@@ -444,6 +445,7 @@
}

1+1=10

Reply 9 of 11, by jefframble

User metadata
Rank Newbie
Rank
Newbie

That easy, thanks h-a-l 9000, I'll try that later. I noticed the line with 0x04B are those values I should use or just an example?

Reply 10 of 11, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

These values are just copied from the 800x600 mode below. You will certainly see if the resolution is right 😀

1+1=10

Reply 11 of 11, by jefframble

User metadata
Rank Newbie
Rank
Newbie

I've compiled a few versions dosbox with different versions of 4b in Int10_modes. I don't get the error message but the screen changes size, good, but goes black, bad!

I've also tried all the different, video cards. (vesa, S3, paradise)

I should have access to the system tomorrow. Hopefully that might give me a clue what I am aiming at.

Thanks for the help.