Multiple SVGA Chipset patch

Here you can discuss the development of patches

Re: Patch for Tseng SVGA support is available in SourceForge

Postby vasyl » 2005-5-07 @ 08:47

Funny enough, Virtual Pool uses the same trick as Dawn Patrol. I am not sure if it is split screen implementation that is failing, or odd/even, or something else -- I am getting part of the screen rendered in incorrect position... Again, so close... Currently working on theory that line compare is correct (the problem is not consistent with that feature) and it is odd/even thing. So, I am in vga_memory land once more.
vasyl
Oldbie
 
Posts: 680
Joined: 2005-3-27 @ 04:53

Re: Patch for Tseng SVGA support is available in SourceForge

Postby ih8registrations » 2005-5-07 @ 11:25

BTW, Linux dosemu already has multiple video chipsets emulated: paradise, et4000, s3, ati, trident, ... so they're there for porting or comparision.
ih8registrations
Oldbie
 
Posts: 931
Joined: 2003-7-25 @ 17:20

Re: Patch for Tseng SVGA support is available in SourceForge

Postby Srecko » 2005-5-07 @ 13:52

Great that you have it nearly working, vasyl.
I first tested it with version on sf.net,probably without modifications for dawn patrol (btw. it's possible to update(replace) uploaded file there).

I guess that also VESA mode in virtual pool isn't working because of those unimplemented vga features...
Voting for paradise :money:
Srecko
Member
 
Posts: 466
Joined: 2003-9-08 @ 15:03

Re: Patch for Tseng SVGA support is available in SourceForge

Postby ih8registrations » 2005-5-07 @ 21:05

back to rooting out the VESA timeline, finding a consensus here:

http://64.233.187.104/search?q=cache:Ac ... +1.0&hl=en

http://64.233.187.104/search?q=cache:uv ... 1990&hl=en

(vbe 1.0 & 2.0) http://64.233.187.104/search?q=cache:vc ... 1990&hl=en

(vbe 3.0) http://www.vesa.org/public/VBE/vbe3.pdf

(vbe 1.2) http://64.233.187.104/search?q=cache:Vu ... 0602&hl=en

1.1 is vesa standard #VS900602
(vbe 1.1) http://www.filelibrary.com/Contents/DOS/54/97.html

founded 2/89
first spec 8/89 mode 6ah 800x600 16 color (what I christen as vbe 0.0):)
vbe 1.0 10/89
vbe 1.1 6/90
vbe 1.2 8/91
vbe 2.0 11/94
vbe 3.0 9/98

version changes summaries are given in an appendix in each doc.
Definitively, the dates are in the title pages and make up the standard #.

Oh, though they said they wouldn't define any more mode numbers from 2.0 on, 2.0 adds Special Mode number 81FFh. It's a function and not a video mode but it is a "mode" added to the mode list. Being pedantic, their sentence is wrong, but obviously they were referring to new video modes:) vbe 2.0 spec also defines vga standard modes 0-7, d-13 for setting them by vesa. They included this mode block info only in the vbe 2.0 spec.
ih8registrations
Oldbie
 
Posts: 931
Joined: 2003-7-25 @ 17:20

Re: Patch for Tseng SVGA support is available in SourceForge

Postby vasyl » 2005-5-08 @ 07:15

Great research! IMHO, VESA was "too little, too late" kind of standard. In 1990 there were dozens of different video cards. Some manufacturers never bothered to update BIOS with VESA, extra TSRs were considered evil. So, most graphics libraries had coded support for many chipsets. I only vaguely remember playing with UniVBE on ET4000 but I don't think I ever had any game that actually required VESA. But again, it was fifteen years ago...
Thanks about DOSEMU tip, somehow I've missed that feature. Last time I checked DOSEMU it could barely run text mode apps. Looks like they've got a lot since.
As for Virtual Pool -- the broken part is definitely in basic VGA functionality so it does affect all SVGA implementations. I would speculate that this issue affects quite a few other SVGA games and probably a few VGA games running in hacked 320x200 modes. IIRC, Quake had a few of those. I still have the very first edition of Quake, let's see what it does.
vasyl
Oldbie
 
Posts: 680
Joined: 2005-3-27 @ 04:53

Re: Patch for Tseng SVGA support is available in SourceForge

Postby ih8registrations » 2005-5-10 @ 07:29

I've been adding some fixes to setmode/crtc register reporting:
https://sourceforge.net/tracker/index.p ... tid=467234
There's some dos utils that test vga accuracy that I up'd with the patch that you'd might be interested in.
ih8registrations
Oldbie
 
Posts: 931
Joined: 2003-7-25 @ 17:20

Re: Patch for Tseng SVGA support is available in SourceForge

Postby vasyl » 2005-5-10 @ 07:44

