DiscoStarslayer
@disco.camp
🇨🇦 Reverse engineering games software and hardware for preservation and repair.
Git: http://github.com/DiscoStarslayer
Blog: http://blog.dtho.mp
Git: http://github.com/DiscoStarslayer
Blog: http://blog.dtho.mp
Stay tuned as now the real work begins. In the mean time, if anyone is sitting on Konami Python games please reach out, thanks to hard work from @el-isra-ps2dev.bsky.social it's easy and cheap to get proper dumps of this hardware now and we are seriously lacking in archived data.
November 11, 2025 at 6:52 PM
Stay tuned as now the real work begins. In the mean time, if anyone is sitting on Konami Python games please reach out, thanks to hard work from @el-isra-ps2dev.bsky.social it's easy and cheap to get proper dumps of this hardware now and we are seriously lacking in archived data.
96 straight hours of compiling later, I finally have a modern kernel on this thing with a usable OS 9 dualboot with Linux, and oh boy is it magical
The full dump log of this system booting is a treasure trove of data that will help me emulate this platform inside PCSX2, I finally have all the pieces
The full dump log of this system booting is a treasure trove of data that will help me emulate this platform inside PCSX2, I finally have all the pieces
November 11, 2025 at 6:52 PM
96 straight hours of compiling later, I finally have a modern kernel on this thing with a usable OS 9 dualboot with Linux, and oh boy is it magical
The full dump log of this system booting is a treasure trove of data that will help me emulate this platform inside PCSX2, I finally have all the pieces
The full dump log of this system booting is a treasure trove of data that will help me emulate this platform inside PCSX2, I finally have all the pieces
Performing the most cursed software dance of my entire life, I re-install OS 9 for the 10th time, I pop in my Debian 8 install disk, I load up the recovery busybox instance and begin a gentoo setup in a chroot. I use gentoo's version of mac-fdisk which can setup my partitions without corrupting OS9
November 11, 2025 at 6:52 PM
Performing the most cursed software dance of my entire life, I re-install OS 9 for the 10th time, I pop in my Debian 8 install disk, I load up the recovery busybox instance and begin a gentoo setup in a chroot. I use gentoo's version of mac-fdisk which can setup my partitions without corrupting OS9
Compiling packages will suck at 350MHz, but I just need to boot into a dhcp'ed network and the nosy system module, so even if I have to compile things it should be not too bad? It's also easy to setup from a chroot which is great because the Gentoo live CD also uses grub and I can't boot into it.
November 11, 2025 at 6:52 PM
Compiling packages will suck at 350MHz, but I just need to boot into a dhcp'ed network and the nosy system module, so even if I have to compile things it should be not too bad? It's also easy to setup from a chroot which is great because the Gentoo live CD also uses grub and I can't boot into it.
So what can I do? In my search of modern distros that still support PPC I stumbled upon a beast that I haven't touched in decades, Gentoo. Gentoo has the promise of binpkg now, it can be customized to be extremely lightweight, and officially supports PPC as an architecture.
November 11, 2025 at 6:52 PM
So what can I do? In my search of modern distros that still support PPC I stumbled upon a beast that I haven't touched in decades, Gentoo. Gentoo has the promise of binpkg now, it can be customized to be extremely lightweight, and officially supports PPC as an architecture.
Perplexingly, OSX doesn't think this, and I could get OSX and Debian dual booting just fine. Firebug does run on OS X, however my poor 350MHz G3 is not happy with the overhead from OS X and firebug drops packets and can't keep up.
November 11, 2025 at 6:52 PM
Perplexingly, OSX doesn't think this, and I could get OSX and Debian dual booting just fine. Firebug does run on OS X, however my poor 350MHz G3 is not happy with the overhead from OS X and firebug drops packets and can't keep up.
Any time the Debian 8 install touches a partition on the hdd, the disk becomes uninitialized from the perspective of Mac OS9. I've tried many things to work around this but I just couldn't make it work. OS 9 boots but can't see itself because it thinks the drive it just booted from is uninitialized
November 11, 2025 at 6:52 PM
Any time the Debian 8 install touches a partition on the hdd, the disk becomes uninitialized from the perspective of Mac OS9. I've tried many things to work around this but I just couldn't make it work. OS 9 boots but can't see itself because it thinks the drive it just booted from is uninitialized
No, nothing with this machine is easy. 'Nosy' is great for dumping, but it's feature light. There are some features of firebug, particularly the phydump command that still are useful. So I need a dual boot setup to quickly jump between these tools.
November 11, 2025 at 6:52 PM
No, nothing with this machine is easy. 'Nosy' is great for dumping, but it's feature light. There are some features of firebug, particularly the phydump command that still are useful. So I need a dual boot setup to quickly jump between these tools.
So, lets try a older release, the last officially supported PPC release of Debian 8 'Jessie' from 2015. That install CD boots with yaboot and wow! It boots! And wow, it installs! So we're all done, right?
November 11, 2025 at 6:52 PM
So, lets try a older release, the last officially supported PPC release of Debian 8 'Jessie' from 2015. That install CD boots with yaboot and wow! It boots! And wow, it installs! So we're all done, right?
Ok, got a hdd that plays nice, linux time?
No.
Back in the day, yaboot was used as the first stage loader for "New World" mac's. Yaboot isn't maintained anymore, so grub added OF support. No good, and trust me I have a stack of coasters to show for it, I could not get grub to boot off the cd
No.
Back in the day, yaboot was used as the first stage loader for "New World" mac's. Yaboot isn't maintained anymore, so grub added OF support. No good, and trust me I have a stack of coasters to show for it, I could not get grub to boot off the cd
November 11, 2025 at 6:52 PM
Ok, got a hdd that plays nice, linux time?
No.
Back in the day, yaboot was used as the first stage loader for "New World" mac's. Yaboot isn't maintained anymore, so grub added OF support. No good, and trust me I have a stack of coasters to show for it, I could not get grub to boot off the cd
No.
Back in the day, yaboot was used as the first stage loader for "New World" mac's. Yaboot isn't maintained anymore, so grub added OF support. No good, and trust me I have a stack of coasters to show for it, I could not get grub to boot off the cd
Ok, maybe I can put the disk drive on the temperamental UDMA IDE controller and put HDD on the MWDMA controller shared with the CD? Nope, sorry, can only boot of one device, and the UDMA controller can't boot off ATAPI so you can't put the optical drive on the UDMA bus either.
November 11, 2025 at 6:39 PM
Ok, maybe I can put the disk drive on the temperamental UDMA IDE controller and put HDD on the MWDMA controller shared with the CD? Nope, sorry, can only boot of one device, and the UDMA controller can't boot off ATAPI so you can't put the optical drive on the UDMA bus either.
Have two hdd's installed for dual booting? Well first off, don't, the IDE controller will only become even angrier, but also you can't boot off the second drive, the firmware will refuse
November 11, 2025 at 6:39 PM
Have two hdd's installed for dual booting? Well first off, don't, the IDE controller will only become even angrier, but also you can't boot off the second drive, the firmware will refuse
I have the very first B&W G3, and it has "character". The IDE controller on it is temperamental and likes to corrupt data. The ROM is running the very first Open Firmware release from apple, 3.1.1. This OF refuses to boot off anything except for the primary device on the IDE bus.
November 11, 2025 at 6:39 PM
I have the very first B&W G3, and it has "character". The IDE controller on it is temperamental and likes to corrupt data. The ROM is running the very first Open Firmware release from apple, 3.1.1. This OF refuses to boot off anything except for the primary device on the IDE bus.
Linux has a kernel module called 'nosy' that essentially behaves exactly the same, is open source and extendable, and can log data indefinitely in a nicely compressed format that is ram and cpu friendly. Perfect, so I'll just install Linux on this G3 and I'll be on my way!
November 11, 2025 at 6:39 PM
Linux has a kernel module called 'nosy' that essentially behaves exactly the same, is open source and extendable, and can log data indefinitely in a nicely compressed format that is ram and cpu friendly. Perfect, so I'll just install Linux on this G3 and I'll be on my way!
Firebug is nice, but it has it's limitations. It's closed source so you can't really extend it, and it's made for Mac OS8, the memory constraints means it keeps a very short log which makes capturing data tricky.
November 11, 2025 at 6:39 PM
Firebug is nice, but it has it's limitations. It's closed source so you can't really extend it, and it's made for Mac OS8, the memory constraints means it keeps a very short log which makes capturing data tricky.
These computers are a bit of a collectors item, but because of that, people regularly list them for sale and you can get a beat-up one easier and cheaper than a Lynx PCI card in 2025.
November 11, 2025 at 6:39 PM
These computers are a bit of a collectors item, but because of that, people regularly list them for sale and you can get a beat-up one easier and cheaper than a Lynx PCI card in 2025.
But, there is one popular computer that has a PCI-Lynx card standard. The Power Macintosh G3 'Blue and White'. Every one of them shipped with a Lynx card, and the Macintosh SDK even includes a firewire debugging tool called FireBug that takes advantage of the PCI-Lynx quirks.
November 11, 2025 at 6:39 PM
But, there is one popular computer that has a PCI-Lynx card standard. The Power Macintosh G3 'Blue and White'. Every one of them shipped with a Lynx card, and the Macintosh SDK even includes a firewire debugging tool called FireBug that takes advantage of the PCI-Lynx quirks.
There's just one wrinkle, PCI-Lynx cards have been out of production since 2013. They rarely show up on ebay, a lack of OHCI means they don't work on modern systems, and TI quickly changed out PCI-Lynx for OHCI compatible units so the product pool is small. Essentially unobtanium right now.
November 11, 2025 at 6:39 PM
There's just one wrinkle, PCI-Lynx cards have been out of production since 2013. They rarely show up on ebay, a lack of OHCI means they don't work on modern systems, and TI quickly changed out PCI-Lynx for OHCI compatible units so the product pool is small. Essentially unobtanium right now.
PCI-Lynx says screw that, and happily captures packets not destined to it, and then can skip ack'ing them. This lets the PCI-Lynx controller basically behave like a firewire repeater, while simultaneously dumping every packet of data on the bus, a perfect tool to make this project possible.
November 11, 2025 at 6:39 PM
PCI-Lynx says screw that, and happily captures packets not destined to it, and then can skip ack'ing them. This lets the PCI-Lynx controller basically behave like a firewire repeater, while simultaneously dumping every packet of data on the bus, a perfect tool to make this project possible.
This controller was used in their eval boards and can behave outside FireWire spec. Isosyncronous packets on the firewire bus are broadcast, every device has visibility to it. Asyncronous packets however are targeted to one node in the chain. OHCI requires controllers to ignore other async packets
November 11, 2025 at 6:39 PM
This controller was used in their eval boards and can behave outside FireWire spec. Isosyncronous packets on the firewire bus are broadcast, every device has visibility to it. Asyncronous packets however are targeted to one node in the chain. OHCI requires controllers to ignore other async packets
There is an alternate solution. In the early days of FireWire, before controllers were integrated into OHCI, every vendor had their own implementation and drivers. One vendor in particular, Texas Instruments, made a FireWire controller for PCI called PCI-Lynx.
November 11, 2025 at 6:39 PM
There is an alternate solution. In the early days of FireWire, before controllers were integrated into OHCI, every vendor had their own implementation and drivers. One vendor in particular, Texas Instruments, made a FireWire controller for PCI called PCI-Lynx.
The solution is finding a FireWire analyzer, but obviously those are pretty niche, and getting a used one is a risky dance of software support and reliability, not to mention expensive.
November 11, 2025 at 6:39 PM
The solution is finding a FireWire analyzer, but obviously those are pretty niche, and getting a used one is a risky dance of software support and reliability, not to mention expensive.
The PS2 only operates the IO board at S100, but even a 100mbps signal needs at least a 400MHz LA. The bus also relies on High-Z states and the data lines are using differential signaling. I kinda got something working but it would take ages to get to the point where it could actively help.
November 11, 2025 at 6:39 PM
The PS2 only operates the IO board at S100, but even a 100mbps signal needs at least a 400MHz LA. The bus also relies on High-Z states and the data lines are using differential signaling. I kinda got something working but it would take ages to get to the point where it could actively help.
All of this leans into why I've spent the last 3 weeks trying to tame this old Power Macintosh G3.
November 11, 2025 at 6:39 PM
All of this leans into why I've spent the last 3 weeks trying to tame this old Power Macintosh G3.