#82 Support for multiple SVGA chipsets

open
c2woody
None
5
2014-08-14
2005-04-28
Vasyl Tsvirkunov
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 .. 6 > >> (Page 1 of 6)
  • `Moe`
    `Moe`
    2005-05-30

    Logged In: YES
    user_id=1045474

    Just FYI: it compiles fine on linux. Wasn't able to test it
    thoroughly, I was just curious if win95's driver can use it
    (it can't), but I don't care - I don't need win95, was just
    curious and bored.

     
  • Logged In: YES
    user_id=352450

    Refresh/update for the patch.
    Changes:
    - Refreshed the patch against current CVS (5/31/2005);
    - Fixed a few bugs in vga_memory.cpp. Dawn Patrol works on
    ET4000 straight out of the box;
    - Streamlined modular implementation, separated Tseng
    chipsets into their own file, etc.
    - Integrated patch 1198821 (setmode/crtc corrections).

    Hopefully, I did not break much. Still did not figure out
    Virtual Pool, will work on that and on the basic Paradise
    driver next (test case -- Wonderland by Magnetic Scrolls).

     
  • Logged In: YES
    user_id=352450

    Another update - important enough that I've decided to post
    it immediately. Fixes major bug that was in both previous
    patches that prevented Virtual Pool from working. Virtual
    Pool is completely playable in 640x480 with Tseng ET4000.

     
  • Logged In: YES
    user_id=352450

    Oops, got wrong vcproj file in the last update. Fixed. Use
    version 20050601a.

     
  • Logged In: YES
    user_id=352450

    Another important update. Changes:
    - Refreshed to the current CVS state.
    - Added Paradise PVGA1A card (use "svgachipset=paradise
    pvga1a" or just "svgachipset=pvga1a" - see below). The
    emulation is very simple but the card itself if very basic.
    Wonderland by Magnetic Scrolls works in SVGA mode now.
    - Cleaned up Tseng emulation source code. No new
    functionality to speak about but the source is smaller and
    easier to maintain. Verified a few items against Ferraro's
    book; VGADOC can get too detailed on occasions.
    - Improved .conf file handling. Now it is enough to write
    just the chipset name (et3000/et4000/pvga1a/trio64/none); it
    is also case-insensitive. "svgachipset" handling is
    essentially moved to drivers.

     
  • Logged In: YES
    user_id=352450

    Another little oops. Missed one file in the last diff.
    Fixed. Version 20050702a is correct.

     
  • Logged In: YES
    user_id=352450

    Fixed performance issue with debugger-enabled builds.
    Special thanks to ykhwong for finding and reporting this
    problem.

     
  • Logged In: YES
    user_id=352450

    Another round of polishing. The last fix was incomplete.
    Version 20050704 should be better.
    I am also removing obsolete versions, there is no point in
    keeping them here.

     
  • Logged In: YES
    user_id=352450

    Refresh against current CVS state (just after midnight
    7/15). Otherwise nothing new.

     
  • Logged In: YES
    user_id=352450

    Refresh agains current CVS (after midnight 7/31, PST).
    Crossing my fingers as there were a few collisions.

     
1 2 3 .. 6 > >> (Page 1 of 6)