Commit Graph

306 Commits

Author SHA1 Message Date
Aaron Culliney
be048746c5 Bug fix and optimize keyboard texture drawing
- preserve the semi-opaque halo
    - rerenders flip/flop red/green values in place
    - lower memory footprint
    - simplify codepaths
2015-09-04 22:27:57 -07:00
Aaron Culliney
75ecc47307 Bugfix : show correct current button character 2015-09-04 20:35:42 -07:00
Aaron Culliney
c09fc33e98 Simplify axis selection algorithm and add commentary 2015-09-03 22:24:27 -07:00
Aaron Culliney
8ffdb8461a Better comment for the current serious deficiency 2015-09-03 22:23:06 -07:00
Aaron Culliney
54587d166d Less choppy axis timing 2015-09-03 22:22:44 -07:00
Aaron Culliney
287df44133 Move tap delay to joystick variant
- Keypad variant already has a key repeat threshold
    - Improved variant touch lifecycle naming
2015-09-02 22:47:48 -07:00
Aaron Culliney
f046af0bef Improve state machine for keypad joystick; expire touch sources that have gone up 2015-09-02 22:45:00 -07:00
Aaron Culliney
fd2e65dd42 Bugfix : do not turn off caps_lock unless ownsScreen is also true 2015-09-02 22:33:56 -07:00
Aaron Culliney
2ae673e221 Balance touch indices decrement with increment 2015-09-02 22:33:13 -07:00
Aaron Culliney
5eb51419b0 Ignore multi-touch within a particular screen division (only one touch per Axis/Button side) 2015-08-30 17:04:28 -07:00
Aaron Culliney
27723be6cb Improved touch keypad joystick key repeat codepaths 2015-08-30 16:54:39 -07:00
Aaron Culliney
37e540180e Better handling of ctrl-key state and avoid conflict with keypad touch joystick 2015-08-29 12:12:29 -07:00
Aaron Culliney
8b02cb5f17 Cleaner logic for switching between soft keyboards 2015-08-29 12:07:56 -07:00
Aaron Culliney
158449e7fb Force CapsLock for Joystick Keypad for now 2015-08-29 12:05:09 -07:00
Aaron Culliney
2cd60c3c88 Expose all three touch interfaces in the sprouting menu for easier switching 2015-08-29 10:42:24 -07:00
Aaron Culliney
977cd9282d Lifecycle bugfix : don't override custom alternate/arrow keyboard configurations 2015-08-29 09:43:47 -07:00
Aaron Culliney
4258da8cbd Parse JSON that specifies alternate keyboard settings 2015-08-28 22:12:53 -07:00
Aaron Culliney
49c99d5ab7 Beginnings of customized alt touch keyboard layout 2015-08-23 15:03:30 -07:00
Aaron Culliney
59cb3e49f9 Enable various GL Touch Keyboard settings 2015-08-23 11:42:45 -07:00
Aaron Culliney
5df1e2400e Add ability to hide joystick controls overlay 2015-08-22 11:05:18 -07:00
Aaron Culliney
3f934ecd3f Fix cycling between different touch devices in the GL touch menu 2015-08-21 23:33:08 -07:00
Aaron Culliney
52ef663a2c toggle sprouting menu 2015-08-21 21:01:51 -07:00
Aaron Culliney
d2b526783a Improve joystick calibration modes and keypad menus 2015-08-21 20:34:19 -07:00
Aaron Culliney
a031a23999 Add a video_clear() routine 2015-08-20 22:12:54 -07:00
Aaron Culliney
5c3791f5dc Refactor GL Touch Joystick (PART I Native changes)
- 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.
2015-08-18 21:59:41 -07:00
Aaron Culliney
77e96ba1ec Misc touch keyboard tweaks
- Enable tab key
    - Allow nonactionable keys to be tapped when in configuration mode
    - Add font mini visual for spacebar
