Menu

#82 Support for multiple SVGA chipsets

open
c2woody
None
5
2015-01-25
2005-04-28
No

This patch adds basic support for Tseng ET3000 and
Tseng ET4000 SVGA chipset. It also allows to run DOSBox
in "pure VGA" mode with no detectable SVGA hardware.
This implementation is rather incomplete but both new
chipsets pass detection, correctly configure banked
memory, support proper video modes. Some demos that
require high register-level compatibility will not work
but simpler apps seem to work fine. Tested with Deluxe
Paint IIe (of particular interest is Gallery app that
does not support S3 or VESA, it only supports
ET3000), multiple Legend Entertainment games.
Chipset is configurable in dosbox.conf. New section has
been added:

[vga]

svgachipset=none

svgachipset=tseng et3000

svgachipset=tseng et4000

svgachipset=s3 trio64

videoram=512

If this section is missing or incomplete, S3 is
selected (identical to the current functionality).
videoram setting is currently supported only for ET4000
(ET3000 had very quirky implementation and I did not
want to break S3 just yet).

Disclaimers:
1. I haven't submitted any patches to SF for quite a
long time, my skills in that respect are rusty. If I
messed up, just let me know.
2. I only used VC.NET configuration for all testing. It
should build with GCC but there is no 100% guarantee
until somebody tests it. I haven't try to fix VC6 --
that config seems to be pretty broken right now.
3. The diff is made against daily CVS drop 20050427. It
may not work against later drops.

Questions, comments:
in forum or vasyl [at] pacbell [dot] net

Discussion

<< < 1 2 3 (Page 3 of 3)
  • Vasyl Tsvirkunov

    Logged In: YES
    user_id=352450
    Originator: YES

    Another day, another update. Some of the recent EGA compatibility fixes caused merge conflicts in the patch. Nothing major but needed an update.
    File Added: dosbox-svga-patch-20071026.diff

     
  • Vasyl Tsvirkunov

    Updates

     
  • Vasyl Tsvirkunov

    Updates

     
  • Vasyl Tsvirkunov

    Logged In: YES
    user_id=352450
    Originator: YES

    More updates. There was a lot of recent work in VGA/XGA/S3 files causing some merge conflicts. Please test and report all problems in forums.
    File Added: dosbox-svga-patch-20071225.diff

     
  • Vasyl Tsvirkunov

    Updates

     
  • Vasyl Tsvirkunov

    Logged In: YES
    user_id=352450
    Originator: YES

    Big part of the patch went into CVS today so the patch is now much smaller, less than 1/3 of the size. CVS now has most of the functionality, the patch only implements dynamic VRAM allocation, VRAM boundary checks/wrapping, and specifying VRAM size in dosbox.conf. Please note that the section [vga] in dosbox.conf is not used anymore, everything is done in machine= line. The syntax of that line is more restrictive, use vga_et4000, vga_et3000, or vga_pvga1a followed by optional VRAM size (in bytes, kbytes, or mbytes -- the number is always non-ambiguous).
    There are also two bug fixes. The green cast in Wonderland on PVGA1A is gone (wrong vmode type was set); no more mysterious slowdown in Death Rally (still not sure what was causing it but it is not the new version of the patch).
    File Added: dosbox-svga-patch-20080109.diff

     
  • Vasyl Tsvirkunov

    Updates

     
  • Vasyl Tsvirkunov

    Logged In: YES
    user_id=352450
    Originator: YES

    And another part of the patch is in CVS. Only a tiny piece left here -- user selection of VRAM size.
    There is a small change in CVS compared to previous patch state, not in functionality but in the build process. C_VGARAM_CHECKED is now off by default. If you need super-stable build that can withstand WHATVGA abuse you need that symbol to be set to 1 in config.h. However, there are three handlers that always do checking now because there are known games that require that and also because those checks don't sacrifice much of performance. This means that in absolute majority of cases you can leave it as is.

    File Added: dosbox-svga-patch-20080112.diff

     
<< < 1 2 3 (Page 3 of 3)

Log in to post a comment.