• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

The Great Gazelle PCI Hack Thread, Part 2

Phipli

Well-known member
Reminder / questions for @cheesestraws and myself.

Can we use nvram to execute an on-disk open firmware shell script?

Perhaps set up sata if it is needed, then run the script from the disk.

Could this be done from a system extension? How do cpu accelerator card extensions change cache settings during startup? Is this open firmware scripts being run? Could we do usb and fw at that point?

Will Startup Disk overwrite our script's hook if we follow the form of the example here :


Can we make a desktop application to run after using Startup Disk (not needed if we can run it as an extension during boot).

I don't have open firmware experience, but I'll try to see if I can make some headway on this for my 6500.
 
Last edited:

cheesestraws

Well-known member
Thanks! Yup, I think that covers everything we talked about. Chainloading a patch from disc would certainly make things like three-function cards far more of a tractable problem
 

cheesestraws

Well-known member
Will Startup Disk overwrite our script's hook if we follow the form of the example here :

Startup Disk does not rewrite nvramrc, as far as I know. And I think if you 'boot' a .txt file, then control returns to OF at the end of it, because where else would it go. So, nvramrc "boots" a longer patch off disc, which returns control to OF, then auto-boot kicks in and boots MacOS?
 

Phipli

Well-known member
I think if you do what others have done you "boot" a file, so manually call the disk to boot at the end of the script because the boot target is the file you're already in... but that isn't to say we couldn't do it another way. You have your script working and running already, so I imagine we can call a file from there, and return however you already are.

For this evenings messing I haven't even got into Open Firmware yet ;) I'm suspecting progress won't happen until the weekend on my side. I need a battery really. Need to bodhe something together, or find the one I made previously.

Does the late System 9 hierarchical Startup Disk mess with nvram or do they all just mess with pram and the traditional blessed system folder thing?

Never looked into it.
 

cheesestraws

Well-known member
Does the late System 9 hierarchical Startup Disk mess with nvram or do they all just mess with pram and the traditional blessed system folder thing?

They mess with nvram, but not the nvramrc. The nvramrc is just one variable among many, which happens to contain a script to run.
 

cheesestraws

Well-known member
I think if you do what others have done you "boot" a file, so manually call the disk to boot at the end of the script because the boot target is the file you're already in

(excuse double reply)

Yes, but the 'boot' word takes an optional parameter which is the file to boot. And if that file is a text file then control returns at the end of it, I believe. So you can run a script without changing the configured boot device by just passing an explicit parameter to 'boot'. Which means that if you have a stage 1 payload in the nvramrc, then "boot" a secondary script off disc, you don't need to worry about stamping all over the user's boot settings, because when the nvramrc returns, OF will just do what it was going to do anyway, you've just injected a whack of Forth off disc.

This will potentially make all this a lot neater. I like it
 

macuserman

Well-known member
Sorry if I'm hijacking this thread here but is this issue with the gazelle boards only a problem on combo cards? I was trying to get a card working in my 6500 and I tried a sonnet tango, an adaptec combo card as well as a universal bus link card that was usb only and none of the worked. However this crappy little belkin two port usb card works perfect. I'm a little confused.234B5CCF-CB34-429E-9BF9-5C731C8E8015.jpeg

Card in the top left was the only one that worked for me. Not to hijack this thread but I'm just a little confused.
 

cheesestraws

Well-known member
Sorry if I'm hijacking this thread here but is this issue with the gazelle boards only a problem on combo cards

It's anything with a PCI bridge on it. You'll be able to tell because if you go to the System Profiler, the card will appear as 'pci-bridge'. If it doesn't appear as that, it's not the same problem. I don't know enough about the buslink card to know whether it's got a hidden bridge on it or whether it's just not compatible.
 

macuserman

Well-known member
It's anything with a PCI bridge on it. You'll be able to tell because if you go to the System Profiler, the card will appear as 'pci-bridge'. If it doesn't appear as that, it's not the same problem. I don't know enough about the buslink card to know whether it's got a hidden bridge on it or whether it's just not compatible.
Ah ok that makes sense, yes they were showing up as bridges. Ok good to know! Sorry for cluttering up the thread. I do have a 5500 and a 6500 I want to try and get the combo cards working in so I'd like to contribute to this thread further. I guess I need to dump some info from OF and figure out how to compile these patches you have made with the correct modifications.
 

cheesestraws

Well-known member
compile these patches

I have good news for you.

The first good news is that that Tango 2.0 should work with the patch for the Tango upthread. I haven't tested it in a 6500 or a 5500 because I don't have either, but it works on a TAM with that card. The second good news is that the Adaptec combo card has a HiNT bridge chip, which is promising because that's what the other two cards I've got working so far have as well, so odds are good that one will work.

The third good news is that the patches are just text and don't require compilation. To apply them, just copy and paste the patch you want into the NVRM resource in the patcher application using ResEdit or something. If you get lost, I'm happy to talk you through the process of adapting and installing the patch in more detail.
 

