Author Topic: Mac OS 9 booting on: Mac mini G4 (Detailed Posts)  (Read 107340 times)

Offline MacOS Plus

  • Gold Member (200+ Posts)
  • *****
  • Posts: 418
  • The 9serve Lives!
Re: Booting Mac Os 9 on Mac Mini.
« Reply #225 on: February 26, 2018, 11:46:46 AM »
  Weird observation - I didn't catch this right away and I don't know what part of all my screwing around caused it, could have even been just related to a PRAM or PMU reset, but the video mode is now millions of colors.  It still won't let me change it to anything else, but at least it's better than 256.

Offline grhmhome

  • Active Member
  • *
  • Posts: 5
  • New Member
Re: Booting Mac Os 9 on Mac Mini.
« Reply #226 on: February 26, 2018, 12:17:52 PM »
Was anyone successful in installing Mac OS 9.x with a retail disc on their G4 Mac Minis or were they only able to boot with a hard-drive from another machine? I would like to install this, but I would like to know what steps I would need to take, like which version of Mac OS 9.x retail disc I should buy on eBay and how do I use custom system roms? Thanks for your time.

Edit: I found the unsupported G4 easy install version of Mac OS 09. I could try this and replace with the proper roms and use open firmware to spoof my system. I was able to spoof my eMac when I had one so I could run Leopard.

Offline ELN

  • Gold Member (200+ Posts)
  • *****
  • Posts: 269
  • new to the forums
Re: Booting Mac Os 9 on Mac Mini.
« Reply #227 on: February 26, 2018, 02:43:21 PM »
Something about your change to the machine type?

Yep. Apparently the last Power Macs to work without a System Enabler were the graphite G4s. So I have now set the machine type to PowerMac 3,4 (Cube), which seems appropriate. I doubt that any desktop Macs of that age require special power management logic in the OS.

Offline MacOS Plus

  • Gold Member (200+ Posts)
  • *****
  • Posts: 418
  • The 9serve Lives!
Re: Booting Mac Os 9 on Mac Mini.
« Reply #228 on: February 26, 2018, 04:26:34 PM »
  I'm still ending up with a decoded file that has no resource fork.  It comes out of the .hqx with proper icon and name in OS 9, but if I download and decode it on OS X the original good file and the new bad file have different icons from each other.

  The end result is still the same - error type 102.  It's weird, since the ROM I was using from post #203 came out right.  Did you change something in your workflow?

Offline ELN

  • Gold Member (200+ Posts)
  • *****
  • Posts: 269
  • new to the forums
Re: Booting Mac Os 9 on Mac Mini.
« Reply #229 on: February 26, 2018, 05:08:40 PM »
The absent resource fork is normal, and in common with earlier releases of the ROM. The resource fork allows the file to act as an Enabler, separately from its “ROM” function. I have stopped including that part since refactoring the build system into the three repos linked above.

I *also* changed some of the Forth code that governs model compatibility. I will revisit this shortly!

Offline MacOS Plus

  • Gold Member (200+ Posts)
  • *****
  • Posts: 418
  • The 9serve Lives!
Re: Booting Mac Os 9 on Mac Mini.
« Reply #230 on: February 26, 2018, 06:02:46 PM »
  Okay, got it.  I guess something else is causing the error type 102 then?

Offline darthnVader

  • Gold Member (200+ Posts)
  • *****
  • Posts: 496
  • New Member
Re: Booting Mac Os 9 on Mac Mini.
« Reply #231 on: February 26, 2018, 07:18:28 PM »
Got my Mini, but I'm having all sorts of trouble with it.

Fails to launch the ASP when booted from the internal HD, so I don't have any input. USB only starts working after ASP loads.

ATI,RockHopper2 'NDRV' from Leopard( 10.5.8 ) seem to be incompatible with OS 9. My screen go black when the finder should load, then come back with a grey screen with only the mouse. More work needed, I'll have to check earlier versions of the RockHopper2 'NDRV'.

If you install the latest OS 9 ATI drivers, you can load the ATY,Bugsy 'NDRV'. It seems to work, somewhat, screen res changes, but I have no input so I haven't been able to fully test it.

Install last ATI drivers, boot into Open Firmware( Command+Opt+O+F ).

Code: [Select]
dev agp/@10/@0
" ATY,Bugsy" encode-string " compatible" property
bye

I can boot from my PowerBook in target disk mode, but the same System Folder won't work on the internal drive.

Offline MacOS Plus

  • Gold Member (200+ Posts)
  • *****
  • Posts: 418
  • The 9serve Lives!
Re: Booting Mac Os 9 on Mac Mini.
« Reply #232 on: February 26, 2018, 09:48:54 PM »
  I tried out "Bugsy" and found it didn't work on DVI but did come up as you described on VGA.  The native resolution for my LCD wasn't available with a low enough refresh rate.  Most of the options that were available had absurdly high refresh rates, although SwitchRes knew enough to flag most of them as no-go for my LCD.

  For kicks I threw a number of other device names at it.  Success was varied, but "Bugsy" is the only one that will allow multiple resolutions.

  The original shipping release of OS X on the G4 Mini was 10.3.7, so I don't know if we can pull a functional NDRV for this machine from anything earlier than that.  Was this chipset available on other machines, and if so, on an earlier version of OS X?

Offline darthnVader

  • Gold Member (200+ Posts)
  • *****
  • Posts: 496
  • New Member
Re: Booting Mac Os 9 on Mac Mini.
« Reply #233 on: February 27, 2018, 01:10:00 AM »
Ok, thanks, I'll try some earlier versions of the 'NDRV' and see how they go.

BTW, are you having trouble with USB?

If not, are you using the boot 3 resource in the System Suitcase?

I know it is necessary on my powerbook6,8, but I'm not sure it's needed on the Mini. USB stops working when the System Suitcase loads, and doesn't start again until Apple Systems Profiler opens.

I have ASP in my Startup Items. 
« Last Edit: February 27, 2018, 01:27:16 AM by darthnVader »

Offline darthnVader

  • Gold Member (200+ Posts)
  • *****
  • Posts: 496
  • New Member
Re: Booting Mac Os 9 on Mac Mini.
« Reply #234 on: February 27, 2018, 04:54:39 AM »
I cooked up an 'NDRV' from Tiger( 10.4.0 ), it had the same issue with my VGA display( Grey screen after system boot changed the screen res )

Connecting to DVI to HDMI let me boot, and everything was detected correctly, monitor, proper screen res., Vram, but changing the screen res or bit depth resulted in a proper screen res, but had the grey screen issue with an active mouse.

However I just remembered I hacked the Mac OS ROM for the built in display of the iBook, so I'll try and redownload the ROM and see if that changes anything.

Otherwise we're going to have to hope that 10.3.x has a compatible 'NDRV' or anything else ( 2D/3D ) will be a non-starter.

I was really hoping this was going to work, as OS 9 is useless to me without 2D/3D acell.

No great loss, I have a Dual 1Ghz Quicksilver with a Radeon 9000 that works just fine with OS 9.

I also get the type 2 error with ELN's latest Rom, but USB works, disabling the extension did nothing.

As it is, the system is just far to unstable, sometimes it boots, sometimes the ASP and Finder fail and I can't use the System, because I have no input until ASP loads.

These Mini's are turning out to be more trouble than they are worth for OS 9 booting, I'll give it another go, but if I can't figure way the system is hanging, I'm just going to run X on it. 

Offline darthnVader

  • Gold Member (200+ Posts)
  • *****
  • Posts: 496
  • New Member
Re: Booting Mac Os 9 on Mac Mini.
« Reply #235 on: February 27, 2018, 05:23:45 AM »
Here is the RockHopper2 'NDRV', likely won't work with VGA. It's a good idea to trash your display preference before you try and boot it.

 

Offline ELN

  • Gold Member (200+ Posts)
  • *****
  • Posts: 269
  • new to the forums
Re: Booting Mac Os 9 on Mac Mini.
« Reply #236 on: February 27, 2018, 07:48:07 AM »
Sorry about my frequent absences! I’ve just started a new uni rotation where attendance is “strongly encouraged”.

I can’t say much about graphics acceleration. But I’d say that the general instability of the system is due to my no-PMU hack. Once we get a real PMU driver working, I expect this to go away.

Then, I wil focus on patching one of these almost-working ndrvs.

And I will get a fresh working ROM through to you all soon!

Offline MacOS Plus

  • Gold Member (200+ Posts)
  • *****
  • Posts: 418
  • The 9serve Lives!
Re: Booting Mac Os 9 on Mac Mini.
« Reply #237 on: February 27, 2018, 10:36:18 AM »
Ok, thanks, I'll try some earlier versions of the 'NDRV' and see how they go.

BTW, are you having trouble with USB?

If not, are you using the boot 3 resource in the System Suitcase?

I know it is necessary on my powerbook6,8, but I'm not sure it's needed on the Mini. USB stops working when the System Suitcase loads, and doesn't start again until Apple Systems Profiler opens.