This is great, thanks. I had no time to do anything on DOSBox lately :sad:
I double-checked Quake and all hacked modes work fine so whatever's broken, it does not affect non-SVGA modes. Very interesting, considering how simple Virtual Pool driver actually is -- it must be something very fundamental that breaks it but I still cannot tell exactly what's wrong. I will try your fixes and see how's that going.
vasyl
Oldbie
 
Posts: 680
Joined: 2005-3-27 @ 04:53

Re: Patch for Tseng SVGA support is available in SourceForge

Postby vasyl » 2005-5-10 @ 08:24

All right, I've integrated your changes with mine. Funny, I recalled both VGA testing tools. I even vaguely recall that my Tseng ET4000 actually failed some test in VGATEST... Your changes apparently improve compatibility but Virtual Pool is still broken :sad: Actually, I expected that -- everything point to sequencer, not CRTC in that case. More work to do.
vasyl
Oldbie
 
Posts: 680
Joined: 2005-3-27 @ 04:53

Re: Patch for Tseng SVGA support is available in SourceForge

Postby ih8registrations » 2005-5-12 @ 02:41

A game tweaked for paradise vga?

http://64.233.187.104/search?q=cache:Pu ... +vga&hl=en
http://64.233.187.104/search?q=cache:Pu ... +vga&hl=en

The original release already included vga so when the paradise version says "special vga version" on the disk, it makes me wonder..

Time to hunt down the paradise version of the game.

mobygames notes it as a tweaked vga game:
http://www.mobygames.com/attribute/shee ... eId,7/p,2/
ih8registrations
Oldbie
 
Posts: 931
Joined: 2003-7-25 @ 17:20

Re: Patch for Tseng SVGA support is available in SourceForge

Postby eL_PuSHeR » 2005-5-12 @ 07:15

I think the latter one is called MODE-X. Very popular in the demo scene when they were programming standard VGA.

Tran's demos come to mind. Like Luminati.
User avatar
eL_PuSHeR
Moderator
 
Posts: 6315
Joined: 2003-6-20 @ 16:39

Re: Patch for Tseng SVGA support is available in SourceForge

Postby ih8registrations » 2005-5-12 @ 08:19

It may be mode-x or "special" paradise(aka uses pvga1a registers/mode for setup/running). Won't really know until someone gets ahold of a copy of the paradise version or find a description of it's video option. mobygames categories are general so you can't assume by their title.

Speaking of special versions, I'd love to get the GUS version of Chuck Yeager's Air Combat again but havn't found a copy online in my searching(a lot). Too bad I don't have the disks anymore:( Still have my Ultrasound though:)
Looked to no avail for the original install disks too(have lots of the later versions).
Last edited by ih8registrations on 2005-5-12 @ 14:20, edited 1 time in total.
ih8registrations
Oldbie
 
Posts: 931
Joined: 2003-7-25 @ 17:20

Re: Patch for Tseng SVGA support is available in SourceForge

Postby ih8registrations » 2005-5-12 @ 09:21

I may have found the cause for the virtual pool issue by the sequencer. I'm looking at the datasheet for the C & T 65510 vga controller and it says the sequencer has a horizontal character counter reset register: SR07(r/w), that is a standard VGA register which was not documented by IBM. It's not implemented by dosbox. Dun, dun, dun:) It should be case 0x07 in read_p3c5 & write_p3c5.

vgadoc describes it as well. bochs and qemu don't have it implemented.
ih8registrations
Oldbie
 
Posts: 931
Joined: 2003-7-25 @ 17:20

Re: Patch for Tseng SVGA support is available in SourceForge

Postby HunterZ » 2005-5-12 @ 12:58

I'm 95% sure that I have that Paradise version of Indy: Last Crusade game on original 5.25" disks. Unfortunately I don't have a 5.25" disk drive.

I remember running it on a non-Paradise video card though, and it still runs. It doesn't use any special modes that I can see. I think it was just bundled with some Paradise video cards and they pretended that it was special somehow. Or, maybe it runs better if it detects a Paradise card, so I never got to see the difference?
You're perfect, yes it's true...but without me, you're only you.
User avatar
HunterZ
l33t++
 
Posts: 5777
Joined: 2003-1-31 @ 19:04
Location: Seattle

Re: Patch for Tseng SVGA support is available in SourceForge

Postby ih8registrations » 2005-5-12 @ 13:28

Both r/w_p3c5 have logging for non recognized indexes so check for that when running virtual pool.
ih8registrations
Oldbie
 
Posts: 931
Joined: 2003-7-25 @ 17:20

Re: Patch for Tseng SVGA support is available in SourceForge

Postby vasyl » 2005-5-13 @ 06:25

