New Project: Prodigy 040/060 Card

Thanks for your considered comments, I understand we have to start somewhere and the more learnt the better. We're lucky to have you on board here!

Thank you for your understanding. :) I actually know Claude personally, and he is a very nice and capable person, who does it with the same passion and motivation as us all.

Speaking of.... The bootrom starts now to show a sign of life! :)

Screenshot 2026-01-10 221700.png

I'm currently developing this on WinUAE Amiga Emulator, since this is the platform I am obviously most familiar with.

Once the code works completely, I will write the machine detection and I/O driver routines for the Macintosh. I have looked at the MAME source code, and I think that it is indeed possible to distinguish between most late generation 68040 MACs by probing the register and memory map.

I will also try to use MAME as a development platform before the card is finished, since I have the impression that it is the only Mac Emulator which actually attempts to emulate the real custom chip hardware. If somebody has a better recommendation, then I would be glad to consider this as an alternative ption, since MAME is a bit clunky to handle.

Once i get at least the serial console to work on the MAC, I can basically start to "conquer" the system by directly writing to registers and memory. ;)
 
Last edited:
I don't want to tell you want to do.. but maybe instead of writing a bootrom from scratch you could add just the needed parts to u-boot to get it to boot baremetal before the machine's own ROM?

And I'm not just saying this off the top of my head. I have ported u-boot to work on a bunch of 680x0 machines including 68000. With u-boot you get lots of stuff just working like memory inspection, loading over serial, and we can get Linux booting. Someone else is pretty close to getting some of this into mainline u-boot..

If the CPU card CPLD (I guess it's a CPLD) is big enough to include a basic timer and uart we could get u-boot running without using any of the machine hardware and I think that'd help with bringing the card up as you can see if it's working or not hardware-wise without having to struggle with what the machines ROM is trying to do.
 
I don't want to tell you want to do.. but maybe instead of writing a bootrom from scratch you could add just the needed parts to u-boot to get it to boot baremetal before the machine's own ROM?

No problem, feedback is always welcome. :)

What my boot rom is can be called a "BL0" loader. Modern SoCs have it often embedded in their mask rom on the silicon die, my card has it on-board to ensure that, no matter what extrinsic conditions apply, there is always a piece of code where you can, at least, set-up the system, like flashing the ROM for things like.... right, UBOOT (as I mentioned earlier in this thread). ;)

Remember, the card really is supposed to be a plug-in solution for different systems. Put it in a MAC - works. Put it in an Amiga -works. And apply system-specific code to start-up the system, based also on what kind of boot parameters the user writes into the flash.

* Start the monitor?
* Start the machine's own ROM, and apply patches?
* Kick off an alternative boot process based on what contents have been flashed?

And I'm not just saying this off the top of my head. I have ported u-boot to work on a bunch of 680x0 machines including 68000. With u-boot you get lots of stuff just working like memory inspection, loading over serial, and we can get Linux booting. Someone else is pretty close to getting some of this into mainline u-boot..

And all of this will be possible, so don't worry. My software is my contibution that my card is always working, no matter what "someone else" is doing. ;)

If the CPU card CPLD (I guess it's a CPLD) is big enough to include a basic timer and uart we could get u-boot running without using any of the machine hardware and I think that'd help with bringing the card up as you can see if it's working or not hardware-wise without having to struggle with what the machines ROM is trying to do.

No struggle at all, basic I/O is working on Amiga, the MAC part is next.

I also keep it as a CPU and not a system extension card, which, btw., I don't think is necessary at all. There is no magic behind to operate at least a serial UART.

And as I mentioned earlier, I'm using an FPGA. There are small FPGAs which are great to implement high-speed I/O - memory controller bridges.
 
Back
Top