I have ASP in my Startup Items.

  The funny thing is, I've had no problem with USB at all nor any other strange problems, other than the system shutting down once from the phantom battery warning.  I'm using a pre-exisiting 9.2.2 drive created from the Unsupported G4s ASR, final ATI drivers, Multiprocessing/Apple Audio Extension/Energy Saver Control Panel disabled.  The only unusual additions are SwitchRes and USB Overdrive, although I highly doubt these made any difference.  (USB Overdrive doesn't set any features properly on the A1152 mouse I'm using right now anyway.)  The only other problem I have is the need to force-quit the Finder once upon reaching the desktop, and this is only due to the non-working sound device.  Well, that and the Control Panels sub-menu never working from the Apple Menu.  The Finder force-quit isn't needed if I set the "screamer" compatible property to the sound device in OF first.  There's still a warning pop-up about missing software preventing sleep capability, which will be related either to the sound or video device.  The boot drive works internally or on firewire externally with no difference other than the need to enter the Option-hold boot menu to get at the firewire.

  Where specifically would you suggest I copy/paste that NDRV to?  Should it be added at the end of the file or replace an existing section?  Or do I just use it directly as an additional extension?

Update - Okay, so it clearly loads this file as an additional extension.  On DVI and VGA it leads to a grey screen with mouse pointer when the Finder should load.  I have to reset PRAM after this to clear the problem once the extension is disabled.  Seems like a good start though.  We may have to compare NDRV content between older and newer versions of other devices to see what's changed or missing in the OS X NDRV.  It's got to be something fairly simple, presumably missing code related to the old code model of desktop rendering.
« Last Edit: February 27, 2018, 10:54:01 AM by MacOS Plus »

Offline ELN

  • Gold Member (200+ Posts)
  • *****
  • Posts: 269
  • new to the forums
Re: Booting Mac Os 9 on Mac Mini.
« Reply #238 on: February 27, 2018, 10:22:59 PM »
Do us a favour and try this one?

Offline darthnVader

  • Gold Member (200+ Posts)
  • *****
  • Posts: 496
  • New Member
Re: Booting Mac Os 9 on Mac Mini.
« Reply #239 on: February 28, 2018, 03:13:38 AM »
The 'NDRV' from 10.3.7 seems to work with OS 9( Digital Not Tested ).

I modified the ATI drivers to load for our Mini's.

They are buggy, but they work, somewhat

http://macos9lives.com/smforum/index.php/topic,4277.0.html

Offline darthnVader

  • Gold Member (200+ Posts)
  • *****
  • Posts: 496
  • New Member
Re: Booting Mac Os 9 on Mac Mini.
« Reply #240 on: February 28, 2018, 03:26:42 AM »
Do us a favour and try this one?

A lot cleaner, but system bombs out after long spinning wheel, just after Ethernet loads.

Same as an unpatched  PowerBook6,8.

Does the Rom require the Boot 3 resource in the System Suitcase?

Offline RossDarker

  • Gold Member (200+ Posts)
  • *****
  • Posts: 228
Re: Booting Mac Os 9 on Mac Mini.
« Reply #241 on: February 28, 2018, 04:00:14 AM »
Ok so I just reset the NVRAM with cmd+alt+n+v and now this address error has gone for ever. I can use these new roms.
Dunking a biscuit is one of life's greatest joys.

Offline ELN

  • Gold Member (200+ Posts)
  • *****
  • Posts: 269
  • new to the forums
Re: Booting Mac Os 9 on Mac Mini.
« Reply #242 on: February 28, 2018, 04:16:58 AM »
Yes, it still requires the patched boot 3. It’d be good to dive further into the Component Manager loafing code and see just why the boot 3 change is required.

Offline darthnVader

  • Gold Member (200+ Posts)
  • *****
  • Posts: 496
  • New Member
Re: Booting Mac Os 9 on Mac Mini.
« Reply #243 on: February 28, 2018, 05:00:07 AM »
Yes, it still requires the patched boot 3. It’d be good to dive further into the Component Manager loafing code and see just why the boot 3 change is required.

I gave it a go with boot 3, but system hangs, I think it's loading the QuickDraw3D driver.

Booting with the shift key results in an Address Error.

I'll try with less extensions later, got to do some real world stuff for a few days.

Offline MacOS Plus

  • Gold Member (200+ Posts)
  • *****
  • Posts: 418
  • The 9serve Lives!
Re: Booting Mac Os 9 on Mac Mini.
« Reply #244 on: February 28, 2018, 07:07:01 AM »
  I haven't been doing this boot 3 patch at all and yet have a working system.  I have no idea why it works for me.

Offline ELN

  • Gold Member (200+ Posts)
  • *****
  • Posts: 269
  • new to the forums
Re: Booting Mac Os 9 on Mac Mini.
« Reply #245 on: February 28, 2018, 08:01:41 AM »
Me neither! Does the new ROM work for you?

Offline RossDarker

  • Gold Member (200+ Posts)
  • *****
  • Posts: 228
Re: Booting Mac Os 9 on Mac Mini.
« Reply #246 on: February 28, 2018, 08:25:10 AM »
Me neither! Does the new ROM work for you?
Works for me if I reset PRAM, then NVRAM, then restart then it boots but certain extensions prevent it. By the way I am using a system suitcase with the boot 3 in from a previous rom.
Dunking a biscuit is one of life's greatest joys.

Offline MacOS Plus

  • Gold Member (200+ Posts)
  • *****
  • Posts: 418
  • The 9serve Lives!
Re: Booting Mac Os 9 on Mac Mini.
« Reply #247 on: February 28, 2018, 08:32:49 AM »
Me neither! Does the new ROM work for you?

  It hangs with pinwheel shortly after Open Transport extension loads and the progress bar hops a bit forward.  It eventually switches the pinwheel to a bomb.  I tried booting with no extensions except darthnVader's new ATI stuff, tried with no control panels, same result.

  I'll be back this evening to look at it further.

Offline Daniel

  • Gold Member (200+ Posts)
  • *****
  • Posts: 268
  • Programmer, Hacker, Thinker
Re: Booting Mac Os 9 on Mac Mini.
« Reply #248 on: February 28, 2018, 05:54:11 PM »
According to wikipedia there are several varients of the G4 Mini. The differences seem mostly superficial, but I note that the max VRAM differs from model to model. I have no clue what else it could be.

Offline ELN

  • Gold Member (200+ Posts)
  • *****
  • Posts: 269
  • new to the forums
Re: Booting Mac Os 9 on Mac Mini.
« Reply #249 on: March 02, 2018, 09:50:46 PM »
Progress!

As we all know, a stock copy of Mac OS 9, when run on the Mac mini, will freeze early in the boot process. By inspecting and editing the 68k ROM code in StartInit.a, I isolated this crash to the Power Manager initialisation code. By inspecting and editing the PowerPC code in the NativePowerMgrLib parcel, I further isolated it to the PMInitialize function, in particular the part that calls code in a "PMU plugin" parcel. (PMU = "Power Management Unit".) I assumed at this point that the mini had a PMU for which no Mac OS 9 plugin had been written. To get the machine booting, I made a tiny change to the NativePowerMgrLib to make it ignore the PMU.

Mac OS 9 does not like going without a working PMU! To work around this, patches are required to the Component Manager init code and to the USB family expert, and many system extensions must be removed. This is an inelegant hack and as some of you have noticed, results in a very unstable system.

Luckily, it turns out that I was wrong about the PMU in the Mac mini. Its Open Firmware properties describe it as a 9-compatible "PMU-99". In fact, the Trampoline bootloader notices this and loads the PMU-99 plugin ndrv. The NativePowerMgrLib actually behaves correctly. It is the plugin that causes the crash.

I have been disassembling and editing the PMU-99 plugin to determine why it crashes on the mini. The answer seems to be simple: the "prim-info" property is missing from the PMU-99 "power-mgt" node in the device tree. Spoofing this property gets me past primary Power Manager initialisation, but not past secondary initialisation. I am working on this now.

Attached is a ROM that gets past primary initialisation with a zeroed-out "prim-info". You can get it past secondary initialisation by holding down the shift key at boot. Use an unpatched boot 3.

Could mini-watchers please help out by posting the contents of the "prim-info" properties on their machines? Also, any technical information about this property would be very useful. I have looked at the Linux driver code but no further.

Offline darthnVader

  • Gold Member (200+ Posts)
  • *****
  • Posts: 496
  • New Member
Re: Booting Mac Os 9 on Mac Mini.
« Reply #250 on: March 02, 2018, 10:43:50 PM »
Does anyone remember the old Apple tech note on two machine debugging that told how to directly connect two Mac's with an ethernet cable?

One of my routers died and I can't connect my Mac's via ethernet to my router via ethernet.

I'd like to be able to dump the "prim-info" property to help ELN debug the PMU.


Offline darthnVader

  • Gold Member (200+ Posts)
  • *****
  • Posts: 496
  • New Member
Re: Booting Mac Os 9 on Mac Mini.
« Reply #251 on: March 02, 2018, 11:01:01 PM »
EDIT: Sorry my eyes going bad on me, and I didn't fully read what you said. I gave the "pmu-info" rather than the "prim-info".


My mini doesn't appear to have that property under the power-mgt.

iBook G4 1.33 12":
000000ff 00000060 00003e80 00017fb5 0202d607 00000000 00011300 46000220 101400

PowerBook G4 1.5 12" same as above.

Ibook G3 600 is the same as above.

My QuickSilver Dual 1.0 Ghz
000000ff 0000002c 00030d40 0001e705 00003400 00000000 0000260d 46000278 783c00

« Last Edit: March 02, 2018, 11:35:24 PM by darthnVader »