macuserman

Well-known member
I have good news for you.

The first good news is that that Tango 2.0 should work with the patch for the Tango upthread. I haven't tested it in a 6500 or a 5500 because I don't have either, but it works on a TAM with that card. The second good news is that the Adaptec combo card has a HiNT bridge chip, which is promising because that's what the other two cards I've got working so far have as well, so odds are good that one will work.

The third good news is that the patches are just text and don't require compilation. To apply them, just copy and paste the patch you want into the NVRM resource in the patcher application using ResEdit or something. If you get lost, I'm happy to talk you through the process of adapting and installing the patch in more detail.
Awesome! I'm for sure going to need some guidance so I'll check back in here when I actually start giving this a whirl.
 

cheesestraws

Well-known member
Cool. I'm going to have limited time for this for the next few weeks for a combination of life reasons (nothing dramatic) and trying to finish off the AirTalk firmware, but I can give hints and talk you through stuff! @Phipli managed to re-kindle my interest in this so I'll probably be revisiting it fairly soon
 
Last edited:

CircuitBored

Well-known member
However this crappy little belkin two port usb card works perfect

Those Opti Finelink cards were a BTO option from a lot of vendors in the late 90s. The USB controller chip on it is the exact same one found on B&W G3 and PCI G4 logic boards so it is natively supported by Mac OS (after OS 8) so this is why it works fine. I have two of these cards myself. They're slow but handy because they work out-of-the-box on any PCI Mac.

The "Universal Buslink" card has a dual-channel NEC chip on it, which is why it does not work. A card using two PCI channels has the same net result as it having a PCI bridge on it.

As @cheesestraws said, the other two cards won't work because they also have PCI bridges on them.
 
Last edited:

macuserman

Well-known member
Those Opti Finelink cards were a BTO option from a lot of vendors in the late 90s. The USB controller chip on it is the exact same one found on B&W G3 and PCI G4 logic boards so it is natively supported by Mac OS (after OS 8) so this is why it works fine. I have two of these cards myself. They're slow but handy because they work out-of-the-box on any PCI Mac.

The "Universal Buslink" card has a dual-channel NEC chip on it, which is why it does not work. A card using two PCI channels has the same net result as it having a PCI bridge on it.

As @cheesestraws said, the other two cards won't work because they also have PCI bridges on them.
Yeah all of the other cards showed up as PCI bridges. I'm going to have to pick up a couple more of those opti based cards just to have handy they are not sexy, but that works a treat without all the hoops.
 

Phipli

Well-known member
@macuserman I'm at the very start of getting myself up to speed (or at least a 2:1 with speed) and am going to be working on a 6500 too, so I'm sure we can work out an answer soon enough. But as @cheesestraws says, you're in a very good position already, I believe there are downloads further back in this thread that will get your sonnet card going courteous of cheesestraws.

Also I might have the same Adaptec card.... would have to dig it out. SATA is my primary intrest though. As it means I can use newer disks on my 6500 if I want to.
 

CircuitBored

Well-known member
I'm going to have to pick up a couple more of those opti based cards just to have handy

If all you want is to be able to use a USB keyboard and mouse then they are perfect!

If you want USB 2.0 with the same baked-in support for Mac OS you can get Belkin F5U-series cards very cheaply. The F5U220 and F5U219 are the ones to get but unfortunately they use two channels (same chip as your "Universal Buslink" card) so won't play nice with a 6500. These cards can frequently be had for as little as a fiver if you keep an eye on eBay. It's a shame they won't work in Gazelle or Alchemy machines but they're super useful to have around for other Macs.
 

macuserman

Well-known member
If all you want is to be able to use a USB keyboard and mouse then they are perfect!

If you want USB 2.0 with the same baked-in support for Mac OS you can get Belkin F5U-series cards very cheaply. The F5U220 and F5U219 are the ones to get but unfortunately they use two channels (same chip as your "Universal Buslink" card) so won't play nice with a 6500. These cards can frequently be had for as little as a fiver if you keep an eye on eBay. It's a shame they won't work in Gazelle or Alchemy machines but they're super useful to have around for other Macs.
Nice thanks for the tip on that. I'll probably grab a couple of these types of cards to have around some things are just nice to have in your "toolbox" if you will even if you don't have a specific need/application for it all the time.

I'm still interested in the combo card route because I just like weird stuff and I have a 6500,5500, & 5400 to play with. But also because I have a black 5400 I'm fixing up to sell and I just want to put all the bells and whistles in it before I snap the back case on they are so fragile. Like to avoid a future owner having to open it unless there is just an absolute catastrophe of some kind.
 

Phipli

Well-known member
@macuserman I'd be careful selling one of these machines with a combo card unless you know the person buying. Any patch won't be a forever patch, it might need redoing if the battery is changed for example.
 
Top