Howard, when you have time will you dump the IOReg for you Rage128Ps?
ioreg -n ATY,Rage128Ps
On Aug 8, 2019, at 1:48 PM, Jd Lyons lyons_dj@yahoo.com wrote:
Looks like a Rage128 NDRV to me….
| +-o ATY,Rage128Pd@E <class IOPCIDevice, registered, matched, active, busy 0, retain count 17> | | | { | | | "devsel-speed" = <00000000> | | | "ATY,NVMode" = <"kcModeID_B"> | | | "AAPL,ndrv-interrupt-set" = "IONDRVInterruptSet is not serializable" | | | "class-code" = <00030000> | | | "depth" = <00000020> | | | "ATY,CRTActive" = <00000001> | | | "width" = <00000500> | | | "reg" = <00007000000000000000000000000000000000004200701000000000000000000000000001000000010070140000000000000000000000000000010002007018000000000000000000000$ | | | "my_switch" = <0001000000> | | | "assigned-addresses" = <420070100000000081000000000000000100000001007014000000000000100000000000000001000200701800000000820000000000000000004000> | | | "ATY,Panel" = <"Apple,XGA"> | | | "AAPL,gray-page" = <00000001> | | | "my_lcd" = <00> | | | "my_crtc" = <01> | | | "ATY,ReplaceMode" = <"kLastModeNumber"> | | | "max-latency" = <00000000> | | | "AAPL,phandle" = <fff62794> | | | "compatible" = <"VGA"> | | | "device-id" = <00005245> | | | "AAPL,gray-value" = <00648cc3> | | | "RF,REF" = <00000b86> | | | "IOPMIsPowerManaged" = Yes | | | "ExactRatioMode" = <"kp800x600x60"> | | | "IOHibernateState" = <00000000> | | | "revision-id" = <00000000> | | | "RF,VCLK" = <00000000> | | | "EDIDCheckSum" = <1a> | | | "address" = <81000000> | | | "Copy,Sime" = <03000cb3395009181004013eb8e00000002a0cb3395022224828002b80040000> | | | "RF,XCLK" = <000019c8> | | | "cache-line-size" = <00000000> | | | "AAPL,iokit-ndrv" = <00628af8> | | | "ATY,TVActive" = <00000000> | | | "AAPL,address" = <22faf0001f4bc00022e4e000> | | | "interrupts" = <00000001> | | | "SaveConfig" = <0073071700820b1a3a02050006c0004000a003c003f300010003550003000000> | | | "AAPL,vram-memory" = <8100000000ff8000> | | | "OverPanelMode" = <"kp800x600x60"> | | | "RF,MCLK" = <000019c8> | | | "my_default" = <"Apple"> | | | "name" = <"ATY,Rage128Pd"> | | | "subsystem-vendor-id" = <00001af4> | | | "model" = <"ATY Rage128"> | | | "AAPL,RegEntryID" = <01200300fedffcff53696d6552756c7a> | | | "subsystem-id" = <00001100> | | | "DAC" = <01> | | | "height" = <000003c0> | | | "ATY,PanelActive" = <00000000> | | | "ATY,DisplayMode" = <"k640x480x60"> | | | "Factory" = <00004000> | | | "ATY,DefaultMode" = <"k640x480x60"> | | | "Copy,ATYN,err" = <f615> | | | "RF,DotClock" = <00000000> | | | "IODeviceMemory" = (({"address"=18446744071578845184,"length"=16777216}),{"offset"=4096,"parent"=({"address"=18446744073474670592,"length"=65536}),"length"=25$ | | | "ATYN" = <0073071700820b1a3a02050006c0004000a003c003f300010003550003000000> | | | "ATY,CurMode" = <"kAliasID"> | | | "ATY,memsize" = <00ff8000> | | | "ATY,Connection" = <"kMonitorVGA"> | | | "display-connect-flags" = <00000000> | | | "driver,AAPL,MacOS,PowerPC" = <6d74656a000000000d4154592c5261676531323850640000000000000000000000000000000000000101602f00000006102e446973706c61795f52616765313$ | | | "Copy,Sime,err" = <f615> | | | "Power Management private data" = "{ this object = 01200300, interested driver = 01200300, driverDesire = 0, deviceDesire = 2, ourDesiredPowerState = 2, previ$ | | | "Init,Time" = <002fca4c013eb8e0> | | | "ATY,Sense" = <00000717> | | | "my_modes" = <0101010202> | | | "AAPL,maps" = ("_IOMemoryMap is not serializable","_IOMemoryMap is not serializable","_IOMemoryMap is not serializable") | | | "ATY,ChkSumMode" = <"k640x480x60"> | | | "AAPL,ndrv-dev" = Yes | | | "ATY,MEM" = <"SDR512Kx16x2x16MB128"> | | | "driver-ist" = <013df0800000000100000000000000000000000000000000013df080000000020000000000000000> | | | "ATY,TimingFlagsMode" = <"kcModeID_B"> | | | "vendor-id" = <00001002> | | | "min-grant" = <00000000> | | | "device_type" = <"display"> | | | "Copy,ATYN" = <03000cb3395009181004013eb8e00000002a0cb3395022224828002b80040000> | | | "Power Management protected data" = "{ theNumberOfPowerStates = 3, version 1, power state 0 = { capabilityFlags 00000000, outputPowerCharacter 00000000, input$ | | | "EDID" = <00ffffffffffff0049143412000000002a180104a5281e7806ee91a3544c99260f5054210800e1c0d1c00101010101010101010101012520006641001a30001e3340932e110000180000$ | | | "linebytes" = <00001400> | | | "AAPL,ndrvInst" = "IOPEFNDRV is not serializable" | | | } | | | | | +-o .Display_Rage128 <class IOATI128NDRV, registered, matched, active, busy 0, retain count 12> | | | +-o IOFramebufferI2CInterface <class IOFramebufferI2CInterface, registered, matched, active, busy 0, retain count 5> | | | +-o display0 <class IODisplayConnect, registered, matched, active, busy 0, retain count 5> | | | | +-o AppleDisplay <class AppleDisplay, registered, matched, active, busy 0, retain count 7> | | | +-o IOFramebufferUserClient <class IOFramebufferUserClient, !registered, !matched, active, busy 0, retain count 5> | | +-o ATIRage128 <class ATIRage128, registered, matched, active, busy 0, retain count 6> | | +-o ATIR1282DContext <class ATIR1282DContext, !registered, !matched, active, busy 0, retain count 5> | | +-o ATIR128Surface <class ATIR128Surface, !registered, !matched, active, busy 0, retain count 5> | +-o ethernet@F <class IOPCIDevice, registered, matched, active, busy 0, retain count 10>
On Aug 8, 2019, at 12:11 PM, Jd Lyons lyons_dj@yahoo.com wrote:
I’m 99% sure this is the trouble, I don’’t really understand IRQ’s and interrupts, there is some info in the Rage_128_register_referance_guide.
I tested my theory via OS X 10.4.11and it mapped the VRAM rather than giving me the ATY:Not Usable, it also changed the screen resolution twice, once to 640x480 then to 1280x960.
dev /pci/@f “ /pci/@f” select-dev “ ATY,Rage128Pd” encode-string “ name” property 1 encode-int “ interrupts” property boot
OS X would not be able to change the screen resolution if the ‘NDRV’ didn’t load!!!
So I’m 99% sure this is the trouble and we need to figure out how to create a mapped interrupt for the card, rather than this dummy Interrupt I create because I’m a dummy;-)
On Aug 8, 2019, at 12:41 AM, Jd Lyons lyons_dj@yahoo.com wrote:
Could be the Rage128 ‘NDRV’ is aborting do to the lack of an interrupt……….