2015-08-12 22:38:21 -07:00
Aaron Culliney
03d27dd2b2 touch keyboard now returns key and scancode in flags 2015-08-09 14:21:09 -07:00
Aaron Culliney
7344cadfbd More joystick settings including calibration mode 2015-08-02 14:29:34 -07:00
Aaron Culliney
af04ba94d1 Migrate file globals into file static struct 2015-08-02 12:44:44 -07:00
Aaron Culliney
324d900c35 First cut at Android touch joystick configuration 2015-08-01 17:33:29 -07:00
Aaron Culliney
53f0999f5a Bugfix : use int64_t for onTouchEvent flags 2015-08-01 16:41:49 -07:00
Aaron Culliney
0d658932b6 Expose particular settings back to Android so we can persist the values 2015-07-30 23:12:00 -07:00
Aaron Culliney
0bc8869627 nativeOnTouch() now returns various state flags
- Allows playing of a key click sound if a keyboard item tapped
    - Improves stovepiping the native request to show the Android main menu
2015-07-30 22:05:21 -07:00
Aaron Culliney
abfa6e743b Bugfix : properly show icon for joystick or keyboard 2015-07-29 21:18:25 -07:00
Aaron Culliney
7067d10949 Android touch menu configurations 2015-07-28 22:22:25 -07:00
Aaron Culliney
a0cadc83c6 Refactor timing locking behavior
- Do not start CPU thread until after splash screen
    - Insure that only CPU thread can actually create/destroy the audio interfaces
2015-07-26 13:48:24 -07:00
Aaron Culliney
fa1de4dee7 Silence some logging 2015-07-26 10:41:12 -07:00
Aaron Culliney
7ca4a2646d Optimize video drawing and API cleanup
- Enforces synchronized access to video dirty bit
2015-07-12 14:13:13 -07:00
Aaron Culliney
edaa7be34f Avoid segfaults and deadlocks in backgrounding/foregrounding on Android 2015-07-05 13:40:50 -07:00
Aaron Culliney
38813bb2a1 Revert "Avoid segfault in render thread on mobile shutdown codepath"
This reverts commit ddefceaf08.

    - need an additional boolean instead
2015-07-05 13:29:35 -07:00
Aaron Culliney
ddefceaf08 Avoid segfault in render thread on mobile shutdown codepath 2015-07-04 18:18:06 -07:00
Aaron Culliney
afeffdab79 Tweak to avoid GCC complaint 2015-06-27 13:14:32 -07:00
Aaron Culliney
c4397123cb Assert that there is only one backend renderer 2015-06-22 22:21:27 -07:00
Aaron Culliney
20bbfcd286 Fixes for Tap Delay thread
- 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
2015-06-14 13:59:51 -07:00
Aaron Culliney
5e1d8552ef Ensure file globals are in file scope 2015-06-14 13:59:29 -07:00
Aaron Culliney
f28b708449 Delay joystick button touches FTW
- 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
2015-06-06 21:44:11 -07:00
Aaron Culliney
1da7acbaba Properly hook up Android shutdown paths 2015-06-06 21:18:27 -07:00
Aaron Culliney
3108e035ed Implement sticky-CTRL key for touch keyboard 2015-06-06 12:02:03 -07:00
Aaron Culliney
5773ef2e8d Simplify touch menu to just one model/texture
- Also seamlessly complements gltouchkbd layout
2015-06-03 22:13:19 -07:00
Aaron Culliney
f2abf4ce35 Fix emulator quit path on Android 2015-06-01 22:50:44 -07:00
Aaron Culliney
9d26e2c6f0 Tweak comments 2015-05-31 16:33:39 -07:00
Aaron Culliney
80b880550f Fix shutdown codepaths
- Ensures various shutdown codepaths (interface, cpu/audio, main/video, ...) run on proper thread(s)
    - Actually now runs the CloseAL() code
    - Try to ensure all detached threads exit ... seems to help keep Valgrind happy =)
