Mac OS 9 Lives

Classic Mac OS Software => Hacking the System, Mac OS 9.3, and Beyond ! => Topic started by: ELN on August 26, 2019, 06:49:56 PM

Title: Boot without the "Mac OS 9 Drivers"
Post by: ELN on August 26, 2019, 06:49:56 PM
Hi all,

This seems to have flown under the radar on the "Latest hacks" thread. I think that it is a very useful hack.

I have written a script to patch any "Mac OS ROM" file. It adds the ability to boot from an ATA disk that lacks the "Mac OS 9 Drivers". Previously, the ROM would fail to boot with a question-mark-floppy.

Using a ROM with this patch applied, Mac OS 9 can be successfully installed from within Mac OS X, without wiping the hard disk! We should make a MacOS9Lives kit for this purpose.

https://github.com/elliotnunn/tbxi-patches/blob/master/ataboot.py (https://github.com/elliotnunn/tbxi-patches/blob/master/ataboot.py)

Elliot
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: IIO on August 27, 2019, 03:32:53 AM
i´ve noticed that post very well, but i thought it is up to you to decide wether it is filed under "yet another gimmick" or "the next revolution"

have you yet found any application or service which wont work on a disk without drivers?
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: IIO on August 27, 2019, 03:41:41 AM
Q:
if you apply this, does it have any negative effect when you use it with a "normal" boot disk, which already contains the driver?
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: FdB on August 27, 2019, 06:58:11 AM
Q:
if you apply this, does it have any negative effect
when you use it with a "normal" boot disk,
which already contains the driver?

