Emulation: Infinite Mac

mihai

Member
Usually booting 7.5.5 doesn't reach the Finder unless you're holding the shift key during boot to disable extensions. It appears to be the same for Infinite Mac. Those DMA aborts are removed from my fork. Whatever is causing my fork to hang might be related to whatever is doing the non-DWORD read or it might be something else. It would be nice to be able to use Conflict Catcher to find the conflicting extensions, but it doesn't let you indicate pass/fail of a test during extension load time even though Conflict Catcher can appear during extension load time which is unfortunate since it can't handle conflicts that cause the Finder to be unreachable? Maybe I'm using it wrong.

The issue appears to be the Apple Photo Access extension -- disabling it both makes the non-DWORD read go away, and allows the Finder to successfully start.
 

joevt

Well-known member
The issue appears to be the Apple Photo Access extension -- disabling it both makes the non-DWORD read go away, and allows the Finder to successfully start.
Yup, that seems to improve things. Will have to try that with the other OS versions that had problems.
 

Arbee

Well-known member
Apple frequently uses multiple access widths to the SCSI controllers so you may eventually encounter non-DWORD access even without that extension. When I was bringing up the Quadras, the Control Panel was writing a block of settings from a non-word-aligned address which kicks off a bunch of lesser-used code paths in MacOS (and requires very exact 53C9x emulation to not trash the hard disk).
 

mihai

Member
@mihai I noticed there were a whole bunch of comments added to:


Were they bots? What happened?
Some not very productive discussions (an issue tracker is not a forum), so I locked it for a bit. Unlocked now.
 

Snial

Well-known member
@mihai , well done on getting Mac OS X 10.0 to 10.4 running on emulation. Particularly interesting to see the iMac G3/233 being supported. The reorganisation of the machines makes sense. I keep wondering, Mac OS 8.1 to 9.x don't seem to work on the 6100 emulator: it keeps saying things like:

1744557270596.png
(Mac OS 8.1) or:

1744557366973.png
(Mac OS 8.6).

So, is the major problem that they don't have the appropriate System Enablers in the System Folders?

-cheers from Julz
 

mihai

Member
I built those images a while back (for Basilisk II for 8.1 and SheepShaver for everything later). IIRC I did a universal install for all of them, any ideas for what enablers might be required (also, I thought they went away with later OS versions)?
 

joevt

Well-known member
The 6100 booted 8.1 for me in Infinite Mac
https://infinitemac.org/1998/Mac OS 8.1?machine=Power+Macintosh+6100
but I think it had to boot 3 times to get to the Finder? That's weird. Is it starting with empty PRAM that needs to be setup?

8.6 HD hangs on the 6100 (doing printer port AppleTalk stuff) but the CD should boot.
DingusPPC needs to be modified to properly emulator a printer port or ethernet port that doesn't have anything connected to it.
 

Snial

Well-known member
Thanks both of you for the replies!
I built those images a while back (for Basilisk II for 8.1 and SheepShaver for everything later). IIRC I did a universal install for all of them, any ideas for what enablers might be required (also, I thought they went away with later OS versions)?
I didn't realise/forgot Enablers went away after System 7.x. I think I was a bit confused, because late versions of Classic Mac OS seemed to need matching Mac OS ROM files with the OS, at least on New World Macs.
The 6100 booted 8.1 for me in Infinite Mac
https://infinitemac.org/1998/Mac OS 8.1?machine=Power+Macintosh+6100
but I think it had to boot 3 times to get to the Finder? That's weird. Is it starting with empty PRAM that needs to be setup?
OK, so this is where it gets odd. I tried your link, it worked on my Mac mini 2012 under Catalina and Chrome. Then I tried it on this MacBook M2 under macOS 15.3.2 and Safari and it was fine.

Then I tried these variants:
  1. No Saved HD - fine.
  2. Ram reduced to 24MB - fine.
    1. After booting the first time I enabled VM and rebooted, then I got the first error message below.
  3. Same as (2), but booting 7.5.3, then turning on VM and rebooting. Worked fine.

1744624329805.png
[Error from https://infinitemac.org/1998/Mac OS...wer+Macintosh+6100&ram=24M&screenSize=640x480 when restarted after enabling VM]
1744624663503.png
[From: https://infinitemac.org/1996/System...wer+Macintosh+6100&ram=24M&screenSize=640x480]


8.6 HD hangs on the 6100 (doing printer port AppleTalk stuff) but the CD should boot.
Mac OS 8.5 appears to hang too.
DingusPPC needs to be modified to properly emulator a printer port or ethernet port that doesn't have anything connected to it.
Oh, OK.

-thanks very much for the feedback!
 

joevt

Well-known member
OK, so this is where it gets odd. I tried your link, it worked on my Mac mini 2012 under Catalina and Chrome. Then I tried it on this MacBook M2 under macOS 15.3.2 and Safari and it was fine.

Then I tried these variants:
  1. No Saved HD - fine.
  2. Ram reduced to 24MB - fine.
    1. After booting the first time I enabled VM and rebooted, then I got the first error message below.
  3. Same as (2), but booting 7.5.3, then turning on VM and rebooting. Worked fine.
Seems to be an issue with cross-region DMA (Power 6100 has multiple RAM regions because parts are not contiguous or are mirrors of other parts). I got a similar abort with selecting 264 MB but not 136 MB RAM.

Mac OS 8.5 appears to hang too.
Yup, same issue has 8.6 with the AppleTalk/printer port. 8.1 AppleTalk/printer port handling is different and doesn't hang.
 

Snial

Well-known member
Seems to be an issue with cross-region DMA (Power 6100 has multiple RAM regions because parts are not contiguous or are mirrors of other parts). I got a similar abort with selecting 264 MB but not 136 MB RAM.
So, does that mean it's likely to be a bug in this file?

Or the code that handles the specific DMA channel? Where are regions handled?

-cheers from Julz
 

joevt

Well-known member
So, does that mean it's likely to be a bug in this file?

Or the code that handles the specific DMA channel? Where are regions handled?
The Emulator Error that you posted has the stack trace but it appears to be incomplete (maybe because of optimizations). The abort message is in the mmu_map_dma_mem function in ppcmmu.cpp. We can get the full stack trace running the debug version of the emulator on a local machine.
 

Snial

Well-known member
The Emulator Error that you posted has the stack trace but it appears to be incomplete (maybe because of optimizations). The abort message is in the mmu_map_dma_mem function in ppcmmu.cpp. We can get the full stack trace running the debug version of the emulator on a local machine.
OK, thanks!
 
Top