Offline ELN

  • Gold Member (200+ Posts)
  • *****
  • Posts: 269
  • new to the forums
Re: Booting Mac Os 9 on Mac Mini.
« Reply #252 on: March 03, 2018, 03:09:10 AM »
Thanks darthnVader! Your results accord with some that I dug up. But are those last six digits spurious in each case?

Here is a ROM file that patches prim-info using Forth. There are no other patches!

This gets us past primary and secondary Power Manager init (the latter only if the Apple CPU Plugins file is removed). My mini freezes after loading the Finder unless extensions are disabled. I isolated the offending extension to one starting with A, B, C or D but then had to stop work for the day. Can anyone figure this out for me?

Offline ELN

  • Gold Member (200+ Posts)
  • *****
  • Posts: 269
  • new to the forums
Re: Booting Mac Os 9 on Mac Mini.
« Reply #253 on: March 03, 2018, 03:10:36 AM »
Here are my notes on prim-info.

Code: [Select]
iBook G4            000000ff 00000060 00003e80 00017fb5 0202d607 00000000 00011300 46000220
Power Mac G4 MDD    000000ff 0000002c 00030d40 0001e705 00003400 00000000 0000260d 46000270

                                               ^^^^^^^^ public PM features
                                                        ^^^^^^^^ private PM features
                                                                          ^^^^ batt count

FROM THE DARWIN SOURCES:

// PUBLIC power management features
// NOTE: this is a direct port from classic, some of these bits
//       are obsolete but are included for completeness
enum {
  kPMHasWakeupTimerMask        = (1<<0),  // 1=wake timer is supported
  kPMHasSharedModemPortMask    = (1<<1),  // Not used
  kPMHasProcessorCyclingMask   = (1<<2),  // 1=processor cycling supported
  kPMMustProcessorCycleMask    = (1<<3),  // Not used
  kPMHasReducedSpeedMask       = (1<<4),  // 1=supports reduced processor speed
  kPMDynamicSpeedChangeMask    = (1<<5),  // 1=supports changing processor speed on the fly
  kPMHasSCSIDiskModeMask       = (1<<6),  // 1=supports using machine as SCSI drive
  kPMCanGetBatteryTimeMask     = (1<<7),  // 1=battery time can be calculated
  kPMCanWakeupOnRingMask       = (1<<8),  // 1=machine can wake on modem ring
  kPMHasDimmingSupportMask     = (1<<9),  // 1=has monitor dimming support
  kPMHasStartupTimerMask       = (1<<10), // 1=can program startup timer
  kPMHasChargeNotificationMask = (1<<11), // 1=client can determine charger status/get notifications
  kPMHasDimSuspendSupportMask  = (1<<12), // 1=can dim diplay to DPMS ('off') state
  kPMHasWakeOnNetActivityMask  = (1<<13), // 1=supports waking upon receipt of net packet
  kPMHasWakeOnLidMask          = (1<<14), // 1=can wake upon lid/case opening
  kPMCanPowerOffPCIBusMask     = (1<<15), // 1=can remove power from PCI bus on sleep
  kPMHasDeepSleepMask          = (1<<16), // 1=supports deep (hibernation) sleep
  kPMHasSleepMask              = (1<<17), // 1=machine support low power sleep (ala powerbooks)
  kPMSupportsServerModeAPIMask = (1<<18), // 1=supports reboot on AC resume for unexpected power loss
  kPMHasUPSIntegrationMask     = (1<<19)  // 1=supports incorporating UPS devices into power source calcs
};

// PRIVATE power management features
// NOTE: this is a direct port from classic, some of these bits
//       are obsolete but are included for completeness.
enum {
  kPMHasExtdBattInfoMask       = (1<<0),  // Not used
  kPMHasBatteryIDMask          = (1<<1),  // Not used
  kPMCanSwitchPowerMask        = (1<<2),  // Not used
  kPMHasCelsiusCyclingMask     = (1<<3),  // Not used
  kPMHasBatteryPredictionMask  = (1<<4),  // Not used
  kPMHasPowerLevelsMask        = (1<<5),  // Not used
  kPMHasSleepCPUSpeedMask      = (1<<6),  // Not used
  kPMHasBtnIntHandlersMask     = (1<<7),  // 1=supports individual button interrupt handlers
  kPMHasSCSITermPowerMask      = (1<<8),  // 1=supports SCSI termination power switch
  kPMHasADBButtonHandlersMask  = (1<<9),  // 1=supports button handlers via ADB
  kPMHasICTControlMask         = (1<<10), // 1=supports ICT control
  kPMHasLegacyDesktopSleepMask = (1<<11), // 1=supports 'doze' style sleep
  kPMHasDeepIdleMask           = (1<<12), // 1=supports Idle2 in hardware
  kPMOpenLidPreventsSleepMask  = (1<<13), // 1=open case prevent machine from sleeping
  kPMClosedLidCausesSleepMask  = (1<<14), // 1=case closed (clamshell closed) causes sleep
  kPMHasFanControlMask         = (1<<15), // 1=machine has software-programmable fan/thermostat controls
  kPMHasThermalControlMask     = (1<<16), // 1=machine supports thermal monitoring
  kPMHasVStepSpeedChangeMask   = (1<<17), // 1=machine supports processor voltage/clock change
  kPMEnvironEventsPolledMask   = (1<<18)  // 1=machine doesn't generate pmu env ints, we must poll instead
};

// DEFAULT public and private features for machines whose device tree
// does NOT contain this information (pre-Core99).

// For Cuda-based Desktops

#define kStdDesktopPMFeatures   kPMHasWakeupTimerMask         |\
                                kPMHasProcessorCyclingMask    |\
                                kPMHasDimmingSupportMask      |\
                                kPMHasStartupTimerMask        |\
                                kPMSupportsServerModeAPIMask  |\
                                kPMHasUPSIntegrationMask

#define kStdDesktopPrivPMFeatures  kPMHasExtdBattInfoMask     |\
                                   kPMHasICTControlMask       |\
                                   kPMHasLegacyDesktopSleepMask

#define kStdDesktopNumBatteries 0

// For Wallstreet (PowerBook G3 Series 1998)

#define kWallstreetPMFeatures   kPMHasWakeupTimerMask         |\
                                kPMHasProcessorCyclingMask    |\
                                kPMHasReducedSpeedMask        |\
                                kPMDynamicSpeedChangeMask     |\
                                kPMHasSCSIDiskModeMask        |\
                                kPMCanGetBatteryTimeMask      |\
                                kPMHasDimmingSupportMask      |\
                                kPMHasChargeNotificationMask  |\
                                kPMHasDimSuspendSupportMask   |\
                                kPMHasSleepMask

#define kWallstreetPrivPMFeatures  kPMHasExtdBattInfoMask      |\
                                   kPMHasBatteryIDMask         |\
                                   kPMCanSwitchPowerMask       |\
                                   kPMHasADBButtonHandlersMask |\
                                   kPMHasSCSITermPowerMask     |\
                                   kPMHasICTControlMask        |\
                                   kPMClosedLidCausesSleepMask |\
                                   kPMEnvironEventsPolledMask

#define kStdPowerBookPMFeatures      kWallstreetPMFeatures
#define kStdPowerBookPrivPMFeatures  kWallstreetPrivPMFeatures

#define kStdPowerBookNumBatteries 2

// For 101 (PowerBook G3 Series 1999)

#define k101PMFeatures          kPMHasWakeupTimerMask         |\
                                kPMHasProcessorCyclingMask    |\
                                kPMHasReducedSpeedMask        |\
                                kPMDynamicSpeedChangeMask     |\
                                kPMHasSCSIDiskModeMask        |\
                                kPMCanGetBatteryTimeMask      |\
                                kPMHasDimmingSupportMask      |\
                                kPMHasChargeNotificationMask  |\
                                kPMHasDimSuspendSupportMask   |\
                                kPMHasSleepMask               |\
                                kPMHasUPSIntegrationMask

#define k101PrivPMFeatures      kPMHasExtdBattInfoMask        |\
                                kPMHasBatteryIDMask           |\
                                kPMCanSwitchPowerMask         |\
                                kPMHasADBButtonHandlersMask   |\
                                kPMHasSCSITermPowerMask       |\
                                kPMHasICTControlMask          |\
                                kPMClosedLidCausesSleepMask   |\
                                kPMEnvironEventsPolledMask

#define IOPMNoErr       0   // normal return

                        // returned by powerStateWillChange and powerStateDidChange:
#define IOPMAckImplied      0   // acknowledgement of power state change is implied
#define IOPMWillAckLater    1   // acknowledgement of power state change will come later

                        // returned by requestDomainState
#define IOPMBadSpecification    4   // unrecognized specification parameter
#define IOPMNoSuchState     5   // no power state matches search specification

#define IOPMCannotRaisePower    6   // a device cannot change its power for some reason

                        // returned by changeStateTo
#define IOPMParameterError  7   // requested state doesn't exist
#define IOPMNotYetInitialized   8   // device not yet fully hooked into power management "graph"

Offline darthnVader

  • Gold Member (200+ Posts)
  • *****
  • Posts: 496
  • New Member
Re: Booting Mac Os 9 on Mac Mini.
« Reply #254 on: March 03, 2018, 03:30:49 AM »
Thanks darthnVader! Your results accord with some that I dug up. But are those last six digits spurious in each case?