A: Most likely not... if you already have your Mac submerged in an oil-filled terrarium.
(Sorry, couldn't resist.) ;)

Thanks ELN... interesting possibilities.
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: ELN on August 27, 2019, 06:58:56 AM
An ATA disk without drivers won't be bootable in Mac OS 9. This is why we often reinitialise Mac OS X disks with Drive Setup.

A: This patch has no effect when a driver is already present on the disk. It merely emulates a driver when one is absent.
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: IIO on August 27, 2019, 12:43:45 PM
so there should no reason be left why it should not just be added to the mini OS as well as the "unsupported OS".
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: ELN on August 31, 2019, 06:40:40 AM
That's the plan. But I want to fix the frozen-mouse bug before I put out a new mini ROM.
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: IIO on August 31, 2019, 12:43:07 PM
would you have a screenshot of the tbxi editor and give a hint what minimum OSX/windows is required to have the correct python.
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: ELN on August 31, 2019, 07:09:11 PM
Python 3 runs at least as far back as Tiger and Windows XP. If tbxi accidentally depends on any more recent Python features, I will fix it.

Those links again:
https://github.com/elliotnunn/tbxi (https://github.com/elliotnunn/tbxi)
https://github.com/elliotnunn/tbxi-patches (https://github.com/elliotnunn/tbxi-patches)

Because this is a command line program, I will give some textual examples.

The online help for tbxi:
Code: [Select]
$ tbxi dump -h
usage: tbxi dump [-h] [-o <output-file>] <input-file>

Break a ROM file into rebuildable parts. Any ROM released since the
660AV/840AV ("SuperMario") can be processed, including NewWorld ROMs. Because
successive ROM formats tended to wrap layers around old ones, the image is
dumped recursively.

positional arguments:
  <input-file>      original file

optional arguments:
  -h, --help        show this help message and exit
  -o <output-file>  destination (default: <input-file>.src)

$ tbxi build -h
usage: tbxi build [-h] [-o <output-file>] <input-dir>

Recreate a dumped ROM file. With minor exceptions, the result should be
identical to the original. A NewWorld bootinfo file can be BinHex-encoded
('.hqx'), or have a '.idump' file created alongside.

positional arguments:
  <input-dir>       source directory

optional arguments:
  -h, --help        show this help message and exit
  -o <output-file>  destination (default: Mac OS ROM)

An example directory tree produced by tbxi dump:
Code: [Select]
/Users/elliotnunn/Documents/mac/MacROMan/TestImages/New\ World\ ROM/2003-01-10\ -\ Mac\ OS\ ROM\ 9.8.1.rom.src
├── Bootscript
├── MacOS.elf
├── Parcels
└── Parcels.src
    ├── AGPLib.pef
    ├── BacklightDriver.pef
    ├── DFMLib.pef
    ├── DevNLib.pef
    ├── EtherPrintfLib.pef
    ├── FWServicesLib.pef
    ├── GenericDriverFamily.pef
    ├── Grackle_PCICyclesLib.pef
    ├── MacROM
    ├── MacROM.src
    │   ├── Configfile-1
    │   ├── EverythingElse
    │   ├── ExceptionTable
    │   ├── Mac68KROM
    │   ├── Mac68KROM.src
    │   │   ├── DeclData
    │   │   ├── MainCode
    │   │   ├── Romfile
    │   │   └── Rsrc
    │   │       ├── CURS_1
    │   │       ├── CURS_2
    │   │       ├── CURS_3
    │   │       ├── CURS_4
    │   │       ├── DRVR_-20175_ATALoad
    │   │       ├── DRVR_48_EDisk
    │   │       ├── DRVR_53_ATADisk
    │   │       ├── FONT_12
    │   │       ├── FONT_393
    │   │       ├── FONT_396
    │   │       ├── FONT_521
    │   │       ├── GARY_1
    │   │       ├── KCAP_1
    │   │       ├── KCAP_14
    │   │       ├── KCAP_16
    │   │       ├── KCAP_17
    │   │       ├── KCAP_198
    │   │       ├── KCAP_199
    │   │       ├── KCAP_2
    │   │       ├── KCAP_200
    │   │       ├── KCAP_204
    │   │       ├── KCAP_205
    │   │       ├── KCAP_206
    │   │       ├── KCAP_4
    │   │       ├── KCAP_5
    │   │       ├── KCHR_0_U_S
    │   │       ├── KMAP_0
    │   │       ├── KMAP_198
    │   │       ├── KMAP_199
    │   │       ├── KMAP_2
    │   │       ├── KMAP_200
    │   │       ├── KMAP_204
    │   │       ├── KMAP_205
    │   │       ├── KMAP_206
    │   │       ├── KMAP_27
    │   │       ├── PACK_4_AT2_NetBoot_NoFPU
    │   │       ├── PACK_5_AT2_NetBoot_NoFPU
    │   │       ├── PACK_7
    │   │       ├── PICT_100_DiskMode_0.pict
    │   │       ├── PICT_101_DiskMode_1.pict
    │   │       ├── PICT_102_DiskMode_2.pict
    │   │       ├── PICT_103_DiskMode_3.pict
    │   │       ├── PICT_104_DiskMode_4.pict
    │   │       ├── PICT_105_DiskMode_5.pict
    │   │       ├── PICT_106_DiskMode_6.pict
    │   │       ├── PICT_95_DiskMode_SCSI.pict
    │   │       ├── PICT_96_DiskMode_Arrow1.pict
    │   │       ├── PICT_97_DiskMode_Arrow2.pict
    │   │       ├── PICT_98_DiskMode_Arrow3.pict
    │   │       ├── PICT_99_DiskMode_Battery.pict
    │   │       ├── accl_0
    │   │       ├── accl_1
    │   │       ├── accl_2
    │   │       ├── accl_4
    │   │       ├── accl_5
    │   │       ├── accl_6
    │   │       ├── accl_7
    │   │       ├── accl_8
    │   │       ├── accl_9
    │   │       ├── cfrf_0
    │   │       ├── cicn_-20020
    │   │       ├── cicn_-20021
    │   │       ├── cicn_-20022
    │   │       ├── cicn_-20023
    │   │       ├── clut_1
    │   │       ├── clut_127
    │   │       ├── clut_2
    │   │       ├── clut_4
    │   │       ├── clut_5
    │   │       ├── clut_8
    │   │       ├── clut_9
    │   │       ├── code_-20164
    │   │       ├── dfrg_-20722_LANDisk.pef
    │   │       ├── fexp_-21140_ComponentDriverExpert.pef
    │   │       ├── fexp_-21141_GenericDriverFamilyExpert.pef
    │   │       ├── frag_-21140_FWPCIScanner.pef
    │   │       ├── frag_-21141_FWExpertRegistration.pef
    │   │       ├── frag_-21142_sbp609e_104d8.pef
    │   │       ├── gama_0_StdGamma
    │   │       ├── gcko_43
    │   │       ├── gpch_1207
    │   │       ├── ics4_-16386
    │   │       ├── ics8_-16386
    │   │       ├── ics_-16386
    │   │       ├── mitq_0
    │   │       ├── ncod_0_CodeFragmentMgr.pef
    │   │       ├── ncod_1_MixedMode.pef
    │   │       ├── ncod_2_MPLibrary.pef
    │   │       ├── ncod_50_NativeNub.pef
    │   │       ├── ncod_8_ProcessMgrSupport.pef
    │   │       ├── ndrv_-16515_BCScreen.pef
    │   │       ├── ndrv_-20164_media_bay.pef
    │   │       ├── ndrv_-20166_DefaultPCCardEnabler.pef
    │   │       ├── ndrv_-20181_pccard_ata.pef
    │   │       ├── ndrv_-20776_pciclass_0c0310.pef
    │   │       ├── ndrv_-20777_USBUnitTableStorageDriver.pef
    │   │       ├── ndrv_-20994_sbp609e_104d8.pef
    │   │       ├── ndrv_-21143_fw609e_10483.pef
    │   │       ├── nitt_43_Native_4_3.pef
    │   │       ├── nlib_-16400_NameRegistryLib.pef
    │   │       ├── nlib_-16401_DriverServicesLib.pef
    │   │       ├── nlib_-16402_DriverLoaderLib.pef
    │   │       ├── nlib_-16403_VideoServicesLib.pef
    │   │       ├── nlib_-16404_PCILib.pef
    │   │       ├── nlib_-16405_VideoServicesGlobals.pef
    │   │       ├── nlib_-16407_DSLGlobalsLib.pef
    │   │       ├── nlib_-16411_PowerMgrLib.pef
    │   │       ├── nlib_-16420_Math64Lib.pef
    │   │       ├── nlib_-20186_ATAManager.pef
    │   │       ├── nlib_-20264_CursorDevicesLib.pef
    │   │       ├── nlib_-20776_USBServicesLib.pef
    │   │       ├── nlib_-20777_USBFamilyExpertLib.pef
    │   │       ├── nlib_-20778_USBManagerLib.pef
    │   │       ├── nlib_10_StdCLib.pef
    │   │       ├── nlib_3_MPSharedGlobals.pef
    │   │       ├── nlib_5_InterfaceLib.pef
    │   │       ├── nlib_6_PrivateInterfaceLib.pef
    │   │       ├── nlib_7_BootStdCLib.pef
    │   │       ├── nlib_8_MathLibGlobals.pef
    │   │       ├── nlib_9_MathLib.pef
    │   │       ├── nsrd_1_SerialDMA
    │   │       ├── ntrb_-16400_NameRegistryTraps.pef
    │   │       ├── pixs_-10199
    │   │       ├── pixs_-10200
    │   │       ├── pixs_-10201
    │   │       ├── pixs_-10202
    │   │       ├── pixs_-10203
    │   │       ├── pixs_-10204
    │   │       ├── pixs_-10205
    │   │       ├── pixs_-10206
    │   │       ├── pixs_-10207
    │   │       ├── pixs_-10208
    │   │       ├── pixs_-14334
    │   │       ├── pixs_-14335
    │   │       ├── ppat_16
    │   │       ├── ppat_18
    │   │       ├── rovm_0
    │   │       ├── scod_-20961
    │   │       ├── scod_-20984
    │   │       ├── snd_1_Simple_Beep
    │   │       ├── usbd_-20776_USBHubDriver0.pef
    │   │       ├── usbd_-20777_USBHubDriver1.pef
    │   │       ├── usbd_-20778_USBHIDKeyboardModule.pef
    │   │       ├── usbd_-20779_USBHIDMouseModule.pef
    │   │       ├── usbd_-20780_USBCompositeDriver.pef
    │   │       ├── usbd_-20781_USBMassStorageClassDriver.pef
    │   │       ├── usbd_-20782_USBMassStorageVSDriver.pef
    │   │       ├── usbf_-20776
    │   │       ├── usbs_-20776_USBMassStorageLoader.pef
    │   │       ├── usbs_-20781_USBShimKeyboard.pef
    │   │       ├── usbs_-20782_USBShimMouse.pef
    │   │       ├── vadb_0_ISO_Cosmo
    │   │       ├── vadb_1_JIS_Cosmo
    │   │       ├── vadb_2_ANSI_Cosmo
    │   │       ├── vadb_3_ISO_Andy
    │   │       ├── vadb_4_JIS_Andy
    │   │       └── vadb_5_ANSI_Andy
    │   └── NanoKernel-v02.28
    ├── NVRAMServicesLib.pef
    ├── NativePowerMgrLib.pef
    ├── PCCard.pci104c,ac1a.cardbus.pef
    ├── PCCard.pci104c,ac50.cardbus.pef
    ├── PMULib.pef
    ├── Parcelfile
    ├── PowerMgrPlugin.CUDA.pef
    ├── PowerMgrPlugin.PMU.pef
    ├── PowerMgrPlugin.PMU2000.pef
    ├── PowerMgrPlugin.PMU99.pef
    ├── RTCServicesLib.pef
    ├── StartLib.pef
    ├── TimeManagerLib.pef
    ├── UniNorth_PCICyclesLib.pef
    ├── apple21143.network.pef
    ├── bmac+.network.pef
    ├── cmd646-ata.pef
    ├── cofb.display.pef
    ├── gmac.network.pef
    ├── heathrow-ata.pef
    ├── kauai-ata.pef
    ├── keylargo-ata.pef
    ├── keywest-i2c.pef
    ├── mac-io.nvram.pef
    ├── nvram,flash.pef
    ├── pci104c,ac1a.cardbus.pef
    ├── pciclass,0c0010.ieee1394.pef
    ├── uni-n-i2c.pef
    ├── via-cuda.rtc.pef
    ├── via-pmu.nvram.pef
    └── via-pmu.rtc.pef

Lastly, the online help for the ataboot.py patch (all tbxi-patches have the same simple command-line interface):
Code: [Select]
$ tbxi-patches/ataboot.py -h
usage: ataboot.py [-h] [-o DEST] SRC

Support ATA startup disks without an Apple_Driver_ATA partition. This allows
Mac OS to be installed on a disk without repartitioning it. Accomplished by
shoehorning the Drive Setup 2.1 ATA driver into the ROM ATALoad driver, to
replace missing driver partitions.

positional arguments:
  SRC         ROM or dump directory

optional arguments:
  -h, --help  show this help message and exit
  -o DEST     optional destination path -- "file" or "directory/"
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: macStuff on August 31, 2019, 10:44:08 PM
files less than 60MB can simply be attached to any forum post;
so feel free to publish the "kit" yourself + post
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: IIO on September 01, 2019, 04:47:33 PM
great, thanks. will take a while until i´ll try, but then i will give you some feedback how it looks from an amateur perspective.
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: Jubadub on May 14, 2020, 03:44:39 AM
How feasible would it be to port the scripts to MacPython 2.3.5 (http://ftp.cwi.nl/jack/python/mac/preproduction/MacPython235full.bin), for Mac OS 9? ;)
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: Jubadub on May 17, 2020, 03:54:40 AM
On a side-note, since this patch was used for the Mac mini ROM in v9 to boot without OS 9 drivers pre-installed, and the mini (at least 1.5GHz) can boot from GPT-formatted drives, and GPT allows for drives of capacity beyond 2TB to be used, I tried combining all of these together.

Unsurprisingly, I got the floppy with the blinking question mark icon. :P It was still fun to try it out, though, just in case.

(Note: I used a 30GB HDD for this test, so the problem wasn't going past 2TB.)
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: IIO on May 17, 2020, 05:15:58 AM
so you suggest to make OS9 bootable from GUID? :)

then i think step 1 would be to come around the size limits of OSX, which also only supports 2, 3, 4, or 8 TB of adress space, GUID or not. :P
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: teroyk on May 17, 2020, 08:52:11 AM
Should somebody check what Lacie Silverlining Pro 6.5.8 do, when you choose install OS 9 drivers, it seems that it install it's own drivers that are loaded before OS 9 really boots.
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: vad12 on July 03, 2022, 12:36:07 PM
Hi, I tried ataboot.py on my Mac OS ROM for OS 9.2.2 on my Sawtooth. I think this hard drive with Mac OS 9 has a corrupted Apple_Driver partitions setup, so I figured I'd give this a shot. The patch seems to apply correctly. I still got the flashing '?' folder icon when I tried booting into Mac OS 9, though.

I know the ROM itself shouldn't be corrupted because I have the exact same copy on the original cloned hard drive, and that copy of Mac OS 9 does boot the usual way (with the Apple Drivers partitions). The partition maps between both drives are very different now though, with just the Mac OS 9 not booting on the current "problem" drive. Mac OS 9 did boot on this drive when originally cloned, though.

My particular problem might end up in its own forum topic, but I was wondering if anyone has gotten this patch to work on any other machine than the Mac Mini?

Also, when I tested, I did have both drives connected at the same time. Does this patch require the hard drive to be the 1st or the only connected drive?

Thanks!
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: zefrenchtoon on July 04, 2022, 11:42:38 PM
Fun to see ELN cited in this blog post:

http://oldvcr.blogspot.com/2022/07/a-brief-dive-into-power-mac-inits-and.html

 -afro-
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: Metrophage on September 21, 2022, 05:32:21 PM
Brilliant! Thanks for doing this. I've often wondered what that driver was supposedly for and if there was a way around it.

When I got v9 of Ross' CD this was what jumped out at me most.
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: IIO on September 21, 2022, 10:34:11 PM
they day they included the HD driver right in the ROM file was when 37 new synapse were formed in my brain.
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: vaccinemedia on January 31, 2024, 05:18:44 PM
@ELN any chance of a quick demo video on using this please? I’m about to do a clean install of a partitioned drive without os9 drivers and hoping to use it from Tiger to make it bootable but don’t see clearly what I’m supposed to do. Fingers crossed I’m going to just wing it but if you could give an example command that would be great. I’m assuming that from tiger I just run I and have the single argument of the os9 boot rom location but we all know what assuming makes ;)
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: vaccinemedia on January 31, 2024, 06:57:37 PM
I ran python ataboot.py -h and got:
File “ataboot.py’, line 29
If code[i:1+2] == b’ER’:
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: vaccinemedia on January 31, 2024, 08:33:14 PM
I can see I need pip but how can I install pip on os 10.4 or 10.5?
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: vaccinemedia on January 31, 2024, 09:22:59 PM
Ok so I installed python 3 as per the installer from the python website and used pip to install the required tbxi module. Ran the python command on the os9 Mac OS Rom file and now the os9 install does not show when holding down the alt key on powering on the Mac
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: IIO on February 01, 2024, 04:20:11 AM
glad you got it working. maybe now you can write down a quick tutorial for noobs? :)
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: vaccinemedia on February 01, 2024, 06:12:48 AM
Will do! I just need to figure out how to get the disk to show up when holding down the alt key during power on after applying the patch  :)
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: IIO on February 01, 2024, 07:18:47 AM
normally removing the finder or ROM file from a systemfolder and replacing it with another copy should not unbless the systemfolder. but otoh it is hard to imagine that it could be something else.

