Great job. Thank you so much! Only real bug I still notice is that strange "screen not updating after moving around in the settings".
Also, setting a directory for images to load as default is much needed.
The keyboard is fine as it is.
My suggestion is to now further improve the usability and convenience of your work. This means making use of the free real estate above the keyboard by adding some widgets that deliver the most frequently used switches/changes/actions. I have been wondering what the most common denominator is in terms of typical usage and most frequent actions users take when using any C64 emulator. I came up with this top ten, #1 being the most frequent:
- Open Load image menu (disk, cartridge, tape etc)
- Quick Save state
- Quick Load last saved state
- Toggle joystick ports (mappings) (#1 becomes #2, and vice versa)
- Toggle warp mode (to speed through disk loading etc)
- Reset (soft or hard I don't really know the difference. I would say hard. All drives also should reset but images and cartridges etc still in place)
- Toggle true drive emulation mode (for games that need it)
- Type "Load "*",8,1 and press return. Already covered by 1) in most cases.
- Toggle autofire button assignment
- Toggle different ROM sets (Jiffy etc)
- Toggle SID versions
- Press Run/Stop and Restore aggressively
- Say "I am SAM"
Open the general settings menu is already covered by SELECT button.
There might be space enough for maybe 8-10 widgets (graphics that intuitively display the action - like a disc, joystick with 1/2, a red button for reset, SID chip, ROM chip, and so on) that deliver these frequent actions conveniently without having to go through the menu. This is all about using the 2nd touch screen to the fullest, something that no other platform has. People will start talking about it, and getting an N3DS just for this unique application.