Hi to all, welcome back.
This is an important update, and even if it's a short post, I am so excited to show you this milestone.
I had to work hard at memory configuration, and I had to rewrite the code of the virtual Video Display processor of my Emulator. Currently, the CM0+ core runs the VGA video driver and hosts a double half-frame buffer. The system "asks" the CM4 to run and render the Emulator in two passes on the double buffer in the CM0+ core. This process requires speed, so I didn't use IPC and interrupts but shared memory registers.
I have reached limits of memory and speed, but the CM0+ runs VGA at 75MHz and uses a chain of Timers and DMA channels. The CM4 runs at 150MHz and executes the virtual machine that emulates the hardware of the console.
Probably I could optimize more the code because the use of the shared memory is not forgiven when graphics is shown in real-time, but this is not a commercial project. So, since the end of the challenge is getting closer, I will move on with the audio generation. But before, I hope you like this short clip.
At the end of this adventure, I will go deeper into the details with a schematic summary of this project. But, if you want to have a break with the online version of this Space Invaders, which runs on my Javascript SEGA SC-3000 Emulator, have a play:
http://www.play-sc-3000.com/cart.php?Game=SPACEINV&Letter=S
I hope you will enjoy!
Top Comments