2015-05-31 13:43:51 -07:00
Aaron Culliney
a4f185d197 Bugfix: allow unsigned indexing 2015-05-31 11:23:49 -07:00
Aaron Culliney
5816962f32 Make RGBA_4444 codepaths available to HUD models 2015-05-30 23:18:08 -07:00
Aaron Culliney
bcb36a4801 add codepath for RGBA_4444 textures 2015-05-30 18:58:34 -07:00
Aaron Culliney
a3b2afe18f Adds a semi-opaque halo effect around keyboard and menu glyphs for better contrast 2015-05-30 12:18:42 -07:00
Aaron Culliney
31cef9eb58 Avoid overflowing when rerendering character. 2015-05-29 22:14:53 -07:00
Aaron Culliney
cb72d483c0 Refactor INTERPOLATED_PIXEL_ADJUSTMENT calculations just to codepaths actually touching the internal framebuffers 2015-05-29 21:47:49 -07:00
Aaron Culliney
aee1111cb0 Better derivation of framebuffer macros 2015-05-29 21:46:37 -07:00
Aaron Culliney
1506aba551 Refactor: rename to video_reset() for clarity 2015-05-29 21:46:07 -07:00
Aaron Culliney
27ade69757 Refactor various display initialization routines to CTOR 2015-05-29 21:46:01 -07:00
Aaron Culliney
0cb3086622 gltouchjoy and keyboard are now toggle options 2015-05-23 23:30:18 -07:00
Aaron Culliney
692a6793cb Default enable touch joystick instead of keyboard 2015-05-23 23:25:32 -07:00
Aaron Culliney
4d3de200d9 Extra/configurable defaults to uppercase for U4 keys... 2015-05-21 22:32:38 -07:00
Aaron Culliney
13a7dbfbb0 defensive coding 2015-05-21 22:31:06 -07:00
Aaron Culliney
df218fed05 Improved keyboard with semi-inline arrows 2015-05-17 22:05:15 -07:00
Aaron Culliney
8e73b70f95 Touch keyboard now supports special keys 2015-05-10 15:25:50 -07:00
Aaron Culliney
68011fa8f2 First cut at touch menu HUD
- Enables choosing touch keyboard or touch joystick
    - Enables increasing/decreasing speed
    - Enables opening main popup menu
    - Also migrates all gesture responsibility away from Java side of things
2015-05-09 19:23:52 -07:00
Aaron Culliney
1126a319ec Misc tweaks to various GL interface objects 2015-04-26 18:12:56 -07:00
Aaron Culliney
e7c0d8fe48 Comments, and avoid NULL deref on app resume 2015-04-22 23:40:48 -07:00
Aaron Culliney
4e23795cfd First cut at GL touch keyboard 2015-04-22 23:32:36 -07:00
Aaron Culliney
725cf68011 Move common function to base class 2015-04-19 14:28:47 -07:00
Aaron Culliney
142f0181bc support showing hourglass pause animation 2015-04-19 14:28:09 -07:00
Aaron Culliney
2b658954f9 Various additions/changes to interface glyphs 2015-04-19 14:25:53 -07:00
Aaron Culliney
629e44b210 Slightly more idiomatic way to upload texture pixels 2015-04-18 15:29:55 -07:00
Aaron Culliney
c2bd14f9b5 REFACTOR : glcpuanim now manages all generic alert messages 2015-04-18 15:15:09 -07:00
Aaron Culliney
592c80344f Add new custom bitmap glyphs, and change load positions 2015-04-18 14:50:02 -07:00
Aaron Culliney
dcd0207525 Fix ctor load priorities 2015-04-17 22:12:13 -07:00
Aaron Culliney
2bc846d1fe Revert "Fix non-deterministic ctor load issues and use singleton for video_backend module access"
This reverts commit af95212a19.

    TODO : make ctor loads deterministic