Here is a ROM file that patches prim-info using Forth. There are no other patches!

This gets us past primary and secondary Power Manager init (the latter only if the Apple CPU Plugins file is removed). My mini freezes after loading the Finder unless extensions are disabled. I isolated the offending extension to one starting with A, B, C or D but then had to stop work for the day. Can anyone figure this out for me?

I gave the latest Rom a try, ASP reports the system is a G4 Cube, but if I try and sleep the system, I get the message:

The System can not sleep until the case is closed. Please close the case and try again.

So if we can set a bit in the "prim-info" that makes the system think the case is closed, lets see if that will enable sleep.

Likely, the Finder not loading is the Apple CD/DVD extension.
« Last Edit: March 03, 2018, 03:49:56 AM by darthnVader »

Offline darthnVader

  • Gold Member (200+ Posts)
  • *****
  • Posts: 496
  • New Member
Re: Booting Mac Os 9 on Mac Mini.
« Reply #255 on: March 03, 2018, 04:33:20 AM »
I opened the case on my Quicksilver, and checked the IOReg, but the "prim-info" didn't change.

OS 9 nor OS X seems to care if the case is open, they both sleep just fine.

I'm not sure if the Quicksilver has the case switch, I remember the G5 has one, I don't know about the Cube.


Offline ELN

  • Gold Member (200+ Posts)
  • *****
  • Posts: 269
  • new to the forums
Re: Booting Mac Os 9 on Mac Mini.
« Reply #256 on: March 03, 2018, 06:10:58 AM »
The prim-info property does not change after boot. It just tells the OS how to behave under certain conditions.

Try this one. I have unset the "open case prevent machine from sleeping" bit.

By the way, does anyone have trouble with the mini fans running loud?

Offline RossDarker

  • Gold Member (200+ Posts)
  • *****
  • Posts: 228
Re: Booting Mac Os 9 on Mac Mini.
« Reply #257 on: March 03, 2018, 06:31:47 AM »
The prim-info property does not change after boot. It just tells the OS how to behave under certain conditions.

Try this one. I have unset the "open case prevent machine from sleeping" bit.

By the way, does anyone have trouble with the mini fans running loud?
ELN, I got a tiBook and I can finally format and install on to my mini without the use of dodgy emulators then restoring. This latest ROM does seem to make the fans run loud on the mini.
Dunking a biscuit is one of life's greatest joys.

Offline darthnVader

  • Gold Member (200+ Posts)
  • *****
  • Posts: 496
  • New Member
Re: Booting Mac Os 9 on Mac Mini.
« Reply #258 on: March 03, 2018, 08:15:47 AM »
The prim-info property does not change after boot. It just tells the OS how to behave under certain conditions.

Try this one. I have unset the "open case prevent machine from sleeping" bit.

By the way, does anyone have trouble with the mini fans running loud?

I haven't really noticed a loud fan,  lots of heat coming out the back, the fan seems pretty quite.


Offline darthnVader

  • Gold Member (200+ Posts)
  • *****
  • Posts: 496
  • New Member
Re: Booting Mac Os 9 on Mac Mini.
« Reply #259 on: March 03, 2018, 08:33:24 AM »
The prim-info property does not change after boot. It just tells the OS how to behave under certain conditions.

Try this one. I have unset the "open case prevent machine from sleeping" bit.


No dice on sleep, the system reports missing software and asks for a reinstall, but I only have minimal extensions enabled for internet, USB, and graphics.

So a full install may get us further.

Just figured it was worth a shot while you were working with the PMU to see what we could learn.

The Mini doesn't draw a great deal of power, but anything we can learn about the PMU and how it responds to OS 9 and it's drivers may help us if we ever want to get sleep working on the unsupported mobiles.

Not really a priority, getting the system stable, and loading as many extensions as we can. the Apple CD/DVD extension seems to be troublesome, if at some point we want to make a bootable disc for the Mini we'll need to figure why it is causing the Finder to hang, and see if there is anything we can do to fix it.


 

Offline RossDarker

  • Gold Member (200+ Posts)
  • *****
  • Posts: 228
Re: Booting Mac Os 9 on Mac Mini.
« Reply #260 on: March 03, 2018, 08:42:07 AM »
The prim-info property does not change after boot. It just tells the OS how to behave under certain conditions.

Try this one. I have unset the "open case prevent machine from sleeping" bit.

By the way, does anyone have trouble with the mini fans running loud?

I haven't really noticed a loud fan,  lots of heat coming out the back, the fan seems pretty quite.
Yes that is a better description. It does sounds louder than normal, do you notice this or sounds normal to you?
Dunking a biscuit is one of life's greatest joys.

Offline RossDarker

  • Gold Member (200+ Posts)
  • *****
  • Posts: 228
Re: Booting Mac Os 9 on Mac Mini.
« Reply #261 on: March 03, 2018, 08:48:31 AM »
Ah now the fans are normal, quiet for me, after a restart, could be because I added a few more extensions in.
« Last Edit: March 03, 2018, 09:11:58 AM by RossDarker »
Dunking a biscuit is one of life's greatest joys.

Offline MacOS Plus

  • Gold Member (200+ Posts)
  • *****
  • Posts: 418
  • The 9serve Lives!
Re: Booting Mac Os 9 on Mac Mini.
« Reply #262 on: March 03, 2018, 09:09:24 AM »
  I just tried the latest ROM from post 256.  This finally allowed a complete boot without the need for a force-quit when the Finder loads.  This was with all normal extensions loaded but still minus Apple Audio Extension and the Energy Saver control panel.  With the exception of sleep not working, everything else seems to be normal.

  Given this result, and that the machine is no longer declared to be an iBook, I put the remaining extension and control panel back in.  It was also able to boot right through to the desktop without error or hang, and no sign yet of the prior "battery warning shutdown".  I set the display sleep time to the minimum to see if it would blank the display, but it didn't do it.  Seeing as I avoid sleeping any of my OS 9-and-earlier machines, I'm not much concerned about that.  Fan is also showing no change in behavior.

  With the audio extension back in place, the Sound control panel actually detects the built-in sound as an output device.  The volume slider stays pinned at zero though.  It's part-way there but isn't being handled properly yet.  Also, the way we're running now, setting the "screamer" property on the sound device actually causes it not to show up in the Sound control panel at all.  It's really nice that at this point I don't have to do anything in OF to get a smooth boot every time, even if certain things aren't working yet.

  Nice progress!  Would you do a version of the current ROM without the logging enabled?  My Mini is working well-enough right now that it could be assigned to real tasks, so I'd like to not have the window popping up in the way.  I'd be quite satisfied without sound if we can just work out the final glitches in the video driver so I can run full-res and hopefully on DVI instead of just VGA.
« Last Edit: March 03, 2018, 09:45:06 AM by MacOS Plus »

Offline MacOS Plus

  • Gold Member (200+ Posts)
  • *****
  • Posts: 418
  • The 9serve Lives!
Re: Booting Mac Os 9 on Mac Mini.
« Reply #263 on: March 03, 2018, 12:44:37 PM »
  I was becoming suspicious that the issues I've been having with video on the Mini with the new drivers is a problem with correct detection of the monitor modes.  It turns out DVI does work - I booted to a black screen on my 1920x1080 monitor and then switched the connector to a different monitor that is 1280x1024.  Well, gee, there's the desktop now.  The monitor name and proper resolution choices appear in the Monitors control panel.

  Here's where the weirdness comes in - I have SwitchRes running, and it holds onto the original settings that were detected by the system during boot when the first monitor was attached.  I've never seen settings like this before.  Here's what it listed:

- 32 x 32
- 640 x 480 ~1Hz
- 800 x 600 ~1Hz
- Black & White
(graphics acceleration fails also due to this faulty detection mode)

  Obviously this explains the problem with my higher resolution monitor.  There's some issue with the EDID handling just after the happy Mac shows up, presumably as the extensions start loading and it tries to automatically switch to another resolution.  Even on the monitor that will detect good resolutions, if you switch the control panel list to "All" it shows some very strange options with 60.01974Hz refresh rates and options for stretched proportioning which don't apply to this 4:3 LCD.

  If we can sort out why this is happening then we'll probably have a perfect driver.

Offline RossDarker

  • Gold Member (200+ Posts)
  • *****
  • Posts: 228
Re: Booting Mac Os 9 on Mac Mini.
« Reply #264 on: March 03, 2018, 02:22:10 PM »
My Aluminium 20" Cinema Display uses DVI, I do get Finder icons repeated on the screen, "Mac OS Default" instead of just pure purply/blue desktop background. Seems all good from the beginning of testing. 1680x1050 runs and that is the displays full resolution, directly to the DVI.
Dunking a biscuit is one of life's greatest joys.

Offline darthnVader

  • Gold Member (200+ Posts)
  • *****
  • Posts: 496
  • New Member
Re: Booting Mac Os 9 on Mac Mini.
« Reply #265 on: March 03, 2018, 04:55:57 PM »
  I was becoming suspicious that the issues I've been having with video on the Mini with the new drivers is a problem with correct detection of the monitor modes.  It turns out DVI does work - I booted to a black screen on my 1920x1080 monitor and then switched the connector to a different monitor that is 1280x1024.  Well, gee, there's the desktop now.  The monitor name and proper resolution choices appear in the Monitors control panel.

  Here's where the weirdness comes in - I have SwitchRes running, and it holds onto the original settings that were detected by the system during boot when the first monitor was attached.  I've never seen settings like this before.  Here's what it listed:

