VOGONS


Rave Screensaver

Topic actions

First post, by kolano

User metadata
Rank Oldbie
Rank
Oldbie

I'm hoping to run the Rave screensaver by J.A. Roeckelein in it's 800x600 and up resolutions. It can be downloaded from SIMTEL via...
ftp://ftp.eunet.bg/pub/simtelnet/msdos/screen/rave10.zip

In most machine modes Rave starts, pauses to warn about not being able to detect the video adapter, and then returns the the DOS prompt unless one presses F1 to ignore the warning. It only seems to start properly when using the svga_paradise mode. In that mode it will start with its -v1 and -v2 switches set (i.e. 320x200, and 640x480 modes). The higher resolution output modes (i.e. -v3 and -v4) result in the output not initializing correctly, but the program running (i.e. it rotates the palette of the text mode without outputting anything).

The later effects on the Paradise mode may be due to inadequate video memory. The Paradise mode, due to the supported chipset, tops out at 1Mb of Video RAM. I recall owning a Paradise card with 2Mb, but I presume it used a different unsupported Paradise chipset. That's problematic for my hopes, as I think more than 1Mb is needed to support the 1024x768mode (though perhaps not with 8b color). I'm guessing I'll have to wait for chipset support to flesh out enough to support this program in it's full set of resolutions (probably a long time, since its a screensaver rather than a game).

However, the current behavior still seems a bit odd. I thought 1Mb of Video RAM should at least be enough to run the 800x600 mode, but such fails. I think such might be related to some questioning that went on in the SVGA Chipset development thread regarding how much RAM the Paradise chipset emulated could support. Might this be an example showing it does only support 512k rather than 1Mb (or a gap in how it's 1Mb mode was set up)?

Last edited by kolano on 2011-05-30, 05:36. Edited 2 times in total.

Reply 1 of 5, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

With machine=svga_s3, all of its video modes work OK in 0.74 and SVN, but you have to specify the -vX parameter and press F1 to disregard the warning. This way it's using standard VESA modes, but not sure if it always does that or only because it can't determine a SVGA chipset with its assortment of vendor-specific INT 10 calls and port tests.

Reply 2 of 5, by kolano

User metadata
Rank Oldbie
Rank
Oldbie

Ah, duh, should have tried ignoring the warning. That does get it working in it's high-res modes with svga_s3, vesa_nolfb, or vesa_oldvbe machine modes.

Too bad we can't support those modes with a chipset it recognizes. Any idea why it can't run in the high-res modes /w svga_paradise? After taking a closer look 1Mb should be enough to support 1024x768.

Reply 3 of 5, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

In official sources, machine=svga_paradise has 512k of memory. That's enough for 800x600x256, but not for 1024x768x256. Currently there are 256-color modes for 640x400 and 640x480 with the Paradise machine type. I added mode 0x5C, and then 800x600x256 works:

 VideoModeBlock ModeList_VGA_Paradise[]={
/* mode ,type ,sw ,sh ,tw ,th ,cw,ch ,pt,pstart ,plength,htot,vtot,hde,vde special flags */
...
{ 0x058 ,M_LIN4 ,800 , 600, 100,37, 8, 16,1, 0xA0000, 0xA000, 128 ,663 ,100,600, 0 },
+{ 0x05C ,M_LIN8 ,800 , 600 ,100,37 ,8 ,16,1 ,0xA0000 ,0x10000,128 ,663 ,100,600, 0 },
{ 0x05D ,M_LIN4 ,1024, 768, 128,48 ,8, 16,1, 0xA0000, 0x10000,128 ,800 ,128,768 ,0 }, // documented only on C00 upwards
{ 0x05E ,M_LIN8 ,640 , 400, 80 ,25, 8, 16,1, 0xA0000, 0x10000,100 ,449 ,80 ,400, 0 },
{ 0x05F ,M_LIN8 ,640 , 480, 80 ,30, 8, 16,1, 0xA0000, 0x10000,100 ,525 ,80 ,480, 0 },

Reply 4 of 5, by kolano

User metadata
Rank Oldbie
Rank
Oldbie

Thanks for the fix for 800x600 mode ripsaw! 😀

Oddly 1024x768 seems to be included in the code you commented, but is also broken in builds that provide 1024k video ram for svga_paradise. Perhaps there's a gap somewhere else?

Reply 5 of 5, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

M_LIN4 (4 bits, 16 colors) only needs half as much memory as M_LIN8 (8 bits, 256 colors).