2015-04-17 21:40:56 -07:00
Aaron Culliney
e2272132c2 Do not destroy OpenGL needful things for VAO codepath
- Gets Mac build rendering again
2015-04-16 21:53:44 -07:00
Aaron Culliney
af95212a19 Fix non-deterministic ctor load issues and use singleton for video_backend module access 2015-04-16 21:53:12 -07:00
Aaron Culliney
e2794070dd fix typos to allow gltouchjoy to build 2015-04-12 16:20:01 -07:00
Aaron Culliney
ca139ee94a REFACTOR : glanimation rechristend, touch handling genericized
- '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)
2015-04-12 15:55:06 -07:00
Aaron Culliney
5b5c6fa533 REFACTOR : interface menus/HUDs
- 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)
2015-04-12 14:23:35 -07:00
Aaron Culliney
121e250c62 REFACTOR : GLModel render pass is common for HUD models 2015-04-12 11:27:33 -07:00
Aaron Culliney
06051e44e7 REFACTOR : CPU animation is now a HUD model 2015-04-12 00:41:41 -07:00
Aaron Culliney
19e1a8e3d8 REFACTOR : beginnings of object-oriented approach for HUD models 2015-04-12 00:40:43 -07:00
Aaron Culliney
60d7e2b305 touchjoy render pass optimizations : avoid OpenGL calls if alpha is zero 2015-04-11 12:18:36 -07:00
Aaron Culliney
e876cd03b6 REFACTOR : begin consolidating common code for OpenGL HUD interfaces 2015-04-11 11:42:18 -07:00
Aaron Culliney
5712850e84 REFACTOR : demoModel -> GLModel 2015-04-11 11:42:18 -07:00
Aaron Culliney
9bbb180feb Bugfix touchjoy : make sure only the correct button is firing 2015-04-11 11:42:18 -07:00
Aaron Culliney
afc8c8bb24 Old Spamsung devices running Gingerbread cannot handle dangerous characters like backslash '\' in their OpenGL shader parsers 2015-04-07 23:17:13 -07:00
Aaron Culliney
985cec7725 Baseline GL touch joystick functionality (for AXIS_EMULATED_DEVICE type)
- Also updates GL touch joystick to allow dynamic HUD re-positioning
2015-04-04 20:35:34 -07:00
Aaron Culliney
23171c65fc unnecessary to send alpha parameter into function 2015-04-04 12:49:05 -07:00
Aaron Culliney
30236cb400 First cut at GL Touch Joystick 2015-04-01 19:59:38 -07:00
Aaron Culliney
d63bd7b412 macro defines for various mousetext characters 2015-04-01 19:57:12 -07:00
Aaron Culliney
c40f9f7487 X11 renderer : don't change XImage from different thread
- Only allow the X11 renderer thread to change the XImage
2015-03-23 22:05:08 -07:00
Aaron Culliney
30c59bd43f X11 renderer still works! 2015-03-23 21:45:46 -07:00
Aaron Culliney
af42dc36b2 Squashed commit of the following:
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
2015-03-22 18:53:13 -07:00
Aaron Culliney
e5fde057c9 Don't create new cpu_thread on app resume 2015-03-12 14:45:17 -07:00
Aaron Culliney
2965afe12e Two-finger-touch pops up softkeyboard and adjusts GL viewport 2015-03-11 12:54:50 -07:00
Aaron Culliney
09ff973016 Work around lack of GLSL version string in older Android device(s) 2015-03-10 10:23:52 -07:00
Aaron Culliney
2855d15f9b Get graphics working again on Mac and add another snide Android compiler warning =P 2015-03-10 10:22:47 -07:00
Aaron Culliney
c3969f9d1d Fixes to get Android tests rendering 2015-02-24 20:53:19 -08:00
Aaron Culliney
0c3121ac65 Android : copy stuff out of APK for ease of use, and pass data_dir to native side
- Also makes data_dir more useful for various platforms
2015-02-23 23:11:17 -08:00
Aaron Culliney
602c2530e6 Stub a touch-based joystick in OpenGL 2015-02-17 20:23:06 -08:00
Aaron Culliney
43b280d3ba REFACTOR : glinput.c -> glutinput.c 2015-02-17 20:13:18 -08:00
Aaron Culliney
604a325c6b Default to avoiding use of VAOs
- Default Android NDK does not have appear to have glGenVertexArrays, et al
2015-02-17 19:54:47 -08:00
Aaron Culliney
1c31c1074d REFACTOR : macro defines into toggles 2015-02-16 08:47:26 -08:00
Aaron Culliney
f234de116f Refactor speaker system to prevent audio glitches and to support CPU automatic speed switching
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
2015-01-31 13:57:10 -08:00
Aaron Culliney
780905155a Only render if necessary 2015-01-23 23:37:43 -08:00
Aaron Culliney
b8c44b81ab Simple FPS logging 2015-01-18 11:10:16 -08:00
Aaron Culliney
882eae4818 Ugh, GLUT idle func was chewing up CPU
- ugh, why is the millis parameter to glutTimerFunc() an int?! 1000ms/60Hz = 17ms
2015-01-14 23:24:33 -08:00
Aaron Culliney
643a431386 first cut at auto fast-loading of disk images
- automatically adjusts cpu timing to fastest if drive motor accessed recently and no audio/video
    - TODO: audio output clipping issue when (un)pausing audio outpu