- 32 x 32
- 640 x 480 ~1Hz
- 800 x 600 ~1Hz
- Black & White
(graphics acceleration fails also due to this faulty detection mode)

  Obviously this explains the problem with my higher resolution monitor.  There's some issue with the EDID handling just after the happy Mac shows up, presumably as the extensions start loading and it tries to automatically switch to another resolution.  Even on the monitor that will detect good resolutions, if you switch the control panel list to "All" it shows some very strange options with 60.01974Hz refresh rates and options for stretched proportioning which don't apply to this 4:3 LCD.

  If we can sort out why this is happening then we'll probably have a perfect driver.

I don't know, the Mini itself seems to have trouble with 1080p/i.

I have a TV that the native res is 1366x768, that also supports 1080i. The Mini works fine for the native res, and all the lower resolutions, but no signal for 1080i.

When I connect to a 1080p TV, I get no signal at boot, which leads me to believe it's a problem with the 9200's in boot rom Fcode driver. As at bootup it normally reads the EDID of a digital display and tries to set the native res of an LCD display.

I just get no display at all from the 1080p TV.

I may have to install Timbuktu  and see if I can remote into the Mini with the 1080p display connected and see if I can select a lower res.

Offline MacOS Plus

  • Gold Member (200+ Posts)
  • *****
  • Posts: 418
  • The 9serve Lives!
Re: Booting Mac Os 9 on Mac Mini.
« Reply #266 on: March 03, 2018, 08:02:50 PM »
  I'm still confused about what's going on though because the computer successfully starts up to the initial OS load screen or OF perfectly fine at 1920x1080p.  It's only once the OS gets involved that it tries to switch modes even though it shouldn't and gets black screen from there on.

  I just tried it with an older LCD TV which maxes out at 1920x1080i, much like the one you describe, using a DVI-to-HDMI adapter.  This produced no valid output at all at any stage of boot.

Offline ELN

  • Gold Member (200+ Posts)
  • *****
  • Posts: 269
  • new to the forums
Re: Booting Mac Os 9 on Mac Mini.
« Reply #267 on: March 03, 2018, 10:12:32 PM »
Sorry about the log!

Offline darthnVader

  • Gold Member (200+ Posts)
  • *****
  • Posts: 496
  • New Member
Re: Booting Mac Os 9 on Mac Mini.
« Reply #268 on: March 04, 2018, 01:14:25 AM »
Sorry about the log!

Thanks ELN, that seems to work well, tho I now get a bunch of NTSC TV resolutions.

I know the 9200 has a TV encoder, somehow you must have ticked it on in this latest Rom.

However now I'm able to use the Apple Audio and CD/DVD extensions. I'll have to check de-interlacing of a DVD and see if that function works without the ATI Video Accelerator.

Offline MacOS Plus

  • Gold Member (200+ Posts)
  • *****
  • Posts: 418
  • The 9serve Lives!
Re: Booting Mac Os 9 on Mac Mini.
« Reply #269 on: March 04, 2018, 08:20:46 AM »
  It's amusing how the file name keeps growing longer and longer!  It's well past the point where the name cuts off during saving on OS 9 though, not that it matters much.

  I didn't get any changes to the available resolutions on my Mini.  However, without the log in the way I'm back to maximizing my windows, so posting this from Classilla on the Mini again!  As far as I can tell, I have a fully stable system (other than weirdness with highest video resolutions/EDID).

  The optical drive in my Mini is model CW-8123-C, which is supposed to be CDRW/DVD-ROM.  It accessed a CDR and a DVD+R disc fine in OS 9.  The hilarious part is, because I have the cover off the Mini, when the disc ejects there's no friction so it fires the disc right out onto the desk like an over-sprung toaster!

  Aside from lack of sleep ability, which I don't care about anyway, the only remaining issues for me are slightly wonky video support at highest resolutions, and no sound.  For a single-screen system I'd prefer to have the maximum resolution available, which if I've read correctly in specs is 1920x1200 for DVI and 1920x1080 for VGA on this 9200 variant.  I'll be sticking with 1280x1024 for now until we can resolve the detection/timing problems, if they are fixable on this 9200 at all.  I've read online about numerous issues with the Mini's DVI, issues that were resolved via ROM update on other 9200 cards but never updated on the Mini in ROM.  The ROM version in the Mini is 116.

  The sound part I'm getting the impression may need more than simple fixes.  OS 9 knows the device is present, but this may be only due to a basic declaration of the device in OF, and no indication of what is required to actually send data to it.  I read in a Linux forum that the "Toonie" i2s device in the Mini has no internal mixer nor much else as an interpretive mechanism.  Software has to do all the work to feed it the necessary signal.  This may require more than just a driver - it may require a new layer of software to work.  This is just my best guess given what I've read.  I'll leave it to the members more versed in the underlying coding to comment.  Will this be helped by stealing more code from OS X?  I don't know.

  Overall, great work!  I'm extremely pleased with what's been accomplished.

Offline darthnVader

  • Gold Member (200+ Posts)
  • *****
  • Posts: 496
  • New Member
Re: Booting Mac Os 9 on Mac Mini.
« Reply #270 on: March 04, 2018, 10:05:00 AM »


  The optical drive in my Mini is model CW-8123-C, which is supposed to be CDRW/DVD-ROM.  It accessed a CDR and a DVD+R disc fine in OS 9.  The hilarious part is, because I have the cover off the Mini, when the disc ejects there's no friction so it fires the disc right out onto the desk like an over-sprung toaster!

 

That made my day, very funny.

I can envision a caseless Mini conected to a home alarm system firing saw blades from it's CD drive at wouldbe intruders.

Offline ELN

  • Gold Member (200+ Posts)
  • *****
  • Posts: 269
  • new to the forums
Re: Booting Mac Os 9 on Mac Mini.
« Reply #271 on: March 04, 2018, 08:40:48 PM »
I think that the mini's inability to sleep, and the high heat output from the CPU, are both due to the unavailability of the CPU-specific power management calls in a CPU plugin. Working on it…

Offline MacOS Plus

  • Gold Member (200+ Posts)
  • *****
  • Posts: 418
  • The 9serve Lives!
Re: Booting Mac Os 9 on Mac Mini.
« Reply #272 on: March 04, 2018, 09:43:36 PM »
  Now that the machine is running as well as it is, I'm turning my attention to weeding out the 'mysterious' detected serial port.  First bet I'm making is that it's a debug port buried in the modem connector, as with so many other machines.  Going on this assumption, I'm trying to see how much of the modem board connector pinout I can map.

  If you remove the board and turn it upside down, you can see the connector is numbered 1 through 30 starting from the screw-hole end.  I may not be much good at tracing logic but I can get started with ground and power lines.  Process of elimination should allow me to get to the point where, if it looks promising, I can safely attempt patching in a stealth port or similar without causing a shower of sparks.

  My initial poking around indicates ground is connected at pins 2/3/8/15/19/20/28, and 3.3V power at 6/14/17.  Also, 24/26 are tied together on the motherboard.  If anyone here has a logic probe and a Mini, I'd appreciate some help in identifying the other pins.  I find it hard to believe that an I2S modem would require all of the remaining 20 pins.

  Going by the illustrations of the Jamport development on Alex Hixon's website, only seven wires are required to feed a serial port 'stealth' board.  If you factor in that 5 volt power is not available on the Mini's modem connector, that takes the requirement down to six on the connector (5 volts can be patched from elsewhere).  Power and ground are easy, leaving only five logic wires to get right.  Would this connector be the "MicroDash" type mentioned on Mr. Hixon's site?

  Alternatively, I'd like to know where the debug port chip itself is.  Mr. Hixon's website notes there is a 2x5-pin debug chip in the Powerbook G4 15" and 17" models.  I see a chip fitting that description near the rear-left of the motherboard next to the PATA riser connector.  Is that what I'm looking for?

Offline darthnVader

  • Gold Member (200+ Posts)
  • *****
  • Posts: 496
  • New Member
Re: Booting Mac Os 9 on Mac Mini.
« Reply #273 on: March 05, 2018, 03:10:37 AM »
Oddly, I don't get any serial port detected.

Offline ELN

  • Gold Member (200+ Posts)
  • *****
  • Posts: 269
  • new to the forums
Re: Booting Mac Os 9 on Mac Mini.
« Reply #274 on: March 05, 2018, 08:25:26 AM »
I have cracked the NanoKernel's mechanism to "upcall" a CPU plugin. This has given me some insight into the structure of the CPU plugins. More to come.

Offline MacOS Plus

  • Gold Member (200+ Posts)
  • *****
  • Posts: 418
  • The 9serve Lives!
Re: Booting Mac Os 9 on Mac Mini.
« Reply #275 on: March 05, 2018, 09:40:52 AM »
Oddly, I don't get any serial port detected.

  I triple-checked to see if somehow I'd missed leaving the Stealth Port driver in the Extensions folder from when this drive was used on another machine, but no, it's not there.  It's not even on this drive at all.  AppleTalk is detecting what it thinks is a serial port and not erroring if I select it and save the setting.  This should not be possible without a device present that AppleTalk can communicate with.  It also can't appear as a device because of a saved preference, especially considering this setting is lost with a PRAM reset.  I'm very curious as to why it's showing on mine and not yours.

