- Import NTSC video display modes
- Migrate to using full-color framebuffers
- Mac and Android builds somewhat working
- TODO : likely breaks display testing
- Remove unused button2 variable
- Remake little-used backend joystick reset function as function pointer
- Allow soft reset and self-test on Android (although there is still a race condition due to code that directly sets
joy_button[12] values
- Eliminates a whole bunch of boilerplate setter/getter code in various places
- Accesses preferences directly from JSON data through custom json_parse.h API
- Improves code locality for Java menus/settings
- Fixes glitch where GLTouchMenu would capture a joystick event if the movement came into its portion of the screen
- Prepares the way for allowing both keyboard and joystick access to same screen real-estate
- Apple //e "framebuffer" OpenGL model/texture is now a complete GLModel object
- Readability FTW! ... use args struct in quadCreation function to allow for named args
- Move touch-handling code for "regular" touch joystick into separate file
- Add new touch-handling code for "keypad" touch joystick. This is a somewhat complex state-machine to determine
which key to press depending on a full keypad rosette.
- Adds a callback to vm.c to hook into keyboard read callback. Allows us to immediately queue the next key if the
keypad touch joystick is long-pressed for either axis or button keys.
- Now signals TD thread on each touch event that resulted in a change to the buttons.trackingIndex or a change to
the chosen button (buttons.touchDownButton, buttons.northButton, or buttons.southButton)
- Uses mutex (un)locking to avoid races around buttons.trackingIndex and chosen button
- Adds an equal delay on TD thread loop finish to ensure the touchDown/touchUp or touchDown/move/touchUp event
sequence is the same basic duration as received
- Previously a touch down event would trigger a joystick button, but now this slight delay in processing allows us
to discard this if the user really issued a tap-move combo