• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

Motorola 68060 upgrade

Bunsen

Admin-Witchfinder-General
I suspect that the Buffee project might be easier to adapt to Mac than the PiStorm.
 

uyjulian

Well-known member
I believe the missing part to get any accelerator working on Macs is timing/arbitration related to interfacing with the rest of the hardware. That's most likely why stuff like floppy and SCSI have some issues working.

If you just want to run software, but faster, without original hardware, then using a software emulator like Basilisk II is fine.
However, a lot of the reasoning for using newer accelerators with older hardware is that you want fast speed or want to attach newer hardware, but still want to use your existing SCSI drives, ADB mouse/keyboard, NuBus cards, floppies, the case/screen ...


Since there are very many Mac models each with different timing characteristics and different ROMs, it may be very time consuming and very difficult to get them all working easily since timing needs to be figured out and ROMs need to be patched.
A suggestion for another way to possibly work around timing issues is to have the original CPU act as an "I/O processor" which then communicates with the hardware on the accelerator over the PDS slot.
 
Last edited:

Melkhior

Well-known member
I know that @Melkhior has invested a lot of time in the FPGA rabbit hole, and has also investigated the soft core option, but there are many issues before something "ready" would be available. The linked 68030 softcore is also missing both FPU and MMU.

Yes, I have looked in the FPGA soft-core options. Currently looking more at interfacing with real '030 and '040 :)

FPGA are awesome for accurate timings - you can replicate cycle-accurate behavior of hardware, and design things with highly deterministic behavior. They're also fun to play with - more so for me than just software on a modern core.

But modern software emulation is a lot more versatile, a lot easier, and can be a lot faster if you're going for all-out performance... it's interfacing to the 'timing-critical' outside world that is a challenge (as the PiStorm and Buffee people have surely noticed!). 100% software like QEmu is a different kind of challenge (needs to emulate all the extra little piece of hardware), but probably overall easier when the infrastructure is already there. QEmu's emulation of a Q800 works fine for me.

The suska 68030 is quite large and is still missing some stuff. I tried once synthesizing it for my Artix-7 35T, it wouldn't fit (though not by a lot), had some combinatorial loops I didn't investigate and was also no passing timings at 33 MHz. I suspect it would fit in a 50T, and have ample room in a 75T or 100T. For the missing stuff, adding the MMU would definitely be a bit of work; most of it is not very complex, but integration with L/S and the page walker are non-trivial. That work is supposed to have been done already but is still closed-source, unfortunately. Almost everything else is cache-related and the need for it would depend in the specifics of the implementation - using fast SRAM as zero-wait-state memory would remove the need for caches, for instance. But as a drop-in replacement for a '030 in an existing system, one would probably need to implement some internal caches and probably bursting as well... The FPU is not really needed in old Macs, it was an option (if that!) for most of the consumer-level systems and very few programs required it. It's not needed for a first draft.
 
Top