ftp.nice.ch/pub/next/system/driver/screen/ATIMach-32PCI.I.bs.tar.gz#/ATI/ATI_hack.txt

This is ATI_hack.txt in view mode; [Download] [Up]

ATI HACK


From qb.rhein-main.de!vhs@odb.rhein-main.de Wed Jul  6 05:17 CDT 1994
Return-Path: <qb.rhein-main.de!vhs@odb.rhein-main.de>
Received: from ki1.chemie.fu-berlin.de by slowhand (5.0/SMI-SVR4)
	id AA27098; Wed, 6 Jul 94 05:16:58 CDT
Received: by ki1.chemie.fu-berlin.de (Smail3.1.28.1)
	  from odb.rhein-main.de (193.141.47.4) with smtp
	  id <m0qLU1n-0000XWC>; Wed, 6 Jul 94 12:16 MEST
Received: from qb.rhein-main.de by odb.rhein-main.de with uucp
	(Smail3.1.28.1 #4) id m0qLU2W-000aShC; Wed, 6 Jul 94 12:17 MET DST
Received: by qb.rhein-main.de (Smail3.1.28.1 #2)
	id m0qLUTP-0027eAC; Wed, 6 Jul 94 11:45 GMT+0100
Received: by NeXT.Mailer (1.100)
Received: by NeXT Mailer (1.100)
Message-Id: <m0qLUTP-0027eAC@qb.rhein-main.de>
Date: Wed, 6 Jul 94 11:45 GMT+0100
From: vhs@qb.rhein-main.de (Volker Herminghaus-Shirai)
To: longsg01@slowhand.nmb.com (Gary Longsine)
Subject: Re: ATI Mach32 PCI driver???
Reply-To: vhs@qb.rhein-main.de
Content-Type: text
Content-Length: 6340

In comp.sys.next.misc article <2vc3l1$2kk@slowhand.nmb.com> you wrote:
> Does anyone know where I can get the alleged 

> beta driver for the ATI Mach 32 PCI video?
> Please respond via email...
> Thanks!
> Gary Longsine
> longsg01@slowhand.nmb.com  (ascii mail only)

Try [info|drivers]@talus.com. I know they released one end April, but also  
heard it's hard to get unless you buy a bundle of drivers from them. If you  
hear of any alternatives, please let me know. I've been struggling with  
mine for a while now, and getting tired.

BTW I have a Zenith 500 with mach32 and an STG1700 RAMDAC. There is a patch  
that someone posted a while ago to make ATI/PCI running, but it probably  
only works if you have one of the NeXT-supported RAMDACs (mine isn't  
supported, of course :-(. You need the development system, though. Good  
luck.


--------- Cut here -------

>From: keiblin@cs.tu-berlin.de (Alexander Keiblinger)
>Newsgroups: comp.sys.next.hardware
>Subject: Re: ATI GUP on PCI WORKS!!! ,any interest ?
>Date: 28 Jan 1994 13:21:20 GMT
>Organization: Technical University of Berlin, Germany
>
>
>Here the howto for the ATI GUP PCI card:
>-You need the Developer Package to use it. I am not able to give you self
> configuring binaries, because I do not have documentation for different
> flavours of ATI PCI card registers. It should work with different  
RAMDACS.
> Mostly the ones you find in the NeXT Code.
>
> Use this only if you understand the code and/or are sure that your card  
maps
> in at 1GB and has a Video Port Adress of 0x2e0-0x2ef.
> I use this pseudo-diff, to let you do some work in the interesting area  
of the
> code, so you can understand what you are doing. You will see the places  
where
> you have to change values to get it working for your own card.    

>
>What to do:
>
>1) be sure you know, that you can reboot cleanly with  
RightAlt+RCtrl+NumLock
>   and then pressing "r" blind. This is for the case your window server  
comes
>   up with a wrong aperature address. Then you can reboot with  
"config=Default"
>   and fix it in VGA mode.
>
>2) Change 

>*** /NextDeveloper/Examples/DriverKit/ATI/Default.table	
>--- /NextDeveloper/Examples/DriverKit/MyATI/Default.table
>* "Memory Maps" = "0x7e00000-0x7ffffff 0xa0000-0xbffff 0xc0000-0xcffff";
>! "I/O Ports" = "0x100-0x105 0x2e8-0x2ef 0x3b0-0x3e0 0x6e8-0x6ef  
0xae8-0xaef 0xee8-0xeef 0x12e8-0x12ef 0x16e8-0x42ef 0x46ee-0x46ef  
0x4ae8-0x4aef 0x52ee-0xfeef";
>
>to:
>
>! "Memory Maps" = "0x40000000-0x401fffff 0xa0000-0xbffff 0xc0000-0xcffff";
>! "I/O Ports" = "0x2e0-0x2ef";
>
>to get new values as Default in Configure.app. The second and third values  
in
>Memory Maps should stay the way they are.
>
>3) Change
>
>*** /NextDeveloper/Examples/DriverKit/ATI/ATI_reloc.tproj/ATIModes.h	
>--- /NextDeveloper/Examples/DriverKit/MyATI/ATI_reloc.tproj/ATIModes.h
>* #define	INTEL_CORSAIR_FB_ADDR		0x7a000000
>to:
>! #define	INTEL_CORSAIR_FB_ADDR		0x40000000
> 

>to burn in my Memory Aperature Address
>
>4) Add
>
>*** /NextDeveloper/Examples/DriverKit/ATI/ATI_reloc.tproj/ATI.m	
>--- /NextDeveloper/Examples/DriverKit/MyATI/ATI_reloc.tproj/ATI.m
>***************
>*** 119,126 ****
>  {
>  	unsigned char *ip;
>  	unsigned int location;	/* Base address in Mbytes */
>! 	
>  	/*
>  	 * The PC BIOS is broken into 2 Kb slices. On startup, the ATI BIOS
>  	 * stashes away which 2 Kb slice it live in in scratch reg 0.
>--- 119,133 ----
>  {
>  	unsigned char *ip;
>  	unsigned int location;	/* Base address in Mbytes */
>! 		
>!
>! #if DEBUG
>! 	IOLog("MemoryAperatureBaseAddress() == 0x%x\n",  
INTEL_CORSAIR_FB_ADDR);
>! #endif
>! 	return(INTEL_CORSAIR_FB_ADDR); /* Return phys address in bytes, not  
Mb */
>!
>!
>  	/*
>  	 * The PC BIOS is broken into 2 Kb slices. On startup, the ATI BIOS
>
>to get burned in configured Aperature Adress and nothing else!
>
>5) Add
>
>*** /NextDeveloper/Examples/DriverKit/ATI/ATI_reloc.tproj/ATI.m	
>--- /NextDeveloper/Examples/DriverKit/MyATI/ATI_reloc.tproj/ATI.m
>***************
>*** 160,166 ****
>--- 167,180 ----
>  {
>  	unsigned char *ip;
>  	unsigned int location;
>+
>+ 	/*
>+ 	 * It's never safe to reprogram Corsair Style Bios, as we don't  
know
>+ 	 * how to set the off-chip decoding logic.
>+ 	 */
>+ 	 return NO;
>+
>  #if DEBUG
>  	IOLog("SetMemoryAperatureBaseAddress(0x%x)\n", newLocation );
>  #endif
>
>6) Add
>
>*** /NextDeveloper/Examples/DriverKit/ATI/ATI_reloc.tproj/ATI.m	
>--- /NextDeveloper/Examples/DriverKit/MyATI/ATI_reloc.tproj/ATI.m
>***************
>*** 510,516 ****
>--- 524,534 ----
>  	 * DriverKit which prevents setting addresses in the high 2 Gb of
>  	 * address space.
>  	 */
>+
>+ 	break;
>+ 	/* We dont want the following */
>+       

