Commit Graph

341 Commits

Author SHA1 Message Date
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
5e9e98bf88 Fixes keypad joystick emulation with glvideo
* This prevents resetting the joystick to the origin too soon when key is being held down
    * Verified doesn't affect legacy X11 xvideo input processing
2014-09-21 15:01:02 -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
1e97564ea7 Clean up colormap initialization and fix lo and dhires Medium blue color 2014-09-18 23:03:42 -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
eb2e038bf0 Refactor classic interface to run within its own thread
* previously this classic interface acted as an oldschool modal dialog (which worked fine with the X11 renderer
      where we actively pumped the event loop)
2014-09-16 20:42:07 -07:00
Aaron Culliney
afc15e0b63 Refactor INTERFACE_CLASS stuff out of disk API 2014-09-16 20:40:42 -07:00
Aaron Culliney
1b8387d214 cput_thread() now has correct pthread function prototype 2014-09-16 20:39:08 -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
8621b1ac53 Refactor: macro should be capitalized 2014-09-06 19:47:59 -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
e0dbcf4afc Work around an apparent clang bug
* tests were previously reported to fail with -O2 optimization
2014-08-16 11:25:07 -07:00
Aaron Culliney
a99b5a1d68 HACKs around bizarre bytecode generation on Darwin
* CPU tests pass now, w00t!
2014-06-25 23:01:22 -07:00
Aaron Culliney
e527e40a6a Remove XCTest stuff and roll our own
* Eh, not sure what bennies going with XCTest offers, use our existing stuff
    * Also appears that XCTest does some real whacky dloading jazz that doesn't play well with our hand-rolled assembly
2014-06-25 22:55:58 -07:00
Aaron Culliney
576df53cb4 Rename CPU Test 2014-06-25 21:30:52 -07:00
Aaron Culliney
eb51f5e23f ROM shim for Xcode builds 2014-06-22 12:26:40 -07:00
Aaron Culliney
3b344ed8e7 Don't fail build if ROM generation fails 2014-06-22 11:25:57 -07:00
Aaron Culliney
10e03e9bc5 Get tests working again
* Refactor naming of saved CPU state variables
    * Allows convenient addressing from assembly
2014-06-22 11:17:44 -07:00
Aaron Culliney
a3973b2e35 ROM generation 2014-06-22 11:09:59 -07:00
Aaron Culliney
670a776571 Fixes for Linux build 2014-06-21 23:40:04 -07:00
Aaron Culliney
fd2f143c64 OS X Cocoa target "hello world" 2014-06-21 22:05:38 -07:00
Aaron Culliney
a69d8685eb Reset Darwin target(s)
* Unfortunately cocos2d doesn't support what I'd like to do with a Mac target at this point, maybe sometime...
2014-06-21 20:37:48 -07:00
Aaron Culliney
3a3219234f Get tests building on OS X 2014-06-21 15:43:24 -07:00
Aaron Culliney
6e4b390b0d HACK until audio system refactored 2014-06-21 14:55:30 -07:00
Aaron Culliney
4597bb2a7e use arc4random_uniform() 2014-06-21 14:52:13 -07:00
Aaron Culliney
ea71d197e0 Handle unlikely overflow and silence clang warning 2014-06-21 14:51:41 -07:00
Aaron Culliney
cecc78e824 Silence clang warnings 2014-06-21 14:51:25 -07:00
Aaron Culliney
a9d094c112 Misc tweaks to get OS X target building 2014-06-21 14:28:50 -07:00
Aaron Culliney
ed8b41c9a0 New CPP macros to accommodate Darwin 2014-06-21 14:21:33 -07:00
Aaron Culliney
d650982e51 Slightly less hackishly, use "private" pointers to set struct vals 2014-06-21 14:21:05 -07:00
Aaron Culliney
a4670b1eda Use CPP macro for duplicate assembly 2014-06-21 14:20:28 -07:00
Aaron Culliney
c13caa0798 add callLQ preprocessor macro 2014-06-21 14:05:00 -07:00
Aaron Culliney
44f06dfb48 don't {Pre,Post}fix Project Preprocessor macro with __ 2014-06-21 13:46:02 -07:00
Aaron Culliney
02a4feba78 Build shim for glue.S and Mac project tweaks 2014-06-21 13:43:13 -07:00
Aaron Culliney
51e261fc9d Add font.c to reduce Xcode project build complexity
* font.c shouldn't change if font.txt isn't tweaked
    * easy to regenerate without needing Xcode
2014-06-21 12:17:59 -07:00
Aaron Culliney
ac55dee266 Adds unit test target to project, moves existing tests to that target 2014-06-21 12:14:15 -07:00
Aaron Culliney
b9cdf663a0 Shim clock_gettime 2014-06-21 10:02:26 -07:00
Aaron Culliney
686d4e9b63 Initial integration of emulator code
* No audio support
    * No video support
2014-06-21 09:36:49 -07:00
Aaron Culliney
7c44ff4191 Initial Cocos2d Mac project 2014-06-16 22:57:54 -07:00
Aaron Culliney
6a6a7b6d43 test-driver 2014-06-14 12:32:27 -07:00
Aaron Culliney
5083aac4b7 silence compiler warnings 2014-06-14 12:19:15 -07:00
Aaron Culliney
87a34d2d97 Remove compiler pragmas and silence a spurious assert 2014-06-14 12:13:49 -07:00
Aaron Culliney
1649419b39 Fixe unused variable warnings 2014-06-14 11:50:50 -07:00
Aaron Culliney
595bab04bd Fix warnings 2014-06-14 11:26:49 -07:00
Aaron Culliney
8ded3fa0f1 Expose unused variables and improve logging
* Adds support for RELEASE_ logging (logging even with NDEBUG builds)
2014-06-14 11:26:33 -07:00
Aaron Culliney
86076697b9 BLOAD now takes a bank argument 2014-06-14 10:37:14 -07:00
Aaron Culliney
46f8e711f6 tweak comments 2014-06-14 10:34:24 -07:00
Aaron Culliney
2cb599b173 .gitignore 2014-06-14 10:31:04 -07:00