Please login or register.

Login with username, password and session length
Advanced search  

News:

Pages: 1 [2]   Go Down

Author Topic: New G4 Mini audio CSM + breakthrough fix for G4 Mini startup mouse freeze  (Read 9390 times)

UnexpectedBomb

  • 32 MB
  • ***
  • Posts: 32
    • GitHub account

Thankfully, I am not reinventing the wheel after all  ;D

mr. firmtek-sata-drivers is a member here.

Quote
I plan to eventually have a USB-to-SATA power cable plugged into an MDD USB port to power a SATA drive (if that actually works).

that works for sure, the usual 99 cents adapters makes any SSD an USB stick.

the practice problem with those is only that they are usually greater than 32gig, which means you have to use HFS instead of FAT32, and then this media is basically PPC-to-10.12 only. (for interchanging with windows or mac pro 2010 and above that sucks.)

will be interesting to see what speed you will get with your new USB 2 attempt.

Noted on the FAT32 vs HFS issue. I had been exclusively going down the HFS route to just try and get that piece working first. But honestly the whole eSATA effort is getting mothballed until USB 2.0 has been finalized/matured (it's the bigger priority by far) so that I'm not making two sets of custom MDD Mac OS ROM files independent of each other; the goal is to eventually have a single custom "mass storage" MDD ROM that covers both EHCI and eSATA functionality all in one go. I'm still far away from that finish line, but USB 2.0 is making good progress. I plan post an update in the USB 2.0 thread later this week if things continue going well.
Logged

UnexpectedBomb

  • 32 MB
  • ***
  • Posts: 32
    • GitHub account

UPDATE: VBL Fix v2 is up, now Classic-safe!

First off, thanks to everyone for the testing and the kind words. Special thanks to @n8blz for the seriously thorough shakedown: 30-plus restart cycles with zero freezes, then pulling the fix back out and watching the freeze return on the very first reboot. That's exactly the before-and-after I was hoping someone would run. It's the clearest confirmation I could ask for that we're fixing the right thing.

Thanks also to @xc68000 for putting both fixes through their paces and catching an edge-case that I didn't anticipate: booting an OS 9 partition inside Classic on Tiger would hang while loading the VBL fix. The cause makes sense once you see it. Under Classic the display is virtualized by Mac OS X, so there's no real ATI hardware behind the boot display. The fix works by re-issuing the display driver's "enable VBL interrupt" call, and under Classic that call has nothing real to talk to, so it wedges. The freeze itself doesn't even happen under Classic, since OS X is driving the actual display, so the right move is for the fix to just stay out of the way there.

That's all v2 does. At startup it checks (via Gestalt) whether it's running inside the Classic environment, and if it is, it quits without doing anything. On native OS 9 nothing changes at all: the check can only ever make it skip under Classic, never on real hardware, so v2 behaves identically to v1 on an actual mini. It's a safe drop-in over v1, and there's no rush to update unless you run OS 9 under Classic.

@xc68000, whenever you get a chance, could you drop v2 in and confirm your Classic on Tiger boot no longer hangs? That's the one setup I can't test here as I don't have anything booting Tiger/Classic right now, so your confirmation would be helpful.

You can grab it from the v2.0 release here: https://github.com/UnexpectedBomb/G4-Mac-Mini-VBL-Fix/releases/tag/v2.0

Install is the same as before: drop VBLFix_v2 into your Startup Items folder. There's also a VBLAutofix tester build in the release that reports what it did with a beep and a log, if you'd like to watch it catch a freeze in the act.

Thanks again, everyone. It's been a blast seeing this help so many minis. The next milestone will be to fully integrate this solution into the ROM itself for a truly seamless experience. I'll keep you posted!

-UB
Logged

UnexpectedBomb

  • 32 MB
  • ***
  • Posts: 32
    • GitHub account

All, I apologize for the flurry of posts lately... hopefully you don't mind be blowing up the "Hacks & Upgrades" board around here  ;D but I am VERY excited about this new update.

I have successfully integrated the VBL fix into the G4 Mini's ROM itself, moving it inside the display driver. The driver now re-arms the interrupt at the tail of its own mode-switch routine, at the moment of the switch, before the desktop draws. No app, no Startup Items, no brief freeze. It simply boots. And because it acts at the switch rather than after boot, there is a real chance it also catches the severe hard-hang and garbled-boot cases the app could never reach. After ten clean boots on my own (five warm, five cold), I've had zero freezes.

The patched ROM is byte-for-byte identical to the standard MacOS9Lives mini ROM apart from that one driver change (verified with a full dump comparison), so every existing boot patch is left alone. It is safe to drop in only if that is the ROM you already run. If your base ROM is different, do not flash mine over it. Use the included patch, which applies the same change to your own ROM.

Install is simple and fully reversible: back up your current Mac OS ROM first, expand the download, boot from another volume or CD, replace Mac OS ROM in the target System Folder (keep the name exactly), and reboot. If anything looks wrong, restore your backup and you are back to stock. And if reflashing a ROM feels like more than you want to take on, the VBL-Fix app from my previous post still covers the mild case.

Download everything here, including the full technical write-up: https://github.com/UnexpectedBomb/G4-Mac-Mini-VBL-Fix

I am especially after testers who get the severe hard-hang or garbled boot, since that is the one case my own mini will not show me. Thanks as always to Elliot Nunn for the diagnosis and the ROM toolchain, and to @n8blz and @xc68000 for the earlier testing. This is the final "native" state I had always envisioned for this solution; being a ROM-level fix, this should also drop naturally into a CD or installer, as @davecom suggested earlier. If broad community testing can prove out this ROM-level fix, we may have finally, truly put the G4 Mini's cursor-freezing bug to bed.
Logged

Jubadub

  • 512 MB
  • *****
  • Posts: 561
  • There is no Mac in OS X

All, I apologize for the flurry of posts lately... hopefully you don't mind be blowing up the "Hacks & Upgrades" board around here  ;D but I am VERY excited about this new update.

Nothing wrong with that. On the contrary, it's much appreciated, you're the one doing us all a lot of favors with this!

"MikeTomTom" from the Macintosh Garden seems to be having some issues with the original VBL-fix approach, so he might be the kind of guy you were looking for, for this kind of testing. This is what was reported.

Regarding sound on the mini.... I recently discovered a lesser-reported audio-related issue all 4 minis seem to have which, if it could be addressed in the future, it'd be really awesome. I'll just share some info on it here, if by any chance it interests you.

Some CD-based Mac games had multiple tracks, as they contained redbook or CD-DA audio in them, to play in-game. But the first few games of its kind on the Mac seem to commonly have an issue with later Macs that use IDE/PATA for CDs (including all New World ROM Macs?), and Mac OS 8.1 ~ Mac OS 9.2.2. This is an issue that affects not only the minis, but lots of other Macs. Games like Quake fixed it on later patches, such as Quake 1.09, and the likes of Warcraft II are new enough not to have the issue, but the original "Warcraft: Orcs & Humans" does, without any patch to fix it.

... Now here's where the mini's own issue, on top of the one above, comes in: even the likes of Quake 1.09 cannot play CD-DA audio on the mini. All other Macs can. In the "Sound" Control Panel, you even notice that if you go to the "Input" tab, click on "CD", then check the 2nd checkbox, it will crash the Control Panel, which is a further symptom that the mini indeed has some issue with this sort of playback, much like how it is also finnicky and buggy regarding the built-in audio (even with the audio fix).

If you feel like looking into this too, it'd be awesome, because then we could have these minis able to play the whole of the Warcraft trilogy in one single convenient machine! Of course, this would also benefit the MDD and the others, too.

Assuming this interests you... I provide all the information I can in this comment. Quite a number of people stumbled upon this issue, only to be sad about it... You can see their conversations in links within that comment.

Some people are occasionally also dropping by this Garden page to provide feedback about the current audio fix (but that page has yet to mention your control strip, something which we can fix).
Logged

UnexpectedBomb

  • 32 MB
  • ***
  • Posts: 32
    • GitHub account

Some CD-based Mac games had multiple tracks, as they contained redbook or CD-DA audio in them, to play in-game. But the first few games of its kind on the Mac seem to commonly have an issue with later Macs that use IDE/PATA for CDs (including all New World ROM Macs?), and Mac OS 8.1 ~ Mac OS 9.2.2. This is an issue that affects not only the minis, but lots of other Macs. Games like Quake fixed it on later patches, such as Quake 1.09, and the likes of Warcraft II are new enough not to have the issue, but the original "Warcraft: Orcs & Humans" does, without any patch to fix it.

That Mac Garden thread nails the overall cause: old "mixed‑mode" CD games assuming SCSI‑era CD‑audio behavior that breaks on newer ATAPI drives + OS 8.1+, so it's not really Mini‑specific. The Mini just adds one twist: the control‑panel crash on the CD input is the screamer/AWACS spoof advertising a CD‑audio input the Toonie DAC doesn't physically have, so ticking it faults on hardware that isn't there.

Either way it's upstream of the amp fix (that only switches the output on), so it's not something my Control Strip module can touch. The iTunes idea is an interesting workaround that at least gets you some of the original atmosphere more or less, but a true fix would most likely be in the form of a small system extension that patches the CD driver, which should be possible. I'll look into this and see what I can come up with.
Logged
Pages: 1 [2]   Go Up

Recent Topics