nand2mario / snestang

Super Nintendo Entertainment System for Tang FPGA boards

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Support for raspberry pi monitor system to change "cores"

siffland opened this issue · comments

This works on the tang nano 20k (i did not try on my 25k yet). I have it powered by a raspberry pi 3 A+'s USB port, also i have openFPGALoader installed on the pi. So the following works flawlessly

Loading the firmware from the snestang release 0.6
openFPGALoader -b tangnano20k -f firmware.bin -o 0x500000

Then we can load the snestang release 0.6
openFPGALoader -b tangnano20k -f snestang_nano20k.fs

And we can load the nestang release 0.8 when desired
openFPGALoader -b tangnano20k -f nestang_nano20k.fs

From there we can cycle back between the snestang*.fs and the nestang*.fs commands (i am assuming the nestang does not overwrite the risc core loaded at 0x500000 since i do not have to redo the firmware.bin each time). I even verified they can share the same sdcard (however the nestang core does require that you powercycle the tang to reread the sdcard, but that is quick. snestang core does not require this).

I am not sure if the 20k has rx/tx or if the risc core can use extra pins as rx/tx. If it can and it can utilize the risc core on the nestang as well, can the menu tell the raspberry pi (A+ or zero) to change cores using serial input? At first i thought it might be a big ask, but it might not (very simple menu).

If it is worth investigating it would still be a cheap system like a mini MiSTeR (for a lot of SNES and lower devices that might be able to be ported to it), however i do not have the knowledge (i can test though). Thoughts?

Nice! I've been looking at dynamic loading of cores. It looks like switching through the SIP flash IS the way to go. We can do this either with a small Linux board (e.g. LicheeRV Nano), or with the BL616 MCU on board Nano 20K and Primer 25K (see nand2mario/nestang#47).

The plan is for nestang to also include iosys (the softcore). Once that's done, it should improve things. It won't be necessary to powercycle to read the sd card.