I have cracked the NanoKernel's mechanism to "upcall" a CPU plugin. This has given me some insight into the structure of the CPU plugins. More to come.

  Awesome.  This information should come in handy for a number of other things later.  Perhaps we'll finally understand what the single-character hack in the CPU Plugins file actually does in regards to enabling multiprocessing on the Sonnet CPU upgrades.  It would also be terrific if we could eventually do away with the need for many of the PRAM/firmware patches normally required for the various upgrade CPUs.

Offline DieHard

  • Administrator
  • Platinum Member (500+ Posts)
  • *****
  • Posts: 1661
Re: Booting Mac Os 9 on Mac Mini.
« Reply #276 on: March 05, 2018, 07:24:07 PM »
I thought I was tenacious... you guys have me beat by a mile; this was started as a suggestion from Mactron in April 2015... and now will quite possibly be ready by April 2018 !   Let's get Audio going :)

Now since Mactron started this, he might have to put a "Mac Mini" sparse system together, and myself (or Someone with a mini) will have to inject all the necessary stuff into our current universal "unsupposted" image... Thus creating, a new ASR version of a self installing ASR full 9.2.2 system designed just for the Mini and wrap it all up in an ISO. 

Of course, you guys (the developers) will have to draw straws and let the other forums know of the Mac Mini success.. but let me get a cheap one on ebay first, before the bidding frenzy of OS 9 holdouts kicks in.

Lastly, please post summary list of the exact steps to get a virgin Mini up and running with proper Video, but no sound.  This may help other testers cause this is way too long to read thru even though it is awesome :)

Offline MacOS Plus

  • Gold Member (200+ Posts)
  • *****
  • Posts: 418
  • The 9serve Lives!
Re: Booting Mac Os 9 on Mac Mini.
« Reply #277 on: March 05, 2018, 09:39:27 PM »
...Lastly, please post summary list of the exact steps to get a virgin Mini up and running with proper Video, but no sound.  This may help other testers cause this is way too long to read thru even though it is awesome :)

  Since I seem to have had the least trouble with my particular Mini, a 1.42GHz model with 1GB of RAM, I'll state exactly what my setup is and the sequence to get there.

1. Use a known bootable 9.2.2 machine to create a new 9.2.2 drive from the Unsupported G4's ASR ISO image downloadable here:

http://macos9lives.com/smforum/index.php/topic,2143.0.html
(The details of burning this CD image and working with it should already be understood.  I won't explain it here because the process is not specific to any one machine type.  Use of any other OS 9.x installer or copying an existing System folder in whole or in part may not work properly.  Stick with this one - it's just about the only one you're ever going to need for any machine anyway.  Otherwise you'll just be pulling out your hair for no good reason, and I know many of you guys are old enough that you can't afford to do that. ;) Trust me, I still have a full head of hair...)

  I did this to a separate firewire-attached drive first for testing before eventually opening the Mini and swapping out the stock internal OS X drive for the one from the firewire enclosure.  Alternatively you can boot the Mini in firewire target disk mode by holding "t" at power-up and then mounting the internal drive on another machine via firewire cable to do the ASR process.  I went with a Kingspec PATA SSD rather than the original mechanical drive since I've had great luck and performance with these in Macs.

2. Remove the "Multiprocessing" folder from the System folder.  I did this as a precaution, perhaps not a necessity, but obviously you're not going to need it on this machine.  There's no sense chasing ghosts if you have a problem because of it.

3. Download the ROM in ELN's post #267 in this topic.  Un-stuff it with StuffIt Expander - this will extract a file called "Mac OS ROM".  Copy this to the System folder and let it replace the existing one.  (If you want to keep this installation usable outside of the Mini, keep a backup copy of the original file somewhere outside of the System folder.)

4. Delete or remove all ATI extensions from the "Extensions" folder in the System folder.  Download the hacked ATI extensions from darthnVader's post #1 in the topic "Modified RockHopper2 ATI drivers for Mac Mini( OS 9 )" here:

http://macos9lives.com/smforum/index.php/topic,4277.msg29392.html#msg29392

  The extracted files are as follows:

ATI 3D Accelerator              7.0.4
ATI 8500 3D Accelerator         7.1
ATI Extension                   2.9
ATI Graphics Accelerator        5.7
ATI Monitor                     3.2.1
ATI Radeon 3D Accelerator       6.4.7
ATI Rage 128 3D Accelerator     6.4.7
ATI Resource Manager            3.2.1
ATI Via Driver                  1.0
ATI Video Digitizer             4.3.7
OpenGLRendererATI               1.3.5


  I also left in these other files that were not duplicates of the above hacked ones:

ATI Driver Update               2.4.4
ATI MPP Manager                 1.2
ATI ROM Xtender                 1.2
ATI Video Accelerator           4.9.1


  I've had no problems with the additional files present, but it may depend on exactly what application types you're running.  I also have the "ATI Displays" 3.2.1 control panel installed so I can have a clear indication in the ATI menu that acceleration is in fact enabled.  This file was retrieved from one of the ATI retail installers.  I believe it was from "ATI OS 9 Mac Software Update January 2005", available for download here:

http://www.macintoshrepository.org/1357-ati-os-9-drivers-january-2005-

5. Boot up your Mini!  If you are testing with an external firewire drive you will need to hold the Option key at power up to access the graphical boot selector menu where you can pick the 9.2.2 system drive.  If you don't want to have to do that every time, bite the bullet and either install permanently to the internal HDD, or pry open your Mini (not so easy a task - it took nine guitar picks at once on mine!) and swap your 9.2.2 drive in.

  Keep in mind that 3D software works but may be crash-prone, according to darthnVader.  Also note that I've had issues with proper monitor detection and/or sync timing at 1920x1080 on DVI and VGA.  Lower resolutions seem to be fine but may depend on your particular monitor.  If you run into problems with black screen during boot, be sure to try each port type and other monitors with lower native resolution if necessary.  I'm currently running rock-stable with an Acer AL1716 on DVI at native 1280x1024 @60Hz resolution.  Avoid the nearly-always-troublesome 1366x768 native res LCDs.

  Everything else critical should work except sound and any form of sleep mode.  I shouldn't have to say it because it should be well understood by now, but if your Mini has AirPort Extreme and/or bluetooth, neither is supported in OS 9.  I also presume no one has any interest in the modem - it doesn't work either.

  Enjoy!

Offline RossDarker

  • Gold Member (200+ Posts)
  • *****
  • Posts: 228
Re: Booting Mac Os 9 on Mac Mini.
« Reply #278 on: March 06, 2018, 12:23:24 PM »
Can I just say that sound is coming out of speakers connected to my Mac mini using headphone jack, perfectly, but not through the internal speaker. Don't really use the internal one anyway. Like everything seems to be working now, just not internal speaker and the sleep.
« Last Edit: March 06, 2018, 12:40:32 PM by RossDarker »
Dunking a biscuit is one of life's greatest joys.

Offline RossDarker

  • Gold Member (200+ Posts)
  • *****
  • Posts: 228
Re: Booting Mac Os 9 on Mac Mini.
« Reply #279 on: March 06, 2018, 12:39:24 PM »
accidentally quoted my post.
Dunking a biscuit is one of life's greatest joys.

Offline ELN

  • Gold Member (200+ Posts)
  • *****
  • Posts: 269
  • new to the forums
Re: Booting Mac Os 9 on Mac Mini.
« Reply #280 on: March 06, 2018, 04:49:55 PM »
I have managed to get the CPU plugin limping along with a dirty hack to the NanoKernel. Calls to routine selector 12 are disabled. This stops the machine from crashing with the Multiprocessing folder present, and enables enough CPU power management that the fans run at a reasonable speed.

More to come on the CPU plugin, though. I don't want to get too carried away with this, but if someone could send me an archive of every known CPU plugin, that'd be great. I've already looked at the one-byte Sonnet patch without gaining much insight.

RossDarker, thanks for the promising news about the sound!

Has anyone gotten the Ethernet to work on the mini? I think mine came to me with a bad port, so testing will be a chore.

Offline DieHard

  • Administrator
  • Platinum Member (500+ Posts)
  • *****
  • Posts: 1661
Re: Booting Mac Os 9 on Mac Mini.
« Reply #281 on: March 06, 2018, 07:21:53 PM »
Quote
and enables enough CPU power management that the fans run at a reasonable speed.

So, without the new CPU plugin the Post #277 Instructions produce a working, but overheating Mac Mini ?

I am assuming, if that is the case, that the modified CPU plugin is Critical !

As a side note, I will be buying a Mini just to see this all pan out first hand, I already have 3 power supplies, but no PPC Mini for at least 6 years, this is gonna be epic :)

Offline MacOS Plus

  • Gold Member (200+ Posts)
  • *****
  • Posts: 418
  • The 9serve Lives!
Re: Booting Mac Os 9 on Mac Mini.
« Reply #282 on: March 06, 2018, 09:18:42 PM »
  Ethernet has worked perfectly for me.  I've also had no issues with the fan speed at all, and it's not pouring a ton of heat out the back so it must be cooling sufficiently.  I know it's not running at full speed because the fan briefly comes on at full speed when the Mini first powers up but then quickly settles down to a much calmer pace.

  BTW, the weird issue I was having with the sub-menu not showing on the Control Panels folder in the Apple menu has been resolved.  It was nothing to do with the machine, it was just something glitched in the folder alias.  I made a new alias and copied it into the Apple menu folder, and low and behold, the original folder suddenly showed the sub-menu as well as did the new one.  So weird.  I deleted the old one anyway and kept the new one after this bizarre occurance.