did you try yet to use the startup controlpanel in OSX instead of the bootmanager?
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: vaccinemedia on February 01, 2024, 07:33:03 AM
Thanks for the reply :) I've just had a look at the startup folder prefs pane and it's not showing up in the list (there's tiger, sorbet and grub showing). Looking at the ROM file it looks generic and does not have the mac computer icon like the copy I made of it (see attached screen grab). I used the ataboot.py in 10.5 Sorbet Leopard after installing Python 3 from the installer on the Python.org website which comes with PIP bundled with it. I couldn't get pip to work on Tiger because the latest python you can get is 3.2 which I couldn't get pip to install onto.
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: IIO on February 01, 2024, 09:46:29 AM
oh ok when the ROM already does not have the correct icon (while in the system folder), then @ELN is your adress.
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: joevt on February 01, 2024, 02:16:07 PM
Does the rom file have the correct file type?

Code: (bash) [Select]
getfileinfo /Volumes/Classic/System\ Folder/Mac\ OS\ ROM
file: "/Volumes/Classic/System Folder/Mac OS ROM"
type: "tbxi"
creator: "chrp"
attributes: avBStclInmedz
created: 04/03/2003 12:00:00
modified: 04/03/2003 12:00:00

xattr -l /Volumes/Classic/System\ Folder/Mac\ OS\ ROM
com.apple.FinderInfo: tbxichrp1

bless --info /Volumes/Classic
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: IIO on February 01, 2024, 11:08:00 PM
or what about the version? wasnt the tbxi project for 9.6.1 only? so that it maybe causes havoc with a 10.x versioned system?
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: vaccinemedia on February 06, 2024, 11:53:06 AM
I'm afraid there's no version and I can only run the info from the finder, not the commandline version as it only comes with commandline tools installed. I may see if I can find where to get that from for Sorbet leopard though as it will probably come in handy at some other point in time. It appears as a blank sort of "file" of no description with no creator or version. I'm going to try extracting it all to a folder, then running the patch on the folder and then recreating the file that way as running the patch on the existing ROM creates a file 1MB smaller then the original too. BTW if this matters I'm trying to patch the ROM file which comes with the OS9Lives for Previously Unsupported Hardware and not the one for the Mac Mini
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: vaccinemedia on February 06, 2024, 03:56:32 PM
@joevt I tried getfileinfo but got command not found in Tiger. I'm attaching the info from OS9 for the file which just shows as a "document" even after trying to "bless" it. I did manage to install Python3 though on Tiger using Tigerbrew as per the instructions here: https://github.com/mistydemeo/tigerbrew to patch the ROM file using Tiger instead of Leopard so if anyone wants to know how to install Python3 on Tiger please follow the instructions in the link!
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: joevt on February 06, 2024, 06:33:52 PM
@joevt I tried getfileinfo but got command not found in Tiger. I'm attaching the info from OS9 for the file which just shows as a "document" even after trying to "bless" it. I did manage to install Python3 though on Tiger using Tigerbrew as per the instructions here: https://github.com/mistydemeo/tigerbrew to patch the ROM file using Tiger instead of Leopard so if anyone wants to know how to install Python3 on Tiger please follow the instructions in the link!
In early macOS (Jaguar, Panther, Tiger), the command is at /Developer/Tools/GetFileInfo but you need to install Xcode or developer tools.

MPW also has a GetFileInfo command (for classic Mac OS).

There are other apps that can get and set file type and creator such as ResEdit, Resorcerer, etc which may work in Mac OS 9.

In Mac OS 9, I had an extension or something that adds type and creator to the Get Info window in the Finder. I forget the name.
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: vaccinemedia on February 08, 2024, 09:59:51 AM
ResEdit! Now THAT takes me back! Good times :) I'll grab a copy of that and the other apps you mentioned and hope that it's just the resource filetype that's the issue. I did notice that the machine booted no problem when I had OS9 drivers installed and had made a copy of the rom so it was "Mac OS ROM copy" and the patched one was called "Mac OS ROM". I then removed the copy and it failed to boot. So this tells me that the filename of the ROM doesn't matter perhaps? And it simply needs to be of the correct file type / show the correct version in the finder with the correct icon showing?
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: IIO on February 08, 2024, 10:33:24 AM
dont know offhand for the ROM, but both methods exist in OS9 (name counts, type counts), for some other things it does not matter at all.