2015-01-11 18:35:51 -08:00
Aaron Culliney
381d97c485 Preliminary VBL support sourced from AppleWin 2015-01-10 16:17:18 -08:00
Aaron Culliney
a7cd281037 mark other INTERFACE_CLASSIC codepaths 2015-01-10 14:14:49 -08:00
asc
34d043330b Silence some valgrind complaints 2014-12-21 13:59:04 -08:00
Aaron Culliney
031a8f51f8 Prevent some segfaults when shutting down on Linux 2014-12-21 13:51:45 -08:00
Aaron Culliney
b6e329a3c6 Prevent segfault in glGetError() during app initialization 2014-11-29 13:31:21 -08:00
Aaron Culliney
c075460b76 Gets OpenGL output working with testing VM and display
* Refactors test routine to its own thread to not interfere with OpenGL on main thread
    * Misc TESTING/HEADLESS switch tweaks
2014-11-22 14:24:43 -08:00
Aaron Culliney
e5e087c4e0 Refactor joystick handling
* 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
2014-11-09 15:48:05 -08:00
Aaron Culliney
6fdeee3896 Cleanup and fixes for compiler warnings 2014-10-31 16:27:39 -07:00
Aaron Culliney
65f991ebcc Build fixes for deprecated X11 variant 2014-10-30 00:11:17 -07:00
Aaron Culliney
a2a55d53ed Fixes for various clang static analyzer issues 2014-10-25 11:53:44 -07:00
Aaron Culliney
29e8502f23 Silence compiler warnings on Mac 2014-10-25 10:18:22 -07:00
Aaron Culliney
551cc00781 Silence a number of clang compiler warnings on Linux 2014-10-25 08:44:21 -07:00
Aaron Culliney
429561643e Fix build for testvm and testdisplay 2014-10-09 20:54:11 -07:00
Aaron Culliney
96c7544feb Support fullscreen mode with GLUT/Linux 2014-10-07 22:22:21 -07:00
Aaron Culliney
ca29ec543d Get Linux build working with OpenGL changes 2014-10-07 22:05:14 -07:00
Aaron Culliney
69bd40216b Refactor to rename Basic.vert and Basic.frag 2014-10-07 22:04:23 -07:00
Aaron Culliney
e696f7882f Refactor for whitespace and clarity 2014-10-07 21:59:21 -07:00
Aaron Culliney
d083fa958f do not use vgl.h, use glUtil.h 2014-10-07 21:26:50 -07:00
Aaron Culliney
6858e51a75 Apple2Mac first cut and refactor common rendering code
* Based on NSOpenGLView and Apple's GLEssentials sample code
    * CVDisplayLink- or NSTimer-driven rendering
    * Works in window or fullscreen mode on Mac OSX Lion or later

TODO FIXME:
    * Breaks Linux/Posix build
    * Cocoa menu interfaces
    * Key/mouse/joystick/gamepad handling
