The Arduboy FX is a normal Arduboy with an extra (flexible) circuit board soldered on. That circuit board holds two chips: the ‘FX chip’ or ‘Flash chip’, which is essentially an extra block of flash memory, and a controller chip that can be used to overwrite the Arduboy’s bootloader with ‘firmware updates’.
At the moment the flash chip only acts as a space to store multiple games, but it would be possible to create games that are designed to access the memory as part of their gameplay, e.g. for storing levels and graphics. So far, none do (or at least none that are complete, playable games).
That aside, the Arduboy FX plays all the games a normal Arduboy would, and otherwise behaves much like a normal Arduboy would, so you can just write games normally and as long as they don’t use any FX-specific features those games will run on both an FX-enabled Arduboy and a ‘regular’ Arduboy.
The so-called ‘flashlight’ mode is actually incorporated as part of the games rather than the bootloader, so the vast majority of games will support it, but it can only be accessed when booting into a game, before the Arduboy screen scrolls down.
(The bootloader may support something similar, I’m not sure.)
All ‘flashlight’ mode actually does is:
- Set all the screen pixels to ‘on’ (i.e. white)
- Set the LED to full white light
- Enter an infinite loop so the Arduboy won’t do anything else until restarted
- This part is why it’s useful for troubleshooting - it effectively prevents the game from loading, which is useful if the game ends up doing something that interferes with loading
The FX’s custom bootloader mostly eliminates the need for ‘flashlight’ mode though, because it’s easier to force the console to boot directly into the bootloader when you reset it. (I think this is done by holding a certain button at a certain time, but I can’t remember which without checking the documentation.)