@RossDarker - Which versions of the Apple Audio Extension extension and Sound control panel are you running with?  (Mine are versions 2.4 and 8.5.8 respectively.)  On my Mini the volume slider is set to zero and springs back if you try to drag it.  It makes no diffence on mine if I plug in something else to the output jack.  The only thing I ever get to hear is the startup sound.

@DieHard - If I get another Mini without a power supply, I know who to ask! ;)

Offline MacOS Plus

  • Gold Member (200+ Posts)
  • *****
  • Posts: 418
  • The 9serve Lives!
Re: Booting Mac Os 9 on Mac Mini.
« Reply #283 on: March 06, 2018, 09:36:30 PM »
  Did all of the G4 Minis have the same motherboard firmware version?  Mine has version 4.89f1 reported in System Profiler.  On a related note, it appears there may have been a firmware update for some variant of the optical drive.

Offline darthnVader

  • Gold Member (200+ Posts)
  • *****
  • Posts: 496
  • New Member
Re: Booting Mac Os 9 on Mac Mini.
« Reply #284 on: March 06, 2018, 11:20:41 PM »
I have sound over the headphone/lineout port too, I tested the other day, and it didn't work.

I don't have volume control, but sound does work with Sound Control Panel 8.5.8 and Apple Audio Extension 2.4.

I just noticed I don't have a modem, so that resolves why I don't see any serial connection.
« Last Edit: March 07, 2018, 04:53:18 AM by darthnVader »

Offline RossDarker

  • Gold Member (200+ Posts)
  • *****
  • Posts: 228
Re: Booting Mac Os 9 on Mac Mini.
« Reply #285 on: March 06, 2018, 11:57:33 PM »
My external speakers have a volume control on them, because it is really an iPhone 4 dock. I just connected to it using an aux cable. That is the only way I can control the volume because like you said about the Control Strip Module slider springing back. I am using 2.4 & 8.5.8.
Dunking a biscuit is one of life's greatest joys.

Offline ELN

  • Gold Member (200+ Posts)
  • *****
  • Posts: 269
  • new to the forums
Re: Booting Mac Os 9 on Mac Mini.
« Reply #286 on: March 07, 2018, 05:46:30 AM »
The 7447a seems not to support the THRM registers that earlier G4s did. This is why the mini crashes. Here is a plugin patched to spoof a 30C CPU temperature. Working on a more elegant solution. Let me know about fan behaviour, and beware overheating!

Offline MacOS Plus

  • Gold Member (200+ Posts)
  • *****
  • Posts: 418
  • The 9serve Lives!
Re: Booting Mac Os 9 on Mac Mini.
« Reply #287 on: March 07, 2018, 08:03:54 AM »
My external speakers have a volume control on them, because it is really an iPhone 4 dock. I just connected to it using an aux cable. That is the only way I can control the volume because like you said about the Control Strip Module slider springing back. I am using 2.4 & 8.5.8.

  Alright, so it must be outputting a line-level signal, which would explain why I couldn't hear anything on headphones.  I will try again with an amplifier.

  This is very promising because it means we're only dealing with fixing extremely basic device control parameters in the sound driver or with missing properties on the device in OF.

The 7447a seems not to support the THRM registers that earlier G4s did. This is why the mini crashes. Here is a plugin patched to spoof a 30C CPU temperature. Working on a more elegant solution. Let me know about fan behaviour, and beware overheating!

  Is there any way to access the data from the hardware thermal sensors?  I never understood why no one ever wrote something functionally similar to "MenuMeters" that would work on OS 9.  I remember I used to have a CPU monitor utility running during summer months on my Nubus 9150 machine with a Sonnet G4/360MHz.  The edit room in that studio facility didn't get enough AC, and I'd have to keep an eye on the CPU temp because the machine would consistently lock up if it reached a certain temperature.  In the case of the Mini there's supposed to be at least a couple thermal sensors present, if I'm interpreting the OF device tree correctly.

Offline MacOS Plus

  • Gold Member (200+ Posts)
  • *****
  • Posts: 418
  • The 9serve Lives!
Re: Booting Mac Os 9 on Mac Mini.
« Reply #288 on: March 07, 2018, 08:23:02 AM »
  So you guys were right - sound does work as line-level output with no slider function in the control panel.  I'm playing from Winamp for the test.  Winamp has its own functional volume control, which is a good thing since I get nasty clipping without their volume reduced to about half.  Great start anyway - we're so close to having this all working fully!

Offline Daniel

  • Gold Member (200+ Posts)
  • *****
  • Posts: 268
  • Programmer, Hacker, Thinker
Re: Booting Mac Os 9 on Mac Mini.
« Reply #289 on: March 07, 2018, 08:28:32 AM »
The 7447a seems not to support the THRM registers that earlier G4s did. This is why the mini crashes. Here is a plugin patched to spoof a 30C CPU temperature. Working on a more elegant solution. Let me know about fan behaviour, and beware overheating!
What happens if you tell PowerMacInfo to report the processor temp on the mini?

Offline ELN

  • Gold Member (200+ Posts)
  • *****
  • Posts: 269
  • new to the forums
Re: Booting Mac Os 9 on Mac Mini.
« Reply #290 on: March 07, 2018, 06:07:28 PM »
Freezes up! The register accesses don’t seem to crash the machine (although this could be the NK installing a dummy illegal instruction handler). But the reading code waits for a flag to be raised in one of the registers, which never happens.

Docs for the 7447a say that the thermal diode is only exposed to the motherboard through two socket pins.

Offline MacOS Plus

  • Gold Member (200+ Posts)
  • *****
  • Posts: 418
  • The 9serve Lives!
Re: Booting Mac Os 9 on Mac Mini.
« Reply #291 on: March 07, 2018, 07:53:00 PM »
  I've poked around in the Apple Audio Extension file and noted that there are specific entries for I2S audio support.  This will be why the Mini's output works at all on OS 9.  I presume the interpretation of the device, and therefore the necessary controls and jack insertion detection, is lacking due to the file not containing a specific driver section for the "Toonie" sound device implementation in the Mini.  I'm wondering if it's possible to borrow what we need from OS X 10.3.7 (perhaps up to 10.3.9), as was done with the RockHopper NDRV for the Radeon 9200.  I'm not expert enough to tackle this, but perhaps one of you guys can take a stab at it?

  BTW, I'm already having a blast just playing MP3s in the background on the Mini while browsing the forum with Classilla!  I've got it patched through the mixer in my control room so I can crank the tunes.  I can't wait to start pushing its limits with software synths to see what it can really do.  It's got me thinking about using a number of them together over MIDI, since they'll take up such a tiny amount of space vs the tower machines.  Now if we could just figure out how to hack in the serial port, I'd have enough MIDI interfaces available to do three or four co-opertive Minis with one on USB!
« Last Edit: March 07, 2018, 09:04:57 PM by MacOS Plus »

Offline darthnVader

  • Gold Member (200+ Posts)
  • *****
  • Posts: 496
  • New Member
Re: Booting Mac Os 9 on Mac Mini.
« Reply #292 on: March 08, 2018, 05:39:53 AM »
  I've poked around in the Apple Audio Extension file and noted that there are specific entries for I2S audio support.  This will be why the Mini's output works at all on OS 9.  I presume the interpretation of the device, and therefore the necessary controls and jack insertion detection, is lacking due to the file not containing a specific driver section for the "Toonie" sound device implementation in the Mini.  I'm wondering if it's possible to borrow what we need from OS X 10.3.7 (perhaps up to 10.3.9), as was done with the RockHopper NDRV for the Radeon 9200.  I'm not expert enough to tackle this, but perhaps one of you guys can take a stab at it?

  BTW, I'm already having a blast just playing MP3s in the background on the Mini while browsing the forum with Classilla!  I've got it patched through the mixer in my control room so I can crank the tunes.  I can't wait to start pushing its limits with software synths to see what it can really do.  It's got me thinking about using a number of them together over MIDI, since they'll take up such a tiny amount of space vs the tower machines.  Now if we could just figure out how to hack in the serial port, I'd have enough MIDI interfaces available to do three or four co-opertive Minis with one on USB!

Just doesn't work that way, Audio devices really don't take part in the boot process, other than the startup sound. They don't need Native Device Drivers ('NDRV').

While we maybe able to learn something from the startup sound code in the boot rom, we likely can't learn much from OS X drivers, unless they are open source. If linux has drivers that work for sound on the Mini we can likely learn what we need, but translating that to OS 9 is going to be tricky.

I'm not sure how feasible it would be to disassemble the Sound Manager, or even make binary hacks to it. Versions of Sound Manager 3.x+ should have some API's but I don't think Apple ever published any of them, or at least I don't see any Sound Manager DDK's.


Offline Daniel

  • Gold Member (200+ Posts)
  • *****
  • Posts: 268
  • Programmer, Hacker, Thinker
