Newsgroups: comp.os.linux
From: ruhtra@turing.toronto.edu (Arthur Tateishi)
Subject: Re: X with ATI Wonder 28800-2
Organization: CSRI, University of Toronto
Date: 7 Nov 92 08:24:38 GMT

In article <1992Nov6.234021.868@news.Hawaii.Edu> lee@Hawaii.Edu (Greg Lee) writes:
>
>ruhtra@turing.toronto.edu (Arthur Tateishi) wrote:
>
>}I've got XFree86-1.1 working on my ATI VGA Charger(28800-4), recognized
>}as V6. With the help of Wayne Hayes, we have pinpointed it to
>}the first value in the extraPlusXLAndOrMasks array in driver.c.
>}The 28 needs to be changed to 31.
>
>This also works for my version of the ATI VGA Wonder, which X recognizes
>as:
>  ATI BIOS Information Block:
>   Signature code:                31 = VGA WONDER
>   Chip version:                  3 =  ATI 28800-2
>   BIOS version:                  1.3
>   Byte at offset 0x42 =          0x11
>   Byte at offset 0x44 =          0x49
>
>  This video adapter is a:        VGA WONDER PLUS (V6)
>  Amount of RAM on video adapter: 512k
>

**Sappy Gushing on**
When I first heard about Linux about a year ago, it sounded
(as an outsider) like Linus was doing a solo. I got involved
back in July after getting a decent new machine and I currently
see Linux as an incredibly successful international project
with many builders.
I'd just like to echo the many accolades we regularly see
and express my thanks to the many many contributors.
**Sappy Gushing off**

I figure it's good enough news to let the world know.
It's feasible to patch the binary X386 image to get things
to work with the Wonder Plus set of cards. I've copied one
of my recent mailings below. Ric Faith has incorporated the
tweak into the XFree86 sources so it should be in the next
release. However, I'm presuming that won't be for a little
while. Meanwhile, you can apply the fix to the binary directly.

Ok, I have yet another data point for my patch. Martin Rex informs
me that (not surprisingly) the location is different for the
two versions of x11 v2.0 and v2.1. I've repeated my message to Martin
below with part of his response inserted. Use whatever means you have
to do the byte patch. Just make a backup copy of X386 to be safe.

arthur

The byte that needs changing is offset 0xbf4dc, I believe.
Change the 0x28 there to a 0x31. I've never patched binaries
before so I have no idea if this will work.

From:	mrex@aix01.rz.fht-mannheim.de (Martin Rex)
    Ok, your patch was for the binary of x11_v2.0, the offset is different
    for xfree86_1.1 (=x11_v2.1).  If you search for the byte sequence
    00D9280187 in the X-Server binary "X386", then you find the right
    location in both Versions.

    locate in original Code:    00D9280187
				    ^^
    replace sequence with this: 00D9310187

You should also setup your clocks in the Xconfig as in the following.
#
# The graphics drivers
#
vga256
  Virtual	800 655
  ViewPort      0 0
  Modes	        "640x480" "800x600d"
  Clocks 18 22 25 28 36 44 50 56
	 30 32 37 39 40 0  75 65
  Pseudocolor
  Chipset	"ati"
  Videoram	512

ModeDB
# clock  horzontal timing      vertical timing
 "640x480"   25     640  672  768  800    480  490  492  525
 "640x480a"  28     640  672  768  800    480  490  492  525

 "800x600d"  36     800  824  896 1024    600  608  610  633
 "800x600"   36     800  816  952 1056    600  608  610  633
 "800x600a"  36     800  832  966  966    600  600  609  631
             39     800  872  968 1104    600  600  606  624


-- 
"The first fact to face is that UNIX was not developed with security, in any
reliable sense, in mind; this fact alone guarantees a vast number of holes."
    -- "On the Security of UNIX", Dennis M. Ritchie
Arthur Tateishi                 ruhtra@turing.utoronto.ca
Newsgroups: comp.os.linux