From the blog of [telmomoya] we found his latest project: a hardware based multicore solution for a ZX Spectrum Emulator. It’s not the first time we feature one of his builds, last year we was working on a ARM Dual-Core Commodore C64. Luckily for Speccy fans, it seems a ZX Spectrum project was just unavoidable.
At its heart is the EduCIAA NXP Board, a Dual Core (M4 & M0) 32-bit microcontroller, based on the NXP LPC4337. It’s an Argentinan-designed microcontroller board, born from an Argentinian academic and industry joint venture. [telmomoya] took advantage of the multicore architecture by running the ZX Spectrum emulator on M4 core and generating the VGA signals with M0 core. This guarantees that the VGA generation, which is rather time-sensitive, remains isolated from emulation and any task running on other core. The VGA sync is via polling and using DMA GPIO the RGB signals can be up to 256 colors. To store the 48 kb VGA frames one AHB32 and one AHB16 memory IC are used.
On the software side, [telmomoya] adopted Aspectrum, a ZX Spectrum Emulator fully written in C, modified to his needs. Overall, the project faced many challenges and issues, like COLOR VGA generation (with GPIO DMA), TFT SPI low fps, Inter Process Communications and bus sharing.
Can you try to name all the games in the demonstration video?
One of my FPGA based projects:
https://www.youtube.com/watch?v=On57dviscmM
https://www.youtube.com/watch?v=G2Sd0vWBi_E
that’s pretty cool!
This is worth creating another article, give us details! I like to build one of these :)
There’s a forum thread about it at http://www.elektroda.pl/rtvforum/topic3085689.html?l=pl
FPGA xc6slx9, up to 1MB SRAM, wireless keyboard/mouse/pad (logitech), 32 GPIO, 50x50mm (Chinese standard :) )
C64/NES/Amiga/Atari/Spectrum/…
And I also designed Cyclone IV version, 32MB SDRAM, less GPIO.
Check homepage link.
That looks hellishly slow from the booting sequence at the end.
“…last year we was working on…”
missing some “the”s with “running the ZX Spectrum emulator on M4 core and generating the VGA signals with M0 core” too.
“…any task running on other core. ” Need a “the” there.
“…one AHB32 and one AHB16 memory IC are used.” Not sure of an easy way to make this sentence less clunky.
Ms Pacman, Bubble Bobble, and Spellbound were the games running I think.
Las one was Couldron.