- 'animation' was too constrained a name to what these do, so switch to the overloaded term 'node' ;-)
- Touch handling is no longer the sole purview of the touchjoy, (in prep for touchable HUD elements)
- menu/HUD creation functions moved to better location and renamed
- CPU change animation now default displays on desktop Linux (exercise common HUD codepaths with mobile)
CPU speed animation touch-ups, and enable building for desktop
Rename/shuffle animation declarations and code
Refactor backend video system to be a dynamically initialized module
Basic CPU speed texture animation works on desktop Linux and Android
Use static pixel buffers to avoid malloc/free churn
Improve CPU animations
First cut at CPU speed message animation
Refactor some of the classic interface functions to be potentially reusable elsewhere
Squashed commit of the following:
REFACTOR : fix comments, logging, and rename some variables
REFACTOR : fix up some commentary, clean deadc0de
REFACTOR : mostly fix all the audio glitches
- amplitudes of samples are gradually shifted to zero when speaker has fallen silent
- simplifies speaker state machine
- fullspeed mode only enqueues quiet samples
REFACTOR : fix up a number of other functions and comments
REFACTOR : clean up code to submit normal speed wave buffer to OpenAL
Move some initializations to the cpu_thread()
REFACTOR : properly reset the speaker cycles access counter so we don't underflow and assert
REFACTOR : should never get a split buffer from our soundcore implementation
Fix warning from gcc ... static array size needs to be computed from integer values
REFACTOR : gcc (but not clang) complains about these, so just make them preprocessor defines
REFACTOR : use unsigned long long because we don't actually care that this counter is 64bit
REFACTOR : remainder_buffer and miscellaneous tweaks
- Adds implementation commentary to document remainder_buffer purpose
- Also adds sample average for square wave boundary in case where remainder_buffer not used (whole-sample boundary)
- Variable renaming and code shuffling
REFACTOR : do not dynamically alloc remainder buffer
- Never attribute to cache-coherancy bugs what is a simple thread race =P
REFACTOR : comments and whitespace
REFACTOR : rename public speaker API functions
REFACTOR : clean up public speaker API
REFACTOR : tabs to spaces
REFACTOR : moar deadc0de clean up and renaming
REFACTOR : remove deadc0de paths from soundcore
REFACTOR : fully excise soundtype stuff now that we only support soundcard output
Move a file static to function scope
REFACTOR : rename more variables and remove deadc0de
REFACTOR : samples_buffer naming and change to explict int16_t
REFACTOR : removed deadc0de and shuffled code locations
REFACTOR : remainder buffer naming and clarify type
REFACTOR : move joystick timing to VM module and remove header visibility
REFACTOR : clarify speaker variable name
REFACTOR : clarify cycle counting codepaths
REFACTOR : VBL/timing interfaces
- eliminates passing around a common global
REFACTOR : names and comments
HACK around volume issue
REFACTOR : rename speaker feedback variable
REFACTOR : rename global total cycle count
REFACTOR : rename a constant
Fix test builds
REFACTOR: rename to is_fullspeed
REFACTOR : local variable naming changes
REFACTOR : migrate cycle timing variables to correct location and remove header visibility
Allow fullspeed codepath to update speaker
REFACTOR : remove deadc0de paths in prep for cleanup
REFACTOR : speaker now manages its own VM entry point
- Attempts to be byte-stream compatible with how AppleWin handles DOS-order, ProDOS-order, and NIB images
- Adds support for ProDOS-order images
- First cut at VBL support: (//e FlappyBird boots now!)
* Removes Linux-specific joystick handling
* Adds cross-platform GLUT joystick handling; Caveats:
- GLUT is not robust to joystick hot plugging like my old Linux-specific code was. (Fix should be made in the
GLUT driver and pushed upstream if we really care)
- Deprecated X11 renderer now can only use keypad joystick
* previously this classic interface acted as an oldschool modal dialog (which worked fine with the X11 renderer
where we actively pumped the event loop)
* Added an option to set caps lock (basing it off X11's value is not working well)
* Added a reboot emulator option (because Ctrl-Alt-End is potentially mapped by the X11 WM. ahem, Xfce...
* Use defines instead of magic numbers in a bunch of places
* Remove deprecated ii_keymaps and only use iie_keymaps
* Allow keypad corners for emulated joystick
* Merges input handling into one routine called thru video_sync at refresh rate
* Adds keypad joystick calibration routine
* Simplify joystick calibration routines to use same codepath as main emulator joystick handling
* Deprecate "lazy" color modes
* Allow setting speaker sound volume
* Make Joystick code more generic (future support of touch input)
* Deprecate setting emulator mode (//e is ascendant)
* Condensed reboot code path into reset codepath
* Reset sequence now checks for openapple or closedapple key and routes accordingly
* Pause/Break key is now strictly emulation pause key
* F4 is now unused
* End key is now mapped as //e reset key (easier to hit, and less likely window manager is using it)
* PrintScreen/SysReq key is now unused