PowerMac 7100 and Linux

joevt

Tinkerer
Mar 5, 2023
145
50
28
I'll try to track down the std::invalid_argument bug.
Made a fix for this bug in the last commit in my fork.
Another note: when using si it may be useful to use context auto so that it will show 68K instructions instead of showing ppc instructions from the 68K emulator.
 

joevt

Tinkerer
Mar 5, 2023
145
50
28
si is slow, especially when there are big loops. It might be better to add commands or code in DingusPPC to enter the DPPC debugger when the code at the PPC or 68K program counter matches some bytes (which you would grab from the Mac OS Loader file).

Another option would be to alter the code to enable instruction logging, and have it use get_name_OpenFirmware to detect the very first Open Firmware code being executed. See the code that handles the debug_copland option. Of course, you could just get the address of an early Open Firmware instruction (such as the address of @startvec = 0xFF808000 or real address 0x00408000 or cold-load at 0xFF80FF88 if that doesn't work) and use that with a until command.

Then dump the instruction log. Maybe there's an interesting address in the instruction log that you could use with until after rebooting. Then use si from there.

We know nothing important is happening until the hard disk is being read. So that would be another good place to stop the debugger and start logging.
 

speakers

Tinkerer
Nov 5, 2021
144
96
28
San Jose, CA
peak-weber.net
...
The first occurrence corresponds to port A (modem port) because that is first in the device tree.
The second occurrence corresponds to port B (printer port) because that is the next serial port in the device tree that has not had it's property overridden by the command line yet.
Ah, thanks. This wasn't clear from the docs and was too lazy to chase it down in the code :confused:
...
For an empty CD-ROM drive, it's probably best to not include the CD-ROM drive at all until SCSI CD-ROM emulation in DingusPPC is fixed to support empty CD-ROM drives. Use this:
--cdr_config=
That works.
...
You could try --machine pm7100 but we haven't worked on other PDM machines that much (for RAM allocation, 8100 is missing the second SCSI bus, etc.)
The pm7100 machine setting boots but only 8MB of RAM shows up. I'd like to be able to emulate my PM7600's discontiguous RAM layout

I'm currently running the original 6100/7100 ROM. My PM7100 has the later ROM. DingusPPC boots on this later ROM when --machine pm6100 is set but takes an illegal instruction trap booting System 7 with --machine pm7100:
Screenshot 2025-07-30 at 1.35.18 PM.png
I'm also not seeing the floppy drive accessible by DBOF. Booting into MacOS, an image mounts fine (after use of the ffd debugger command) but DBOF sees nothing (using boot or dir or whatever). I this a known issue?
 

joevt

Tinkerer
Mar 5, 2023
145
50
28
The pm7100 machine setting boots but only 8MB of RAM shows up. I'd like to be able to emulate my PM7600's discontiguous RAM layout

I'm currently running the original 6100/7100 ROM. My PM7100 has the later ROM. DingusPPC boots on this later ROM when --machine pm6100 is set but takes an illegal instruction trap booting System 7 with --machine pm7100:View attachment 22473
I think pm7100 requires more work. Same for pm8100. You said pm7600. Did you mean pm7100?

I'm also not seeing the floppy drive accessible by DBOF. Booting into MacOS, an image mounts fine (after use of the ffd debugger command) but DBOF sees nothing (using boot or dir or whatever). I this a known issue?
DBOF does have Open Firmware code for the floppy. I haven't tested it. Have you tried it on your Power Mac 7100?
Is the floppy formatted with HFS or HFS+? I think only FAT (little endian bytes at 0x1fe are 0xaa55) or HFS (first two big endian bytes = 0x4552) is supported. No partition map.
Try this command:
dir fd:\

Hmm, how to insert floppy while booting Copland on SCSI? I suppose it should work if the floppy isn't bootable?
You could insert the floppy after you get into DBOF using the DingusPPC debugger fdd command.
dir fd:\ gives me a READ TIMEOUT error in Open Firmware. It might be a DPPC emulation problem with Open Firmware's floppy driver.
 

speakers

Tinkerer
Nov 5, 2021
144
96
28
San Jose, CA
peak-weber.net
I think pm7100 requires more work. Same for pm8100. You said pm7600. Did you mean pm7100?
Yes, finger trouble. [I do also have a pm7600.] I see now that the code in machinepdm.cpp only has pm6100 properties defineed
DBOF does have Open Firmware code for the floppy. I haven't tested it. Have you tried it on your Power Mac 7100?
Yes. A FAT floppy is readable on my pm7100 under DBOF.