3 ms·
Very cool project, and impressive he got it working! I feel like possibly a better way to deal with the communication though might be to put a dual-port RAM [e
by stephen_g 5y ago
Very cool project, and impressive he got it working!
I feel like possibly a better way to deal with the communication though might be to put a dual-port RAM [e.g. 1] in-between the gameboy and the microcontroller, and load in a program to it so the Gameboy is just waiting for certain areas of memory to be updated (with flags that one side sets as 'new data' and then the gameboy flips). Basically some kind of circular buffer of commands, and as long as there's enough space in there and you only fill it from the microcontroller slower than the Gameboy can process them, you wouldn't need to have careful synchronisation. The microcontroller just has to check that the next slot in the circular buffer has had its status bit flipped to 'processed' (or hasn't been used yet) before putting the next command/data in.
1. https://www.renesas.com/us/en/products/memory-logic/multi-port-memory/asynchronous-dual-port-rams/7005-8k-x-8-dual-port-ram https://www.renesas.com/us/en/products/memory-logic/multi-po...