I'll do that. The theory is very plausible but that particular index is not used in the initialization routine:
Code: Select all
seg000:00FF          mov       ax,   2Eh ; '.'
seg000:0102          int       10h          ; -   VIDEO -   SET VIDEO MODE
seg000:0102                   ; AL = mode
seg000:0104          mov       dx,   3D4h
seg000:0107          mov       ax,   9
seg000:010A          out       dx,   ax       ; Video: CRT cntrlr   addr
seg000:010A                   ; maximum scan line
seg000:010B          mov       ax,   8F18h
seg000:010E          out       dx,   ax       ; Video: CRT cntrlr   addr
seg000:010E                   ;
seg000:010F          mov       ax,   0Dh
seg000:0112          out       dx,   ax       ; Video: CRT cntrlr   addr
seg000:0112                   ; regen start address (low)
seg000:0113          mov       ax,   0Ch
seg000:0116          out       dx,   ax       ; Video: CRT cntrlr   addr
seg000:0116                   ; regen start address (high)
seg000:0117          mov       dx,   3C4h
seg000:011A          mov       ax,   604h
seg000:011D          out       dx,   ax       ; EGA: sequencer address reg
seg000:011D                   ;
seg000:011E          mov       dx,   3CEh
seg000:0121          mov       ax,   4005h
seg000:0124          out       dx,   ax       ; EGA: graph 1 and 2 addr reg:
seg000:0124                   ;
seg000:0125          mov       dx,   3C4h
seg000:0128          mov       al,   2
seg000:012A          out       dx,   al       ; EGA: sequencer address reg
seg000:012A                   ; map mask:   data bits 0-3 enable writes to bit planes 0-3
seg000:012B          retf

The blit routine does not mess with the sequencer besides enabling/disabling planes. So, one of the indexes above is not implemented correctly. Odd/even (3c5 index 4) is not doing anything at this moment, that's why I think it is the cause. Of course, that's unless the game actually does some VGA magic outside of the driver, and I did not dig that far yet.

As for Indy3, I don't think it is really Paradise-specific. The original PC version was EGA. That makes VGA "special." I would not be surprised if WD had OEM deal that allowed it to include VGA version very early, even before the retail release. A few games were like that but I did not know that Lucasarts did that as well.
vasyl
Oldbie
 
Posts: 680
Joined: 2005-3-27 @ 04:53

Re: Patch for Tseng SVGA support is available in SourceForge

Postby vasyl » 2005-5-13 @ 06:27

Almost forgot: there is something really odd about the last three lines in that routine -- a bug?
vasyl
Oldbie
 
Posts: 680
Joined: 2005-3-27 @ 04:53

Re: Patch for Tseng SVGA support is available in SourceForge

Postby HunterZ » 2005-5-13 @ 15:13

I agree with vasyl's take on the Indy3 thing.
You're perfect, yes it's true...but without me, you're only you.
User avatar
HunterZ
l33t++
 
Posts: 5777
Joined: 2003-1-31 @ 19:04
Location: Seattle

Re: Patch for Tseng SVGA support is available in SourceForge

Postby Darkfalz » 2005-5-15 @ 06:11

Sounds good! My mum plays a MahJong game which only supports certain chipsets for SVGA (pre-VESA days), I think Tseng is one of them!
Darkfalz
Member
 
Posts: 128
Joined: 2003-12-15 @ 13:30

Re: Patch for Tseng SVGA support is available in SourceForge

Postby vasyl » 2005-5-15 @ 07:07

Is that Hong Kong Mahjong, by any chance? That one was pretty good. There was later Windows 9x version but the port was quite lame.
BTW, I've asked freddie from Lucasarts Museum (http://lucasarts.vintagegaming.org/) about that Indy3 Paradise version. He is almost positive that the only difference was that Paradise version was on 5.25" floppies.
vasyl
Oldbie
 
Posts: 680
Joined: 2005-3-27 @ 04:53

Re: Patch for Tseng SVGA support is available in SourceForge

Postby vasyl » 2005-5-24 @ 07:34

Did not get much time lately to deal with this, had a grand total of about 40 minutes in last seven days. Virtual Pool has proven to be quite tricky. I've tried a few hacks and did not get far. I am pretty positive that it requires proper implementation of odd/even addressing which we don't have at the moment. Looks like it also does some kind of split screen which does not work either -- the implementation is there but it must be incomplete. Can anybody suggest good link to VGA programming documentation, more verbose than VGADOC? I looked through DOSEMU sources but its VGA implementation is less featured than the one in DOSBox.
I am planning to refresh my patch on SF and update it to complete Dawn Patrol support some time this week.
vasyl
Oldbie
 
Posts: 680
Joined: 2005-3-27 @ 04:53

PreviousNext

Return to DOSBox Patches

Who is online

Users browsing this forum: No registered users and 0 guests