VIDEO - Multiple SVGA Chipset patch (commited)

Here you can discuss the development of patches.

Re: Multiple SVGA Chipset patch

Postby rcblanke » 2008-1-10 @ 09:12

Awesome, great work boys! Congratulations vasyl, always nice to see someone's hard work finally getting into CVS!
User avatar
rcblanke
Oldbie
 
Posts: 1320
Joined: 2005-4-01 @ 09:44
Location: Round 42

Re: Multiple SVGA Chipset patch

Postby Dominus » 2008-1-10 @ 12:57

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?
User avatar
Dominus
DOSBox Moderator
 
Posts: 7644
Joined: 2002-10-03 @ 09:54
Location: Ludwigsburg

Re: Multiple SVGA Chipset patch

Postby Qbix » 2008-1-10 @ 13:29

curently none. :)
Water flows down the stream
How to ask questions the smart way!
User avatar
Qbix
DOSBox Author
 
Posts: 10652
Joined: 2002-11-27 @ 14:50
Location: Fryslan

Re: Multiple SVGA Chipset patch

Postby vasyl » 2008-1-10 @ 18:33

Currently using the default values:
S3 - 2MB
ET4000 - 1MB
ET3000 - 512K
PVGA1A - 512K
The VRAM size selection is not in CVS yet. It is in the updated patch on SF if you need it.
vasyl
Oldbie
 
Posts: 680
Joined: 2005-3-27 @ 04:53

Re: Multiple SVGA Chipset patch

Postby Targaff » 2008-1-11 @ 00:25

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
User avatar
Targaff
Member
 
Posts: 244
Joined: 2002-11-19 @ 17:40

Re: Multiple SVGA Chipset patch

Postby vasyl » 2008-1-11 @ 00:45

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.
vasyl
Oldbie
 
Posts: 680
Joined: 2005-3-27 @ 04:53

Re: Multiple SVGA Chipset patch

Postby icemann » 2008-1-12 @ 03:55

Excellent work on these patches.

Any further plans for the future?
Two stones, two crosses, the rest is just icing. - 7th Guest
User avatar
icemann
Member
 
Posts: 219
Joined: 2003-8-25 @ 01:31

Re: Multiple SVGA Chipset patch

Postby vasyl » 2008-1-12 @ 09:21

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.
vasyl
Oldbie
 
Posts: 680
Joined: 2005-3-27 @ 04:53

Re: Multiple SVGA Chipset patch

Postby Qbix » 2008-1-12 @ 11:24

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!
User avatar
Qbix
DOSBox Author
 
Posts: 10652
Joined: 2002-11-27 @ 14:50
Location: Fryslan

Re: Multiple SVGA Chipset patch

Postby vasyl » 2008-1-13 @ 05:26

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 :happyhappy: The only thing remaining in the patch itself is VRAM size selection in dosbox.conf (and "new" ET4000 selection).
vasyl
Oldbie
 
Posts: 680
Joined: 2005-3-27 @ 04:53

Re: Multiple SVGA Chipset patch

Postby h-a-l-9000 » 2008-1-28 @ 14:32

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
h-a-l-9000
DOSBox Author
 
Posts: 4512
Joined: 2005-2-23 @ 00:14

Re: Multiple SVGA Chipset patch

Postby vasyl » 2008-1-29 @ 09:24

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.
vasyl
Oldbie
 
Posts: 680
Joined: 2005-3-27 @ 04:53

Re: Multiple SVGA Chipset patch

Postby wd » 2008-1-29 @ 09:51

Why does it write at that addr+64*1024 memory area at all?
Is it some temp buffer/something specific to the svga cards?
wd
DOSBox Author
 
Posts: 10818
Joined: 2003-12-03 @ 21:23

Re: Multiple SVGA Chipset patch

Postby vasyl » 2008-1-29 @ 10:18

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.
vasyl
Oldbie
 
Posts: 680
Joined: 2005-3-27 @ 04:53

Re: Multiple SVGA Chipset patch

Postby wd » 2008-1-29 @ 10:31

Ok thanks, maybe just enabling C_VGARAM_CHECKED and removing
that additional line, but got to have a closer look at that.
wd
DOSBox Author
 
Posts: 10818
Joined: 2003-12-03 @ 21:23

Re: Multiple SVGA Chipset patch

Postby Sheriff Hobbes » 2009-4-20 @ 09:17

Where can I find this patch?
Does it work with Dawn Patrol now?
Marriage is a three ring circus:
-engagement ring
-wedding ring
-suffering

H. L. Mencken
User avatar
Sheriff Hobbes
Newbie
 
Posts: 54
Joined: 2009-4-17 @ 06:58

Re: Multiple SVGA Chipset patch

Postby DosFreak » 2009-4-20 @ 09:54

The patch is included in the CVS build of DOSBox and will also be in the next official release.
User avatar
DosFreak
l33t++
 
Posts: 9829
Joined: 2002-6-30 @ 16:35
Location: Your Head

Re: Multiple SVGA Chipset patch

Postby Sheriff Hobbes » 2009-4-21 @ 07:04

Sounds good. What does CVS stand for? What's the target date for 0.73?
Marriage is a three ring circus:
-engagement ring
-wedding ring
-suffering

H. L. Mencken
User avatar
Sheriff Hobbes
Newbie
 
Posts: 54
Joined: 2009-4-17 @ 06:58

Re: Multiple SVGA Chipset patch

Postby eL_PuSHeR » 2009-4-21 @ 07:41

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)
User avatar
eL_PuSHeR
Moderator
 
Posts: 6495
Joined: 2003-6-20 @ 16:39

Re: Multiple SVGA Chipset patch

Postby robertmo » 2009-7-26 @ 12:15

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?
User avatar
robertmo
l33t
 
Posts: 4396
Joined: 2003-6-18 @ 10:35

PreviousNext

Return to DOSBox Patches

Who is online

Users browsing this forum: newoski and 1 guest