[CDG5] MemRetry's objective

Max Poliakovski maximumspatium at googlemail.com
Wed Apr 3 07:29:11 AWST 2019


>
> > I wonder how much work it would be to fill in custom ProductInfo tables
> instead of perfectly emulating lots of hardware. Interrupts get set up
> however you want (ProductInfo specifies code to handle them) and io can be
> done with fake NuBus cards. Device Tree nodes with custom drivers can be
> provided if some code insists on them.
> >
> > Much of the craziness can probably be bypassed if everything is virtual
> anyways.
>

Yes, I agree with everything said here. But...

there are several Macintosh emulators having different approaches and a
different degree of success. Let us discuss the important ones:

1) SheepShaver patches to disable anything MMU-related so it comes close to
your approach of bypassing hardware emulation. Sadly, it doesn't emulate
anything pre-TNT and post-System7 because it doesn't support MMU.

2) QEMU works quite well for mac99. Other configurations are possible but
poorly supported. QEMU is famous for its speed.

3) MAME is a programmatic documentation project. That said, MAME's main
goal is to recreate vintage hardware in software and to document it as good
as possible. This may sound silly but it's actually a clear goal to
achieve. I don't want to do something that goes against the spirit of the
project.

As of today, what do we know about PowerMacs manufactured between 1990 and
1999? Nothing especially valuable. Considering PowerMac 6100, let's look at
this chipset:

1) everything in PDM is controlled by AMIC - Apple Memory Mapped I/O
Controller. Apple's docs say smth like this: "AMIC is a 256-pin IC managing
all system interrupts". Sorry, but it's just ridiculous. No-one in the
world will be able to recreate hardware from this kind of specification.
The same is true for GrandCentral - just another custom interrupt
controller resided on TNT boards (first PCI generation)...

2) PDM sound chip is called AWAC. Any further details? No avail because
Apple doesn't share this kind of information. We found out that the sound
chip was manufactured by Crystal Semiconductors. Specification is not
available. Pinout: unknown.

3) SCSI and Serial port are serviced by another custom IC called Curio.
Everything we know about it is that was manufactured by AMD. This should be
a kind of a custom part AMD made for Apple. It's considered to be a hybrid
chip.

4) More ASICs? Then look at the SWIM3 floppy controller...

5) all PowerPC machines use the so-called CUDA ASIC. Well, strictly
speaking, it's not an ASIC at all but a Motorola MCU running custom Apple
firmware. MAME team has managed to download this firmware. I started to
analyze it and to document it, see
https://github.com/maximumspatium/CudaFirmware

Someday we will be probably able to replace vintage Motorola chips with
something more powerful like AVR (a RISC MCU allowing to assign custom
functionality to almost any pin). Details can be found here:
https://68kmla.org/forums/index.php?/topic/54481-cuda-egret-hc6805-hacking/

I believe that  we need both hardware documentation and its precise
emulation.

Cheers
Max
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.ucc.gu.uwa.edu.au/pipermail/cdg5/attachments/20190403/aed8617d/attachment.htm 


More information about the cdg5 mailing list