Bounty G3 Beige Floppy support

About Qemu-system-ppc, a PPC Mac emulator for Windows, macOS and Linux that can run Mac OS 9.0 up to Mac OS X 10.5

Moderators: Cat_7, Ronald P. Regensburg

Post Reply
darthnvader
Mac Mechanic
Posts: 178
Joined: Sun Feb 07, 2016 4:40 pm

Bounty G3 Beige Floppy support

Post by darthnvader »

Thanks to some fine works by a few Mac emulator fanatics, we can now boot v3 of the Beige G3 ROM in Qemu.

The trouble becomes we are not emulating any block devices well enough to attach any disk images to.

So I figured I'd offer a small bounty to see if some bright programer would implement floppy support well enough for us to load files from in some or most of the formats that Open Firmware 2.4 can read from floppies.

$200 paid in PayPal, Bitcoin, US Postal MO, US Silver Eagles, maybe something else if it's easy enough for me to do.

May as well make a dollar or two while you're waiting on better AppleSOC Mac's, and we really can't go to the pub;-)
darthnvader
Mac Mechanic
Posts: 178
Joined: Sun Feb 07, 2016 4:40 pm

Re: Bounty G3 Beige Floppy support

Post by darthnvader »

If someone wants to get started on this, I captured the state of the code in a tar.gz, and it should build just fine in most modern versions of the macOS.

Trouble is we don't have a PPC GDB to work with in the macOS anymore and I'm having trouble building one, however, you can switch the Endian of GDB to big and set breakpoints to manipulate data.

1. Download Xcode and install homebrew with all the needed things to build qemu on the macOS.
2. Download the pre-patched screamer branch and extract it: https://drive.google.com/file/d/1iHKcFR ... sp=sharing
3. cd screamer/qemu && mkdir build && cd build
4. ../configure --target-list=ppc-softmmu
5. make -j16

Now you can just run ./qemu-system-ppc from the build dir if you don't want to install a branch on your system that may break other things;-)

Here is my command:

Code: Select all

./qemu-system-ppc -S -s -bios /Users/jam/Downloads/MacROMan-master/TestImages/4MB\ ROMs/1997-11\ -\ 78F57389\ -\ Power\ Mac\ G3\ \(v3\).ROM -vga none -device ati-vga,addr=0x12,romfile=/Users/jam/Downloads/ati_oem_rage128pro_110_agp_full/ati_oem_rage128pro_110_agp_full.rom   -serial mon:stdio -singlestep  -trace enable="pci*" -trace enable="i2c*" -trace enable="cuda*" -trace enable="ati*" -trace enable="heathrow*"
You'll need v3 of the Beige G3 ROM, and v110 of the ATI Rage128 ROM:

https://www.macintoshrepository.org/703 ... s-68k-ppc-

http://campahunta.free.fr/Downloads/ROM ... p_full.zip

Also you need to install gdb, something like brew install gdb;-)

https://dev.to/jasonelwood/setup-gdb-on ... -2020-489k

The -S -s pauses qemu and waits for the debugger, so in a new terminal tab:

Code: Select all

target remote :1234
set endian big
break *0xff8186a8
c
Next, when you get to the breakpoint in GDB:

Code: Select all

set $r20=1
d
y
c
Enjoy Open Firmware 2.4, you can switch to the serial connection with:

Code: Select all

ttya io
That way most of the keys, like the shift key will work for you.

Enjoy! and happy hacking.
darthnvader
Mac Mechanic
Posts: 178
Joined: Sun Feb 07, 2016 4:40 pm

Re: Bounty G3 Beige Floppy support

Post by darthnvader »

Some info: * Driver for the SWIM3 (Super Woz Integrated Machine 3)

https://github.com/intel/idxd-driver/bl ... ck/swim3.c
darthnvader
Mac Mechanic
Posts: 178
Joined: Sun Feb 07, 2016 4:40 pm

Re: Bounty G3 Beige Floppy support

Post by darthnvader »

Some further reading on troubles I don't really understand, but someone may luck along and know what it means.

https://lists.nongnu.org/archive/html/q ... 00290.html
Post Reply