Thanks for that link. That is an interesting project but a bit different to what I am attempting.
Since I discovered SpinalHDL, I have been converting everything I have done with ice40 FPGAs to that.
With SaxonSoc, I have the ability to generate more or less any Risc-V SoC. I added support of lots of peripherals including LCD displays to it.
I want to do the same for retro computers and consoles. That would need a cycle-accurate implementation of Z80, 6502 and 68000 CPUs. So I now have a nearly working Gameboy Z80 CPU written in SpinalHDL. I am currently working on support of the ili9320 LCD to add to the icl9341 support that I already have.
I also have a SpinalHDL project that generates audio, which should be good enough for Gameboy audio.
I need to add SDRAM support to this. I have that working on the Blackice Mx, but currently only in SaxonSoC. I need to restructure it to make it work with retro computers and consoles.
The video processing of retro computers and consoles is unique to each of them, but is typically based on tiles and textures. I have a simple tile and texture system working on an LCD display using SpinalHDL. The Gameboy PPU uses tiles and textures and does not look very complex (apart from perhaps its sprite system).
So this would be my first implementation of a SpinalHDL retro console system.
On the hardware side, I have an an LCD console that works with the TinyFPGA BX, but that is limited by the available BRAM. It should work better with the TinyFPGA EX, when that arrives.
For the Blackice Mx, I want carrier boards for an LCD console and for an HDMI TV console.
So the plan is that when I have all these components working together, I could produce an implementation for a new retro console or computer in a few days.