VOGONS


DingusPPC - Mac Emulator In Progress

Topic actions

Reply 20 of 25, by kataetheweirdo

User metadata
Rank Newbie
Rank
Newbie

For the most part, we've been working on the emulator independently of MAME.

I have looked into the MAME code myself, but haven't really used anything. That said, Richard did correct us on some Ethernet stuff recently and a patch is in the works.

Reply 21 of 25, by wierd_w

User metadata
Rank Member
Rank
Member

I have been poking at a build from your latest trunk, and cannot see how to pass what the boot and or, storage devices are to the emulator.

I have it trying to boot, and giving a ? disk icon, indicating that the G3 rom is successfully being executed, but that it cannot find the boot device.

Does this thing accept .HFV files, .ISO files, or does it need raw block devices passed? If so, how?

Edit:

I dug inside the actual main .cpp file, and kinda-sorta understand how to pass info.

First, you must specify the machine ID for the ROM you are using, then pass the appropriate value to the emulator afterward with double-dashes.

Valid inputs for, eg, the G3 Beige, are:

--fdd_img=<somepath/somefile>
--cdr_img=<somepath/somefile>
--cdr_img2=<somepath/somefile>
--hdd_img=<somepath/somefile>
--hdd_img2=<somepath/somefile>
--rambank1_size=<somesize in mbyte>
--rambank2_size=<somesize in mbyte>
--rambank3_size=<somesize in mbyte>
--rambank4_size=<somesize in mbyte>
--gfxmem_size=<somesize in mbyte>
--serial_backend=<somepath/somedevice>

So, a G3 beige using a real CDROM drive, and a real disk device under linux, with 1gb of RAM (as 4 256mb sticks), 4mb ATI video, and a USB serial cable as the serial device, would look like this:

dingusppc -m pmg3dt --fdd_img=./fdd.hfv --cdr_img=/dev/sr0 --hdd_img=/dev/sdb --rambank1_size=256 --rambank2_size=256 --rambank3_size=256 --rambank4_size=256 --gfxmem_size=4 --serial_backend=/dev/USBTTY0

(assuming you have set up appropriate permissions to talk to real block devices first! 😜)

Reply 22 of 25, by kataetheweirdo

User metadata
Rank Newbie
Rank
Newbie

The emulator does have some automatic checking though and displays which ROM is being loaded based on an internal boot string (there are plans to change this to checksums though).

Do be warned though, the Power Mac G3 Beige only can handle up to 768 MB of RAM. There's no patching for anything within the ROM, so the limitations are pretty similar to an actual Mac. There's still a fair amount left to implement before it's complete too.

Reply 23 of 25, by Bruninho

User metadata
Rank Oldbie
Rank
Oldbie

Loving the progress with the emulator!

"Design isn't just what it looks like and feels like. Design is how it works."
JOBS, Steve.
READ: Right to Repair sucks and is illegal!

Reply 24 of 25, by wierd_w

User metadata
Rank Member
Rank
Member

Maybe I am missing something, but I can't get hard drive images to actually show anything in the emulated mac.

I get that much is not fully implemented yet; the Beige G3 os8.1 disk for instance, hangs on boot, and disktools disk misbehaves a bit on boot, but does start.

Is there some special requirement for hard disk images?

--edit

Nevermind, I figured it out. You need to use the patched hard disk setup utility to initialize the simulated disk drive, because it lacks apples blessed firmware that the stock tool looks for.

Reply 25 of 25, by wierd_w

User metadata
Rank Member
Rank
Member

Small update a few weeks later.

The OP has continued working on this emulator. It now is able to successfully boot 8.1 (with the networking, appleshare, and ATI accelerator extensions disabled... I haven't fully worked out which of these breaks boot just yet), from a physical USB stick (presented as IDE 0:0)

OS81_USB_Boots.png
Filename
OS81_USB_Boots.png
File size
140.69 KiB
Views
898 views
File license
CC-BY-4.0

(With the accelerator extensions off, it can only do 256 color mode though. Display goes crazy when setting it to thousands. Graphical glitches in some windows, like the About This Mac window shown.)

The issue with the mouse not tracking in time with the system mouse is kinda off-putting though...