Re: Booting Mac Os 9 on Mac Mini.
« Reply #293 on: March 08, 2018, 02:16:59 PM »
  I've poked around in the Apple Audio Extension file and noted that there are specific entries for I2S audio support.  This will be why the Mini's output works at all on OS 9.  I presume the interpretation of the device, and therefore the necessary controls and jack insertion detection, is lacking due to the file not containing a specific driver section for the "Toonie" sound device implementation in the Mini.  I'm wondering if it's possible to borrow what we need from OS X 10.3.7 (perhaps up to 10.3.9), as was done with the RockHopper NDRV for the Radeon 9200.  I'm not expert enough to tackle this, but perhaps one of you guys can take a stab at it?

  BTW, I'm already having a blast just playing MP3s in the background on the Mini while browsing the forum with Classilla!  I've got it patched through the mixer in my control room so I can crank the tunes.  I can't wait to start pushing its limits with software synths to see what it can really do.  It's got me thinking about using a number of them together over MIDI, since they'll take up such a tiny amount of space vs the tower machines.  Now if we could just figure out how to hack in the serial port, I'd have enough MIDI interfaces available to do three or four co-opertive Minis with one on USB!

Just doesn't work that way, Audio devices really don't take part in the boot process, other than the startup sound. They don't need Native Device Drivers ('NDRV').

While we maybe able to learn something from the startup sound code in the boot rom, we likely can't learn much from OS X drivers, unless they are open source. If linux has drivers that work for sound on the Mini we can likely learn what we need, but translating that to OS 9 is going to be tricky.

I'm not sure how feasible it would be to disassemble the Sound Manager, or even make binary hacks to it. Versions of Sound Manager 3.x+ should have some API's but I don't think Apple ever published any of them, or at least I don't see any Sound Manager DDK's.
opensource.apple.com has a lot of useful stuff in it, including a lot of source code for early Mac OS X. There might be something related to sound in there.

Offline MacOS Plus

  • Gold Member (200+ Posts)
  • *****
  • Posts: 418
  • The 9serve Lives!
Re: Booting Mac Os 9 on Mac Mini.
« Reply #294 on: March 08, 2018, 09:21:35 PM »
  A moment, please, while I vent my frustration with damned F*ING invisible characters!  (This lopped off most of my post and I had to build it again.  GRRRRRRRR...)

  I'm getting the impression, from the tidbits of plain english I can read in the code of the Apple Audio Extension extension, that the various devices are supported by a plug-in architecture.  This is what I'm basing my musings on as to whether or not we can transfer some later code back and patch it in.  The file also has a number of "Joy!peffpwpc" headers dividing up the code (as with most other extensions).  In case anyone was interested, here are a number of the device plug-in names I see in the file:

From a portion of the Data fork:
BurgundyPlugin
GCAwacsPlugin
DacaPlugin
USBAudioPlugin
VirtualHALPlugin
MLANAudioPlugin
DigitalSndPlugin
TumblerPlugin
SnapperPlugin

From a portion of the Resource fork:
DAVAudioPlugin
GCAwacsPlugin
I2SAudioPlugin
VirtualHALPlugin
SnapperPlugin
TumblerPlugin
ASPScalarPlugin
AltivecPlugin

Many of the above refer to specific motherboard integrated audio devices.

And here is a subsection of data from one of the plugins:
BurgundyPlugin
__SndHWSetPlaythrough
__SndHWSetSystemMute
__SndHWSetInputGain
__SndHWSetSystemVolume
__SndHWSetActiveOutput
__SndHWSetActiveInput

  Here it appears to be declaring basic operating parameters/variables to the Sound control panel for the given device name.  The extension mustn't be fully recognizing the Mini's sound device, "Toonie", and therefore never defining these parameters/variables.  Presumably we can either steal functional code from a later driver/plug-in, or perhaps even hack an existing plug-in to be recognized as belonging to the "Toonie" by OF name/address.

  This seems like a plausible explanation for the lack of controls or jack switch detection by the Sound control panel, given the evidence.
« Last Edit: March 08, 2018, 09:49:34 PM by MacOS Plus »

Offline neophytte

  • Member
  • Posts: 1
  • new to the forums
Re: Booting Mac Os 9 on Mac Mini.
« Reply #295 on: March 08, 2018, 09:53:23 PM »
Now if we could just figure out how to hack in the serial port, I'd have enough MIDI interfaces available to do three or four co-opertive Minis with one on USB!

This is what I'm waiting for, with the addition of the new JamPort http://alexhixon.com/projects/jamport/index.html

Cheers

Offline MacOS Plus

  • Gold Member (200+ Posts)
  • *****
  • Posts: 418
  • The 9serve Lives!
Re: Booting Mac Os 9 on Mac Mini.
« Reply #296 on: March 08, 2018, 10:27:12 PM »
Now if we could just figure out how to hack in the serial port, I'd have enough MIDI interfaces available to do three or four co-opertive Minis with one on USB!

This is what I'm waiting for, with the addition of the new JamPort http://alexhixon.com/projects/jamport/index.html

Cheers

  I actually tried to email Alex with technical questions related to tracing the debug port on the Mini, but never got a response.  I'd love it if he were involved here.  I'd like a little educated direction before I get crazy and just start hack-patching wires and end up frying something.

Offline darthnVader

  • Gold Member (200+ Posts)
  • *****
  • Posts: 496
  • New Member
Re: Booting Mac Os 9 on Mac Mini.
« Reply #297 on: March 09, 2018, 06:20:36 AM »
  A moment, please, while I vent my frustration with damned F*ING invisible characters!  (This lopped off most of my post and I had to build it again.  GRRRRRRRR...)

  I'm getting the impression, from the tidbits of plain english I can read in the code of the Apple Audio Extension extension, that the various devices are supported by a plug-in architecture.  This is what I'm basing my musings on as to whether or not we can transfer some later code back and patch it in.  The file also has a number of "Joy!peffpwpc" headers dividing up the code (as with most other extensions).  In case anyone was interested, here are a number of the device plug-in names I see in the file:

From a portion of the Data fork:
BurgundyPlugin
GCAwacsPlugin
DacaPlugin
USBAudioPlugin
VirtualHALPlugin
MLANAudioPlugin
DigitalSndPlugin
TumblerPlugin
SnapperPlugin

From a portion of the Resource fork:
DAVAudioPlugin
GCAwacsPlugin
I2SAudioPlugin
VirtualHALPlugin
SnapperPlugin
TumblerPlugin
ASPScalarPlugin
AltivecPlugin

Many of the above refer to specific motherboard integrated audio devices.

And here is a subsection of data from one of the plugins:
BurgundyPlugin
__SndHWSetPlaythrough
__SndHWSetSystemMute
__SndHWSetInputGain
__SndHWSetSystemVolume
__SndHWSetActiveOutput
__SndHWSetActiveInput

  Here it appears to be declaring basic operating parameters/variables to the Sound control panel for the given device name.  The extension mustn't be fully recognizing the Mini's sound device, "Toonie", and therefore never defining these parameters/variables.  Presumably we can either steal functional code from a later driver/plug-in, or perhaps even hack an existing plug-in to be recognized as belonging to the "Toonie" by OF name/address.

  This seems like a plausible explanation for the lack of controls or jack switch detection by the Sound control panel, given the evidence.

Is "Toonie" an enumerated property on the device tree, or is it just a nickname of the device that you're using?

I have an iBook G3 with the i2s audio device, fully supported by OS 9, and the properties for the device look about the same as my Mini/iBook G4/Powerbook G4. However only the Mini and the iBook G3 have working sound.

Tho I may need to test whit ELN's latest ROM's, as I tested the line-out on the Mini a few days ago, and it wasn't working.

Offline darthnVader

  • Gold Member (200+ Posts)
  • *****
  • Posts: 496
  • New Member
Re: Booting Mac Os 9 on Mac Mini.
« Reply #298 on: March 09, 2018, 06:56:52 AM »
Apple's I2s driver is open source, but the K2 driver that seems to run the audio device is not.

https://opensource.apple.com/source/AppleI2S/AppleI2S-101.3.1/AppleI2S.cpp.auto.html

Offline MacOS Plus

  • Gold Member (200+ Posts)
  • *****
  • Posts: 418
  • The 9serve Lives!
Re: Booting Mac Os 9 on Mac Mini.
« Reply #299 on: March 09, 2018, 07:38:47 AM »
I believe it is supposed to be an enumerated property, akin to "screamer" that has been added to the compatible property on other machines to gain basic function.  There is a named driver in OS X specifically for the Toonie.  I thought I saw it in the detailed branch of the tree for the i2s device, but I'll have to go take another look at it again.

Update - So I got it confused with some monster listing I saw online somewhere.  Here's the device and its properties from OF on my machine:

dev /pci@F2000000/mac-io/i2s/i2s-a/sound .properties
name: Sound
device-type: Soundchip
compatible: AOAKeylargo
vendor-id: 0000106b
layout-id: 0000003a
object-model-version: 00000002

  As "AOAKeylargo" compatible (Apple Onboard Audio - Keylargo), this would imply Apple didn't re-invent the wheel with this device variant.  The bridge to it is I2S format but the function should be handled the same way as Keylargo.  Why it then isn't fully working using the existing Keylargo code, I don't know.  Can someone with more knowledge of past Keylargo device handling please comment?  The missing link here could be something incredibly simple.
« Last Edit: March 09, 2018, 08:01:25 AM by MacOS Plus »