This project is in Arduino, with heavy C additions. You can build it yourself if you want to add support for a different board, or try different settings.
First up - add support for your board in Arduino so you can compile & upload code. Then load all the Arcada libraries.
Download/clone the Arcada nofrendo port from here, rename the folder nofrendo_arcada
and open it in Arduino.
CPU Speed must be the highest possible, we like to overclock at 200MHz. Optimizations must be -Ofast we don't recommend -funroll-loops as it doesn't seem to speed up play and it makes the build very large. TinyUSB is required in order to have the disk drive show up.
#elif defined(ADAFRUIT_PYGAMER_M4_EXPRESS) || defined(ADAFRUIT_PYBADGE_M4_EXPRESS) #define EMU_SCALEDOWN 2 #define USE_FLASH_FOR_ROMSTORAGE // slows it down, but bigger roms! #define DEFAULT_FLASH_ADDRESS (0x40000-2048) // make sure this is after this programs memory, with unrolled loops we're at 222,192! we need a little more than 256KB since roms have 10 extra bytes #define USE_SAVEFILES #define USE_SRAM #else
-
EMU_SCALEDOWN
is for taking the NES output and scaling it down to 160x128 display. Set to 1 if you have a 320x240 display! -
USE_FLASH_FOR_ROMSTORAGE
puts the ROM in FLASH, required for games over like 48KB, but if you want highest speed you can comment this out to use RAM/malloc. -
DEFAULT_FLASH_ADDRESS
- Where we start burning the ROM in. This must be after the bootlader (16KB) + arduino code (~200KB) The default is pretty good, don't mess unless you know the math. -
USE_SAVEFILES
is the save/restore support, takes a ton of RAM up when we save because it memory maps the whole file so comment out if you are running out of RAM -
USE_SRAM
turns on/off the SRAM implementation of the emulator. Keep on please.
If you have a board with an SD card, you can enable SD storage instead of QSPI, info on how to do that is here.
Page last edited March 08, 2024
Text editor powered by tinymce.