strange enough (and offtopic here): INITs (such as a midi driver or the mouse control panel) will properly load from anywhere inside the systemfolder´s top level.
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: ssp3 on February 08, 2024, 03:43:51 PM
In Mac OS 9, I had an extension or something that adds type and creator to the Get Info window in the Finder. I forget the name.

Snitch. It's a Control Panel. Been using it since OS7 days.
For OSX there's this: http://www.frederikseiffert.de/filetype/
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: joevt on February 08, 2024, 06:01:36 PM
Yes, Snitch. I have a 1.0.1 installer from 1996 on my hackintosh here. And 2.6.5 and 2.6.7 and a 2.6.6 updater.
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: vaccinemedia on February 10, 2024, 06:09:49 AM
Before I go down this rabbit hole even further (he says whilst patching the ROM again) has anyone here ever done this and it worked? I'm trying to install a bunch of operating systems on a PowerBook G4 5,4 for tinkering purposes and having a play around with them out of interest. In total there's: OS9, 10.4,10.5 (Sorbet), MorphOS because I used to own an Amiga, Debian 12 (because it's brand new for PPC), Adelie (because of watching Action Retro's videos), Lubuntu Remix (because it may be the best linux a PPC mac can get) and OpenBSD (because of Action Retro again and also because BSD is the subsystem of OSX).

