Recent Posts

Pages: 1 2 [3] 4 5 6 7 8 9 10
21
Development & Programming / Re: Debugging ATI drivers for Mac Mini
« Last post by ssp3 on May 01, 2024, 12:27:03 AM »
Thanks for your input, joevt!

Maybe you could post a link to the ndrv so we know what you're looking at.

First attachment - drivers (extensions) for OS9 made out of OSX ndrvs. f63 is working in OS9, f100 is not.
Second attachment - OSX ndrvs f63 and f100 as extracted from OSX parts by ELN. From his GitHub repo.
Third attachment - PEF Viewer for OSX that I made to work standalone. Works on PPC and Intel under Rosetta.
Fourth attachment - asm and lst files of both PEFs, f63 and f100.
22
Development & Programming / Re: Debugging ATI drivers for Mac Mini
« Last post by joevt on April 30, 2024, 11:12:17 PM »
The compression is exactly defined by the PEF opcodes. I suppose PEF Viewer being a viewer means it doesn't have an option to edit? The only method I tried was to convert the disassembly of a PEF to an assembly file to be compiled by MPW or CodeWarrior PowerPC assembler into a new PEF.

I used Jasik's The Debugger for disassembly and used a script to convert that to assembly. I also used DumpPEF and a script to convert that to assembly. I don't remember how well they work. Jasik's the Debugger produces inconsistent results between the two formats it creates: .list and .asm. list includes hex data and offsets for each line so it might be more useful since you can check the offsets for all the labels to find the bugs.

Other options I haven't tried:
NationalSecurityAgency/ghidra
DBJ314/dePEF-and-disarm

The MPW DumpPEF command calls the compressed data "pidata"
The pidata opcodes are listed in IOGraphics-305.14/IONDRVSupport/IOPEFInternals.h
Code: [Select]
    kPEFPkDataZero              = 0,                            /* Zero fill "count" bytes. */
    kPEFPkDataBlock             = 1,                            /* Block copy "count" bytes. */
    kPEFPkDataRepeat            = 2,                            /* Repeat "count" bytes "count2"+1 times. */
    kPEFPkDataRepeatBlock       = 3,                            /* Interleaved repeated and unique data. */
    kPEFPkDataRepeatZero        = 4                             /* Interleaved zero and unique data. */

To be Mac OS X compatible, an ndrv must import only from a specific set of libraries. CarbonLib is definitely not one of them. Does it say CarbonLib somewhere in the ndrv? Maybe you could post a link to the ndrv so we know what you're looking at.
See IOGraphics-305.14/IONDRVSupport/IONDRVLibraries.cpp for the list of libraries and functions from each library.
Drivers should only use: PCILib, VideoServicesLib, NameRegistryLib, and DriverServicesLib
Apple also allowed some functions from InterfaceLib and PrivateInterfaceLib to make some of its ndrv's compatible with OS X.
Actually, IOGraphics-305.14 is for 10.5.8. If you look at IOGraphics-179.2.1 (for 10.4.11), then you see there's also some functions from the AtiUtils library which is used by the Beige G3's GPU.
XPostFacto may have some kexts that define some other libraries and functions to allow some other ndrv's to be usable. I added some libraries and functions to make my modified sixty6 ndrv usable (for video out of Power Mac 8600).

I'm not sure it's possible to create a ndrv that is compatible with OS X but not Mac OS 9?

An ndrv is suppose to have two exports:
TheDriverDescription - data
DoDriverIO - code

https://developer.apple.com/library/archive/documentation/Hardware/DeviceManagers/pci_srvcs/pci_cards_drivers/Designing_PCI_Cards_Drivers.pdf
23
News, Information & Feedback / Re: We're hiring (and have some ideas)!
« Last post by DieHard on April 30, 2024, 11:36:43 AM »
Thumbs Up !!

* Like *

etc.
24
Development & Programming / Re: Debugging ATI drivers for Mac Mini
« Last post by ssp3 on April 30, 2024, 10:11:03 AM »
Thanks, joevt, for your insight.
What do you think, what kind of compression is used here? Any idea how to decompress it, manipulate and then compress it back? I'm not a programmer, so I'm a bit lost here.

As I said before, f100 driver hangs the machine. At first I thought that since it was written for OSX, some symbols (or whatever they're called in OS9) might be missing, but no, everything seems to be present. Most imports are from Carbon Lib. One interesting export caught my attention, though - device description. Maybe that's the place to start digging?

Anyone want to join?
25
News, Information & Feedback / Re: We're hiring (and have some ideas)!
« Last post by IIO on April 30, 2024, 07:07:10 AM »
The logo is not the final one.

it is already much better than the very first one from this theme, which kind of caused eye cancer. :P

overall the new theme works well.
26
Video Cards, Monitors & Displays / Re: Latest NVIDIA drivers for MacOS9 (9.2.2.)
« Last post by silentus on April 30, 2024, 06:38:21 AM »
How to install those drivers?
27
News, Information & Feedback / Re: We're hiring (and have some ideas)!
« Last post by Knezzen on April 30, 2024, 06:07:22 AM »
This it?

Haha, yes. That's the current work in progress. Cool that you found it :)
See it as work in progress. The logo is not the final one. Any input is greatly appreciated.
28
Off Topic / Re: 68kMLA.org down?
« Last post by aBc on April 30, 2024, 04:59:58 AM »
Hopefully they are not lost. As each time we lose a member of our “community”
... it’s a bit like losing a family member or close friend.

Not to mention all of the information possibly lost as well.
Another resource lost.

I do hope that they recover. ;)
29
News, Information & Feedback / Re: New Forum Theme (optional)
« Last post by aBc on April 30, 2024, 04:57:11 AM »
Visual sample / example of just what this new forum theme / webpage might look like? ;)

Sure! I bet Bolkonskij will chime in as soon as he wakes up from whatever he's doing. And as I mentioned above, the new forum look is optional, Fury ;)

This it?

30
Off Topic / Re: 68kMLA.org down?
« Last post by ssp3 on April 30, 2024, 03:57:15 AM »
Now it's the time you reel in all of them to here as well as System 7 Today. ;)

Putting all eggs in one basket?
Pages: 1 2 [3] 4 5 6 7 8 9 10