VOGONS

Common searches


VIDEO - Multiple SVGA Chipset patch (commited)

Topic actions

Reply 321 of 343, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

Wow, I'm glad this finally mad CVS. One of my most loved patches finally part of the big thing. Thanks for all your work on this! And wd for integrating it!

What are the availlable VRAM sizes for the different VGA cards?

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 324 of 343, by Targaff

User metadata
Rank Member
Rank
Member
vasyl wrote:

There is one important functional change. Instead of [vga] section, machine= line in [dosbox] section is used. In addition to existing values you can specify "vga_et4000", "vga_et3000", or "vga_pvga1a" with some alternative spellings ("svga" can be used instead of "vga").

And "vga_s3", one assumes?

Intel CC820 | PIII 667 | 2x128MB SDRAM | 3Dfx Voodoo 5 5500 @ Dell P790 | Creative SB PCI128 | Fujitsu MPC3064AT 6GB + QUANTUM FIREBALLlct10 10 GB | SAMSUNG DVD-ROM SD-608 | IOMEGA ZIP 100 | Realtek RTL8139C | Agere Win Modem

Reply 325 of 343, by vasyl

User metadata
Rank Oldbie
Rank
Oldbie

Of course. Actually, if you use any of these: "vga_s3", "svga_s3", or "vga" DOSBox will default to S3. The other value is "svgaonly" that disables all SVGA functionality. Those settings existed in CVS for some time already.

Reply 327 of 343, by vasyl

User metadata
Rank Oldbie
Rank
Oldbie

Don't know yet. I don't need to spend that much time on maintenance anymore so it's quite likely I will start adding new features. There are a few features still missing in the patch, namely dual banks on Paradise cards, zoom on ET3000, and quite mysterious VRAM size handling on ET3000. I may consider adding some other chipsets. Or maybe not -- I would have to find a good reason to do that first. I am also going to take a look at the other patch of mine -- border color -- that got neglected and lost most of its functionality over time.
Actually, if anybody has any feature suggestions regarding SVGA emulation, this would be a good time.

Reply 328 of 343, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

i was thinking of having border emulation in machine=ega. possibly with that blending of yours.
I don't know of vga only games that rely on the bordercolour for functionality.

Water flows down the stream
How to ask questions the smart way!

Reply 329 of 343, by vasyl

User metadata
Rank Oldbie
Rank
Oldbie

I'll see what I can do. The blending broke when partial updates went in, I just need some time to figure out how to do it properly. I would rather have it available for everything but it is not a super-important feature. The way it was used in Crystal Caves was nice, though.
So, back to SVGA patch -- the second big chunk went in today and that means that almost all functionality of the patch is now in CVS 😁 The only thing remaining in the patch itself is VRAM size selection in dosbox.conf (and "new" ET4000 selection).

Reply 330 of 343, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Using machine=vgaonly, running Panic demo this code

if(vga.config.compatible_chain4)
((Bit32u*)vga.mem.linear)[CHECKED2(addr+64*1024)]=pixels.d;

writes beyond the 256k (how can it be compatible?) video memory and causes all kinds of different crashes. My workaround was to set the video memory size to 512k for vgaonly.

1+1=10

Reply 331 of 343, by vasyl

User metadata
Rank Oldbie
Rank
Oldbie

Is C_VGARAM_CHECKED on in your build? In previous versions of the patch it was on by default. Now it is off but some checks are always enabled. If this demo is considered important enough the check should be changed from CHECKED2 to CHECKED4 in that handler (all instances in the handler, not just that line). For custom builds you can just set C_VGARAM_CHECKED in config.h.

Reply 333 of 343, by vasyl

User metadata
Rank Oldbie
Rank
Oldbie

That's a good question. If C_VGARAM_CHECKED is enabled that line is totally unnecessary. Before it was just a poor man's way to imitate memory wrapping. The reason it worked before was that you always had 2MB of VRAM, even for vgaonly. Possible solutions:
1) change CHECKED2 to CHECKED4 to force wrapping for that extra write only;
2) change CHECKED2 to CHECKED4 in other parts of the same handler and just remove that line completely;
3) add check for memory size;
4) same as (1) but add #if !C_VGARAM_CHECKED around that line.
I would vote for (2). (3) is on the ugly side, (1) is potentially not as efficient as it can be. (4) is technically ok but not elegant.
In most common case the compatible chain4 flag is set there so the old code was always doing two writes. Oddly enough, just forcing memory wrap in (2) may actually be faster because it does only one write.

Reply 336 of 343, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

The patch is included in the CVS build of DOSBox and will also be in the next official release.

How To Ask Questions The Smart Way
Make your games work offline

Reply 338 of 343, by eL_PuSHeR

User metadata
Rank l33t++
Rank
l33t++

CVS stands for Concurrent Version System, if I am not mistaken. Those are daily/nightly builds a.k.a ßetas.

Intel i7 5960X
Gigabye GA-X99-Gaming 5
8 GB DDR4 (2100)
8 GB GeForce GTX 1070 G1 Gaming (Gigabyte)

Reply 339 of 343, by robertmo

User metadata
Rank l33t++
Rank
l33t++

I have noticed that Dawn Patrol and Navy Strike work with machine=svga_s3 when you cofigure the game to use "mach32" or "advanced" or "manually configure the high speed VESA driver"

So machine=et4000 is not needed for these games.

Are there any other games that require machine=et4000/3000?