IF I start from OS9Lives (for previously unsupported G4's http://macos9lives.com/smforum/index.php/topic,2143.0.html) and create 5 partitions I can get OS9 on partition 1, then 10.4, 10.5 but as soon as I install MorphOS it breaks the partition table and I can't install the others. IF I skip MorphOS I can install all the rest including OpenBSD. But then installing MorphOS at the end still messes up the partition table.

IF I start with Tiger and partition using that, installing MorphOS doesn't break anything, I am able to install the others but then OS9 can't boot. Which is what brought me to this thread :)

So what I'm currently doing to save time is keep everything simple and simply concentrate on getting OS9 to boot without drivers. I've used the Tiger installer to create a couple of partitions, one for 9 and one for 10.4. I can use Disk Utility to restore" the OS9Lives CD image to the first partition. When holding the alt key during power on I am able to see both systems on the early boot selector. Clicking on OS9 boots but has the floppy disk with the question mark on it.

Using Tiger Brew (https://github.com/mistydemeo/tigerbrew) i am able to patch the Mac OS ROM file using ataboot.py but then OS9 no longer shows when holding down the alt key during power on. I have tried blessing the system folder but that didn't work although I am unfamiliar with the bless command. At this point the rom file just shows up as a "document file" on Tiger so I have used Filetype (http://www.frederikseiffert.de/filetype/) to change the creator and type and it changes the icon to the ROM icon. But the OS9 still does not show when holding down the alt key.

That's where I'm at currently. So has anyone ever got this to work? Is it because I'm patching an already patched OS9Lives ROM which is "version 10.x"? If anyone has managed to get this one working OR knows where I can download a working ROM for a G4 which does not need to have OS9 drivers installed on the drive that would be amazing.
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: vaccinemedia on February 10, 2024, 09:54:03 AM
OK so after further tinkering I can see that I can get the OS9 system to show when holding down the alt key again if I use Suer ResEdit (https://macintoshgarden.org/apps/super-resedit-213) and load the ROM file from the OS9Lived installation (after making a backup of it after installing OS9) and copy and paste the resources to the ROM file generated by running ataboot.py and then also copying the getinfo data such as the file type and creator and clicking on the same checkboxes from the original ROM too and saving. This now brings me back to a situation where booting from the OS9 disk shows the floppy with the question mark.

I know now that the .hqx method of patching i.e. the one which generates a single file is not a proper ROM file and so I have stopped using this method of patching. I thought this was the correct method as it only generates a single file and not the 3 files which are generated by running ataboot.py without any further parameters.

I'm also assuming that copying and pasting the resources from the original OS9Lives ROM is basically overriding the patches which were applied by ataboot.py

I have learned through further research that the .idump and .rdump files created are the resources and the info data for the ROM.

So my question now is how do I create a bootable ROM file from these three individual files?
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: vaccinemedia on February 10, 2024, 11:16:27 AM
Quick update - I may be wrong so please correct me f I'm doing this incorrectly but I did some further digging and found that I can run the command "SimpleRez" to import the .rdump into the ROM file (https://github.com/elliotnunn/macresources) which possibly comes installed with tbxi as I already had it installed.

I ran: simplerez [path to .rdump file] -o [path to ROM file]/..namedfork/rsrc

And this appeared to import the resources. I then opened the file with Super ResEdit and the resources were indeed in there but the info had to be edited which I did and copied exactly what was on the info for the original MacOS9Lives G4 ROM.

This then showed the OS9 drive when holding the alt key down and when it booted for the briefest of milliseconds I saw a happy Mac face but then the dreaded floppy with a question mark on it showed and no further booting happened.
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: vaccinemedia on February 11, 2024, 11:31:06 AM
Should somebody check what Lacie Silverlining Pro 6.5.8 do, when you choose install OS 9 drivers, it seems that it install it's own drivers that are loaded before OS 9 really boots.

So this was a very good question! I just tried this by doing the following:

Use the Tiger install CD to wipe the drive and create two partitions for OS9 and 10.4
Install 10.4 Tiger
Use disk utility to restore OS9Lives for previously unsupported hardware to the other partition
Reboot using the OS9Lives CD
Use a USB stick with Lacie Silverlining to mount the drive and install Lacie drivers
Reboot
Hold down the alt key and select the OS9 partition / system

The system will not boot though. Please see the photo of the screen showing Silverlining on the bottom right hand corner having loaded but still having the floppy disk icon with the question mark on it.
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: vaccinemedia on February 11, 2024, 12:34:31 PM
Further to my previous post, given a clean system with Silverllining Drivers installed I installed python3 on Tiger using TigerBrew and then patched the ROM using ataboot.py and imported the resources using simplerez and changed the filetype and creator using FileType and rebooted while holding down the alt key and selected the OS9ives partition and got the dreaded floppy disk with the question mark on. So as far as I can conclude, the ataboot.py script does not make a bootable OS9 partition when patching the OS Boot ROM provided by the "previously unsupported G4" installation found here: http://macos9lives.com/smforum/index.php/topic,2143.0.html
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: caver01 on March 26, 2024, 08:11:42 PM
Reading the play-by-play here (which I know has played out over a long period but is now very relevant for me!). I am VERY interested in the progress you are making, though it does seem to have hit a wall.

My situation is a catch-22 with a 1GHz G4 eMac:

This is the SECOND iteration of the 1GHz eMac, so it technically was never a native OS 9 booting machine.

I am stuck because:
1. Trying to setup a big drive with multiple partitions (500GB, and I will be happy with 4 partitions)
2. Want dual-boot 10.4 and OS9
3. If I partition with OS9Lives CD, Disk Setup can only see like 130GB, but it DOES install OS 9 Drivers of course, and once installed OS9 boots fine, shows up holding ALT key etc.
4. Getting OSX setup in additional large partitions is problematic because: Disk Utility CAN partition the whole drive the way I want, BUT
It does NOT give me the option to install OS9 drivers. This is so frustrating because you see that advice all over the internet, “just make sure ‘Install OS 9 Drivers’ option is checked.” Well, the option does not even exist, so I am screwed. I end up with the right partitions, but without the drivers, so. . . OS9 is not going to boot once I put it on a partition.

It seems like my desire is identical to your recent simplified attempts: 10.4 Tiger plus OS 9 on separate partitions without the OS9 Drivers, only I have a G4 eMac.

Maybe I am just not aware of some utility that will let me partition 500GB and install the drivers. I am fine with that, but so far, the only way I can get them is partitioning with OS 9, and then I cannot see the whole drive to partition it.

If there is anything I can try, or you have a shared ROM file you’d like me to drop in, I could. I am not up to speed with the ROM file patching steps above, but I think I was following along OK.
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: caver01 on March 26, 2024, 10:59:36 PM
@vaccinemedia I was re-reading your update posts and wondered about the .hqx method you abandoned. Were you at one point getting an output patched ROM file with a .hqx extension?? And if so, what about then converting it to Mac binary format again (un-binhex the file). Shouldn't that result in a single, properly written ROM file?
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: vaccinemedia on March 27, 2024, 02:43:40 PM
@vaccinemedia I was re-reading your update posts and wondered about the .hqx method you abandoned. Were you at one point getting an output patched ROM file with a .hqx extension?? And if so, what about then converting it to Mac binary format again (un-binhex the file). Shouldn't that result in a single, properly written ROM file?

Aaaaaahhhhhh! It's been a while since I used OS9 back in the day. I never recognised the .hqx extension so I never thought about using Stuffit Expander to expand the ROM. Instead I spent way too many hours with the separate files using ResEdit trying to make a full ROM again. Yes I'm assuming what you are suggesting may well work! The thing is... I abandoned the idea and instead decided to leave MorphOS out of the equation. The goal was to have as many operating systems on a brand new 128GB SSD using an IDE to M.2 adapter. Each additional OS install was removing the OS9 Drivers so I left that bit til last and left out MorphOS which was not playing nice with the multiboot setup at all.

I ended up with: OS9 / OS 10.4 (with classic) / OS 10.5 / Debian 12 / Adelie Linux / Lubuntu 16 Remix / OpenBSD 7.4

******** BTW! ********
I nearly forgot! You CAN partition a HD with OS9 drivers installed using a Tiger install CD using the terminal using a command like this:
diskutil partitonDisk /dev/disk0 OS9Drivers HFS+ macos9 35G JHFS+ macosx 35G

The above partitions the first HD with 2x 35GB partitions and installs OS9 drivers
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: caver01 on March 28, 2024, 08:08:26 AM
Thanks for the command line example. The more techniques we have the better. I do hope someone might be able to push this "driverless" possibility a little further though, but it won't be me. . . I was able to solve my driver dilemma by starting with MacOS9Lives boot CD, only instead of using the Drive Setup that auto-launches, closing that and mounting the disk image .img file used for the restore. . . that image contains a newer version of Drive Setup in the Utilities folder--one that can see and partition larger drives. That worked for me.

I know have a dual boot OS9 and OSX Tiger, though I do have 4 partitions and was considering trying out Sorbet Leopard.
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: vaccinemedia on March 28, 2024, 08:17:28 AM
Glad you got it working! And I never knew there was a better version of Drive Setup on the disk image so that's something to remember :) I'm just downloading a copy of Tiger which I'm hoping will work with UTM, the emulator for M1 / M2 etc which is basically a nice front end for Q-EMU. My tiger .dmg will not work but I discovered a .toast version which is said to work. My aim is to emulate things for testing on my M1 MacBook as I don't want to open up my PowerBookG4 again just to insert a blank M2 SSD for testing purposes and so if I can emulate things that's the way to go.

My aim is when it has finished downloading from the Internet Archive (which takes forever) it will let me have a hard disk image which can be partitioned. If so I'm going to use the Tiger CD to partition it with 2 partitions - one for OS9 and one for Tiger - much like you were attempting to do. Then after installing Tiger I'm going to install OS9.2.2 and hopefully get to see a flashing disk with a question mark on it. Then I'll use Tiger to patch the ROM on the OS9 drive as .hqx and use Stuffit expander to expand the new patched ROM and see if OS9 will then boot :)
Title: Re: Boot without the "Mac OS 9 Drivers"
Post by: vaccinemedia on March 28, 2024, 09:22:37 AM
OK - I've just found out that UTM on the Mac does not allow you to boot from a drive with multiple partitions or at least I can't figure it out. I created a G4 Mac99 machine, booted the Tiger DVD and used disk utility to create two partitions: 1 2GB for OS9 and the rest for Tiger. Tiger installed at about the same speed as my PowerBookG4 which was nice. But on reboot it fails at the OpenBIOS stage. It looks like it's because OpenBIOS is expecting only one partition so it tries to boot from disk:,\\:tbxi and not disk:2,\\:tbxi which Tiger is installed on. I'm assuming it's disk:2 anyway as I can't remember if partitions start from 0 or 1 ;)

I'd issue the boot command to boot from the Tiger partition but UTM OpenBIOS is not allowing my to type at all. So I'm currently looking to see if UTM actually supports HardDrive files which have more than one partition. I may try with two separate disk images and make sure the OS9 one is formatted by Tiger WITHOUT the OS9 drivers.....