2014-09-30 21:01:58 -07:00
Aaron Culliney
f794098a02 Bugfix : properly handle control-modified keys
* GLUT sends the raw ascii ctrl-values, so we merely send them along in a "cooked" mode
        + It may be that some strange ctrl combinations (saw CTRL-~ or CTRL-ESC) are not properly handled this way, but
        ... not sure what can be done about this (doesn't seem to be a way to force glut to send us the non-cooked keys)
    * Legacy X11 input continues to be sent as raw values (which arguably is a better way)
2014-09-21 17:26:37 -07:00
Aaron Culliney
db8ac1c98b Refactor : separate glut input handling into its own file 2014-09-21 16:06:32 -07:00
Aaron Culliney
d0800fd347 Remove deadc0de key handling paths (leftover from X11) 2014-09-21 15:44:25 -07:00
Aaron Culliney
804f60d6a0 Fix key input handling in GLUT/glvideo
* TIL GLUT constants for certain special keys map to ascii (for example GLUT_KEY_ALT_L == 116/'t') ... of course
      this was playing hell with the emulator's key input handling
    * Now we directly convert regular keys rather than pushing them down the special path
    * Also separateds CAPS_LOCK hack into its own inline function
2014-09-21 15:37:38 -07:00
Aaron Culliney
c3ac3e8f1c Get the PC Joystick working with glvideo renderer 2014-09-21 14:33:54 -07:00
Aaron Culliney
c162617234 Remove a bunch of deadc0de 2014-09-21 13:35:37 -07:00
Aaron Culliney
df8ae3d018 First cut at basic OpenGLES 2.0 renderer
* Compiles/runs on Linux
    * X11 renderer is now deprecated
2014-09-16 21:34:04 -07:00
Aaron Culliney
a929ef854c Refactor video_sync() and friends
- main thread render loop goes into X11 video driver
    - removes video_sync()
2014-09-16 20:38:14 -07:00
Aaron Culliney
77e8f88edc Refactoring colormap to internal structure/array 2014-08-17 15:31:49 -07:00
Aaron Culliney
4fb69a3196 Slight refactoring of key handling
* Adds a mapping from common ASCII to internal scancodes
    * Renaming for consistency
2014-08-17 15:29:06 -07:00
Aaron Culliney
2def12c703 Fix build warning 2014-06-08 15:50:34 -07:00
Aaron Culliney
2f2698ed9e Mark non-XShm support as buggy 2014-06-08 14:14:47 -07:00
Aaron Culliney
57a01d28a8 Refactoring coding style for clarity 2014-05-18 14:40:53 -07:00
Aaron Culliney
95ff4adb08 Refactor hires table initializations 2014-05-17 13:45:55 -07:00
Aaron Culliney
8b0325d60d "HEADLESS" CPP define and envvar switches
* Allows running emulator in headless mode (default for some tests)
    * setting HEADLESS=1 envvar from commandline will force headless operation
2014-04-26 13:34:35 -07:00
Aaron Culliney
a43d31a22e Remove non-//e code paths 2014-04-05 12:22:12 -07:00
Aaron Culliney
558ec8f1d5 Remove non-"640x400" display mode 2014-04-04 22:16:29 -07:00
Aaron Culliney
afcc95c2f4 Allow Caps Lock state from X11 to override default 2014-03-30 13:20:56 -07:00
Aaron Culliney
209eb86051 More common video code
* Provide new function to get current common framebuffer
    * Migrates non-X11 video_setpage routine
2014-03-30 11:11:02 -07:00
Aaron Culliney
78a3b39f6d Interface menu changes
* 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...
2014-03-25 23:42:05 -07:00
Aaron Culliney
1dd72ec999 Codepaths for VIDEO_X11 macro conditional 2014-03-23 14:43:19 -07:00
asc
17440949bf Updates to support testing 2014-01-25 14:13:38 -08:00
asc
3abd2e87aa Refactor to use GNU build tools
* Added configure.ac and non-recursive Makefile.am
    * Modularized source into subdirectories
    * Simplified header inclusion
2014-01-22 20:51:50 -08:00