>  	if (range->start != physLoc || range->size < length) {
>  	    IOLog("%s: FB addr decodes as 0x%x, overriding configured "
>  		  "addr 0x%x.\n", [self name], physLoc, range->start);
>
>to come around bus logic tests.
>
>7) Add
>
>*** /NextDeveloper/Examples/DriverKit/ATI/ATI_reloc.tproj/ATI.m	
>--- /NextDeveloper/Examples/DriverKit/MyATI/ATI_reloc.tproj/ATI.m
>***************
>*** 619,625 ****
>--- 637,649 ----
>  {
>      int slot;
>      unsigned int product_id;
>+
>+     /* This is what we want */
>+     IOLog("%s: Assuming a PCI bus ATI card.\n", [self name]);
>+     ati_flavor = ATICorsair;
>+     return TRUE;
>+
>     

>      /* First, scan for a board in an EISA slot. */
>      if ([self isEISAPresent] == TRUE) {
>
>for card id.
>
>Now you can build the project. Build DEBUG recommended.
>
>That were the changes in the Driver Kit ATI code to get it going. Now you  
have
>to as root:
>
>-mv /usr/Devices/ATI.config to /usr/Devices/ATI.config.original
>-double click on your new  
/NextDeveloper/Examples/DriverKit/MyATI/ATI.config
> this will install the new Driver. You can choose the resolution and  
colors.
> With colors I get about 0.89 NXBench-marks, monochrome 1.3 NXBench-marks.
>-Reboot and press Return on the boot prompt to get around the grafic boot  
up,
> to see all that happens. Mostly the debugging output.
>-Be happy or remember point 1) (that one about dirty shutdown).
>
>
> That was it ...  Good luck ... Bye
>
>--
>  "I'm sorry Dave, I'm afraid I can't do that" 

>




--
Volker Herminghaus-Shirai (vhs@qb.rhein-main.de)

Cogito ergo NeXT	-	Save the Whales -- Harpoon a Honda

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.