Commit Graph

537 Commits

Author SHA1 Message Date
Aaron Culliney
7f395edc11 comment unstable test 2014-10-11 19:59:44 -07:00
Aaron Culliney
f11b6948bb Work around broken assembly for PLP instruction on Mac 2014-10-11 19:36:49 -07:00
Aaron Culliney
a37ed6cd98 tests run again on Mac 2014-10-11 19:34:12 -07:00
Aaron Culliney
c4609e0c68 Improved PLP and PHP tests 2014-10-11 19:33:13 -07:00
Aaron Culliney
acc3deb264 Tweaks to disk boot trace test 2014-10-11 18:31:19 -07:00
Aaron Culliney
4c9c1fb62a First cut at a facility to do CPU tracing
* Also includes a test that traces booting the test disk
2014-10-11 18:28:48 -07:00
Aaron Culliney
15927d1554 test raw disk stream 2014-10-11 10:44:20 -07:00
Aaron Culliney
d6b8057c57 Beginning of VM Tests on Mac 2014-10-10 20:05:46 -07:00
Aaron Culliney
0b9515f2cd Excise ALSA, only use OpenAL 2014-10-09 21:17:54 -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
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
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
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
b9cdf663a0 Shim clock_gettime 2014-06-21 10:02:26 -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
995643dfa2 DAA and DAS algorithms for x86_64 2014-06-13 23:57:56 -07:00
Aaron Culliney
2def12c703 Fix build warning 2014-06-08 15:50:34 -07:00
Aaron Culliney
1b2a46dff4 x86_64 bugfix : subtract 32bit int type 2014-06-08 15:46:59 -07:00
Aaron Culliney
2f2698ed9e Mark non-XShm support as buggy 2014-06-08 14:14:47 -07:00
Aaron Culliney
f72976a566 Fix calling conventions on x86_64 2014-06-08 13:12:48 -07:00
Aaron Culliney
45f29f363f Fix ROR instruction on x86_64 2014-06-08 13:12:12 -07:00
Aaron Culliney
c33cdb4b25 x86_64 target builds 2014-06-08 11:01:38 -07:00
Aaron Culliney
126d049ffc Refactor to two jump vectors
* Believe needed to allow minimal change for x86_64 codepath
2014-06-07 16:05:38 -07:00
Aaron Culliney
320819c829 on second thought, .balign 16 always
* if someone still has an olde i[345]86 machine that b0rks... fix it then! =P
2014-06-07 16:01:36 -07:00
Aaron Culliney
71f71af834 Use name-indirection for assembly acting on full-length registers 2014-06-07 15:05:29 -07:00
Aaron Culliney
efc63aeb7a Refactoring: removing redundant code 2014-06-07 14:21:12 -07:00
Aaron Culliney
23e6e0ea75 Use name-indirection for all registers 2014-06-07 13:59:49 -07:00
Aaron Culliney
30cf264aa6 Refactoring: shifting to avoid stack hit 2014-06-07 13:40:18 -07:00
Aaron Culliney
05e10b7eb8 inline macros used once and brace apple vm specific code 2014-06-07 13:08:01 -07:00
Aaron Culliney
b10593796c Move x86-specific assembly alignment macros and add __i686__ 2014-06-07 13:02:22 -07:00
Aaron Culliney
fa03fb3d48 Refactoring for efficiency on restore from C 2014-06-07 12:41:47 -07:00
Aaron Culliney
32f53a4e57 Refactoring to isolate full-length registers 2014-06-07 12:06:53 -07:00
Aaron Culliney
d7685a2163 Refactoring for more consistent/descriptive register names 2014-06-07 11:44:27 -07:00
Aaron Culliney
8791730b12 refactoring whitespaces, no code change 2014-06-07 11:29:07 -07:00
Aaron Culliney
24ed2ea6ef Refactoring assembly : move x86 registers to separate file 2014-06-07 10:54:56 -07:00
Aaron Culliney
6d63592ada Misc BASIC test scripts 2014-05-31 10:45:30 -07:00
Aaron Culliney
28ba68d8f1 move greatest.h into test directory 2014-05-31 10:42:10 -07:00
Aaron Culliney
cb56177369 rename asm386 -> x86 2014-05-31 10:29:39 -07:00
Aaron Culliney
00d36d3f5e slightly improved display tests 2014-05-28 22:16:11 -07:00
Aaron Culliney
3d45e75ea1 Refactor dhires graphics plotting to C 2014-05-23 08:46:25 -07:00
Aaron Culliney
46b6fa5342 Improve the dhires plotting routine 2014-05-23 08:24:25 -07:00
Aaron Culliney
c0e4e8ab31 refactor video_redraw to C 2014-05-20 22:47:19 -07:00
Aaron Culliney
6af5eb8be8 Fix interpolated colors 2014-05-18 21:27:19 -07:00
Aaron Culliney
0cea462c29 remove redundant code 2014-05-18 20:01:38 -07:00
Aaron Culliney
fd12c8cf53 Refactor Hires GRaphics to C 2014-05-18 19:51:34 -07:00
Aaron Culliney
57a01d28a8 Refactoring coding style for clarity 2014-05-18 14:40:53 -07:00
Aaron Culliney
f7369869d7 Beginning refactoring hires graphics to C 2014-05-18 13:27:11 -07:00
Aaron Culliney
e2e00b3485 Refactor display macros 2014-05-17 17:31:42 -07:00
Aaron Culliney
95ff4adb08 Refactor hires table initializations 2014-05-17 13:45:55 -07:00
Aaron Culliney
83da4c11af Merge macros used only once 2014-05-17 12:55:14 -07:00
Aaron Culliney
c22fbd0374 Reduce dependence on global TEMP buffer
* display.S still uses this ... will be refactored completely with new video update
2014-05-11 19:18:53 -07:00
Aaron Culliney
4e6718be37 Tweak joystick x-axis
* Seems to make S.R. play better and doesn't affect A.H.
2014-05-11 17:45:00 -07:00
Aaron Culliney
148dfa2f20 Refactor CPU code
* Moves cpu jump table, opcycles table, and others to C
    * Removes support for old/unused/deprecated nmos routines and tables
2014-05-11 17:06:53 -07:00
Aaron Culliney
5ec2901e98 Make opcode entry points globally linkable 2014-05-11 14:48:52 -07:00
Aaron Culliney
360c2fded1 Work around an abort in mockingboard for now 2014-05-11 13:55:54 -07:00
Aaron Culliney
0d109c404d Use named registers 2014-05-11 13:54:24 -07:00
Aaron Culliney
7d97d2e211 Complete refactoring VM routines to C 2014-05-11 13:54:03 -07:00
Aaron Culliney
53a9cc3950 HACK around apparently problematic return from calling C
* HACK ALERT!!! movl(%eax), %eax   --or--  movzbl(%eax), %eax
    * This pattern appears to be generated in some cases by the compiler.  It's not clear to me why it's a problem for
      the emulator (not a crash per se, but an emulation lock-up).
    * Current suspicion is that there are side-effects in the x86 flags from this instruction/indexing mode which are
      copied into the 6502 flags
    * Current sample code showing problem (and non-boot of emulator) is f785da40e9
2014-05-11 13:17:47 -07:00
Aaron Culliney
403cb8b154 Add a comment about suspect code 2014-05-11 13:15:14 -07:00
Aaron Culliney
f785da40e9 refactor C3ROM,CXROM switches to C 2014-05-10 22:39:03 -07:00
Aaron Culliney
400364b739 refactor some softswitch query routines to C 2014-05-10 22:14:46 -07:00
Aaron Culliney
cb387f21dc refactor DHIRES,IOUDIS switches to C 2014-05-10 22:07:25 -07:00
Aaron Culliney
2932c6b832 refactor ALTCHAR switch to C 2014-05-10 21:41:48 -07:00
Aaron Culliney
e6c582bab6 refactor 80COL switch to C 2014-05-10 21:36:55 -07:00
Aaron Culliney
a206fc06b8 refactor ALTZP switch to C 2014-05-10 21:25:54 -07:00
Aaron Culliney
442fe390de use ALTZP offset to avoid test/branch 2014-05-10 18:44:18 -07:00
Aaron Culliney
0c25ec25d6 Save/restore other crucial registers for safety 2014-05-10 16:45:10 -07:00
Aaron Culliney
7fd9857102 Use named registers 2014-05-10 16:39:51 -07:00
Aaron Culliney
f3ea9fa256 tabs -> spaces 2014-05-10 16:33:31 -07:00
Aaron Culliney
ed19f5c52c %edx -> SP_Reg 2014-05-10 16:21:42 -07:00
Aaron Culliney
bb4acc967c refactor RAMRD,RAMWRT switches to C 2014-05-10 14:19:06 -07:00
Aaron Culliney
ba1c2b0451 refactor 80STORE switch to C 2014-05-10 13:59:07 -07:00
Aaron Culliney
5249248aaa refactor language card switches to C 2014-05-10 13:40:29 -07:00
Aaron Culliney
aef793cfab removed unused ][ rom stuff 2014-05-10 13:11:02 -07:00
Aaron Culliney
1c3fc78838 refactor game controller switches to C 2014-05-10 13:08:44 -07:00
Aaron Culliney
ebde9266e3 refactor HIRES switch to C 2014-05-10 12:36:59 -07:00
Aaron Culliney
2600c13723 refactor TEXT and MIXED switches to C 2014-05-10 12:26:06 -07:00
Aaron Culliney
8b00636f66 refactor PAGE2 switch to C 2014-05-10 11:56:54 -07:00
Aaron Culliney
9ff453be23 Beginning to refactor memory.S -> vm.c 2014-05-10 11:55:41 -07:00
Aaron Culliney
25cd542a2c potential bugfix for iie_dhires_on, iie_dhires_off 2014-05-10 11:20:31 -07:00
Aaron Culliney
95baf5c4df bugfix... RAMWRT instead of RAMRD 2014-05-04 17:24:13 -07:00
Aaron Culliney
7827c6bcb3 C3ROM/CXROM softswitch tests 2014-05-04 17:19:48 -07:00
Aaron Culliney
a327e43ddc checking TEXT/MIXED/PAGE2/HIRES/BANK2/LCRAM softswitches 2014-05-04 16:33:24 -07:00
Aaron Culliney
48856786d1 test setting/checking DHIRES 2014-05-04 15:19:57 -07:00
Aaron Culliney
f69279eb66 test setting/checking IOUDIS 2014-05-04 14:59:27 -07:00
Aaron Culliney
f8b9ce3f00 test setting/checking ALTCHAR 2014-05-04 14:45:19 -07:00
Aaron Culliney
aea7b33873 test setting/checking 80COL 2014-05-04 14:44:07 -07:00
Aaron Culliney
1a83d08fb6 test setting/checking ALTZP 2014-05-04 14:29:43 -07:00
Aaron Culliney
5d8fccefa9 robustify test of softswitch checking routines 2014-05-04 14:26:17 -07:00
Aaron Culliney
0bc83068f1 test setting/checking RAMWRT 2014-05-04 12:50:02 -07:00
Aaron Culliney
97806a258b test setting/checking RAMRD 2014-05-03 15:31:56 -07:00
Aaron Culliney
466bd752f1 test setting/checking 80STORE 2014-05-03 14:46:03 -07:00
Aaron Culliney
a094742df6 A few more checks for test that toggles ramrd/ramwrt 2014-05-03 14:44:54 -07:00
Aaron Culliney
e7221ce170 Additional checks alongside pseudo-softswitch SS_SCREEN 2014-05-03 13:28:44 -07:00
Aaron Culliney
99ec9a62f3 test C088, C089, C08A, C08B switches 2014-05-03 12:21:58 -07:00
Aaron Culliney
2f27b82c83 test C082, C083 switches 2014-05-01 21:41:51 -07:00
Aaron Culliney
05e1d88c37 test language card C081 switch 2014-05-01 21:41:31 -07:00
Aaron Culliney
30b80c1722 first language card test 2014-04-28 12:56:40 -07:00
Aaron Culliney
d514fd05a0 refactor to use better flag names, better softswitch result test, ... 2014-04-28 12:54:58 -07:00
Aaron Culliney
4a88b100f5 test HIRES switch 2014-04-28 11:59:41 -07:00
Aaron Culliney
b92c59eac6 6502 assembly test helper defines 2014-04-28 11:58:46 -07:00
Aaron Culliney
80032e17f9 define should be larger and private 2014-04-28 11:56:36 -07:00
Aaron Culliney
304442655c Attempt to load non-gzipped test disks (aborted from previous runs) 2014-04-28 11:55:51 -07:00
Aaron Culliney
615204ebc9 A 6502 assembly script to test AUXMOVE and RAMRD boundary execution 2014-04-28 11:53:59 -07:00
Aaron Culliney
418509f2c1 don't leak 2014-04-28 11:44:45 -07:00
Aaron Culliney
5b46978233 Allow "complete" reboots to occur when debug-stepping
* This allows reboot to work if RAMRD switch is set to auxmem (as it is in a few VM tests)
2014-04-28 11:40:51 -07:00
Aaron Culliney
1a7fc8ab10 TEXT and MIXED switch tests 2014-04-26 15:44:13 -07:00
Aaron Culliney
f99f283ff2 Move more common code into testcommon.c 2014-04-26 15:43:40 -07:00
Aaron Culliney
14ca3c788a test_PAGE2_off and improved test_PAGE2_on 2014-04-26 14:38:22 -07:00
Aaron Culliney
2169ecbab6 Refactor tests to use common code 2014-04-26 14:01:26 -07:00
Aaron Culliney
352183cbeb beginning of softswitch tests 2014-04-26 13:59:52 -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
22bf206626 Beginning of virtual machine/memory tests 2014-04-20 12:26:25 -07:00
Aaron Culliney
bdec0fbe44 Rename testvm -> testdisplay 2014-04-20 10:45:43 -07:00
Aaron Culliney
ab5be45000 Macroize redundant code, remove cruft 2014-04-19 19:19:26 -07:00
asc
4839cc512a missing AUDIO_ENABLED 2014-04-10 23:25:04 -07:00
Aaron Culliney
a1e4ba5cc2 Sanity-check .dsk and .nib image raw byte sizes 2014-04-06 21:49:02 -07:00
Aaron Culliney
535abd2c6c Disconcertingly, flush() after each fwrite() appears to make it work. Something is wrotten somewhere... 2014-04-06 21:15:06 -07:00
Aaron Culliney
b5f018f408 refactor text/lores drawing routines to C 2014-04-06 14:07:44 -07:00
Aaron Culliney
e05dda9515 Better/moar display tests
* Tests lores and lores/mixed modes
2014-04-05 23:10:55 -07:00
Aaron Culliney
29609230bc Refactor text plotting routines to C
* Moves plot character routines to C from i386 assembly
2014-04-05 16:12:00 -07:00
Aaron Culliney
a43d31a22e Remove non-//e code paths 2014-04-05 12:22:12 -07:00
Aaron Culliney
9a5a5ce476 Use BANK2 offset instead of magic constant 2014-04-05 10:24:29 -07:00
Aaron Culliney
558ec8f1d5 Remove non-"640x400" display mode 2014-04-04 22:16:29 -07:00
Aaron Culliney
fe68032b0d vidsup.c -> display.c 2014-04-04 22:08:13 -07:00
Aaron Culliney
cb04d39c37 Don't check for the I flag on PLP and RTI
* Apparently the I flag is not set for PLP and RTI, or rather, our implementation of
      mockingboard seems to expect it not to be set for these opcodes...
2014-03-30 15:31:57 -07:00
Aaron Culliney
c1e2e99c26 Beginnings of various virtual machine tests
* Tests run the virtual 65c02 machine through the debugger interface
    * The various display mode tests verify against the SHA1 of the framebuffer
    * Includes some Applesoft BASIC script tests (also loaded on disks/testvm1.dsk.gz)
2014-03-30 14:08:13 -07:00
Aaron Culliney
3005fcaa6e differentiate between typing/loading as variant of going 2014-03-30 13:58:34 -07:00
Aaron Culliney
afcc95c2f4 Allow Caps Lock state from X11 to override default 2014-03-30 13:20:56 -07:00
Aaron Culliney
1d95df15c6 work around compiler warnings in flex-generated debug.c 2014-03-30 13:19:59 -07:00
Aaron Culliney
aa43e7c0db Fixes for bsave/bload
* Warn/abort for overflows
2014-03-30 13:17:47 -07:00
Aaron Culliney
aefd1053d6 Allow programmatic setting of memory watchpoints 2014-03-30 12:35:09 -07:00
Aaron Culliney
ec76ee5b77 New debugger commands and changes
* TYPE : send debugger console through to the machine
    * LOAD : send textfile through to the same mechanism
    * FBSHA1 : get a SHA1 value of the current machine framebuffer
    * better CPU stepping functionality
2014-03-30 12:33:42 -07:00
Aaron Culliney
baf9315d01 better pthread signaling between ui and cpu threads 2014-03-30 11:17:12 -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
52b087f805 sanity-check for cpu thread 2014-03-30 11:10:24 -07:00
Aaron Culliney
5d552b445c a debugger init function
* in addition this change persists breakpoints/watchpoints across reboots
2014-03-30 10:53:57 -07:00
Aaron Culliney
2369481924 Use sane defaults 2014-03-30 10:41:28 -07:00
Aaron Culliney
98cd975328 ifndef MIN() & MAX() macros 2014-03-30 10:39:45 -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
e54ce95389 Move disk compression routines to disk module
* Makes these routines useable from alternate interfaces, (including tests)
2014-03-25 22:11:01 -07:00
Aaron Culliney
df668f0d6a testrunner.c merged into testcpu.c 2014-03-23 14:46:29 -07:00
Aaron Culliney
1dd72ec999 Codepaths for VIDEO_X11 macro conditional 2014-03-23 14:43:19 -07:00
Aaron Culliney
e57f332ff6 moar ifdefs for various macro conditional codepaths
* INTERFACE_CLASSIC : specifies the "classic" (current) menuing system
    * AUDIO_ENABLED : specifies whether audio code is enabled
2014-03-23 14:25:28 -07:00
Aaron Culliney
a95354d87c cycles_adjust is too small to be worth calculating 2014-03-22 16:39:07 -07:00
Aaron Culliney
f34eff338b 65c02 Debugger fixen
* Threading fixes to allow CPU thread to iterate while under control of interface/video thread
2014-03-22 13:57:51 -07:00
Aaron Culliney
c300e3e016 Fix cycle count on op_STZ_abs_x 2014-03-22 11:16:40 -07:00
Aaron Culliney
20121f38b5 Allow CPU interruption at beginning of stepping 2014-03-22 10:37:04 -07:00
Aaron Culliney
a4221e90da comment opcodes 2014-03-19 20:07:36 -07:00
Aaron Culliney
6df967462e Fix STx commands
* Remove deadc0de op_STA_imm
    * Fix cycle counts
    * Bugfix op_STZ_zpage_x
2014-03-16 14:48:22 -07:00
Aaron Culliney
5709788323 test Txx opcodes 2014-03-16 14:43:05 -07:00
Aaron Culliney
7093d69fd4 test STx instructions 2014-03-16 13:39:31 -07:00
Aaron Culliney
60a740646c test SEC SED SEI 2014-03-16 12:13:33 -07:00
Aaron Culliney
d802595071 RTI & RTS tests 2014-03-16 12:06:20 -07:00
Aaron Culliney
582678d7b2 ROL and ROR tests 2014-03-16 11:37:47 -07:00
Aaron Culliney
e4263a3194 PHx and PLx instructions 2014-03-15 20:55:35 -07:00
Aaron Culliney
fea157cdf6 initialize test RNG and misc tweaks 2014-03-15 20:54:02 -07:00
Aaron Culliney
306d0e7d22 bugfix for op_JMP_ind on page boundaries
* Reference : _Understanding the Apple IIe_ section 4-25
    * Includes testcase
2014-03-15 20:52:15 -07:00
Aaron Culliney
512c06f250 ORA tests 2014-03-15 14:37:15 -07:00
Aaron Culliney
1439dbc773 LSR tests 2014-03-02 17:49:41 -08:00
Aaron Culliney
e959953b03 Improve DEx and INx test logic 2014-03-02 17:24:30 -08:00
Aaron Culliney
3e06870868 Better logic_LDx and LDX LDY tests 2014-03-02 17:06:23 -08:00
Aaron Culliney
3c72a8a5e3 LDA tests 2014-03-02 16:14:16 -08:00
Aaron Culliney
16f061b74a JMP & JSR instructions 2014-03-02 15:14:31 -08:00
Aaron Culliney
4e755ad80f test incrementing instructions 2014-03-02 11:06:02 -08:00
Aaron Culliney
de9a3861ed EOR tests 2014-03-02 10:51:07 -08:00
Aaron Culliney
cc35f5e468 test decrementing instructions 2014-02-23 12:35:01 -08:00
Aaron Culliney
fc33757f97 CPX CPY tests 2014-02-23 11:05:30 -08:00
Aaron Culliney
a1c6b30299 CMP tests 2014-02-23 09:18:09 -08:00
Aaron Culliney
dd2f22df4a IRQ test 2014-02-22 21:08:01 -08:00
Aaron Culliney
9275fb7eba CLx tests 2014-02-22 20:02:58 -08:00
Aaron Culliney
ebb170fb75 BIT tests 2014-02-22 19:44:38 -08:00
Aaron Culliney
8f9c2dcbde Bugfix: use correct addressing mode for BIT variant
* How did this ever... ?
2014-02-22 19:19:51 -08:00
Aaron Culliney
442915b9cb Branch tests and misc tweaks 2014-02-22 14:28:01 -08:00
Aaron Culliney
d481d59851 correct branch cycle counting 2014-02-22 14:00:56 -08:00
Aaron Culliney
07740bbb66 ASL tests 2014-02-22 12:04:29 -08:00
Aaron Culliney
35d75b6205 SBC tests 2014-02-22 10:30:38 -08:00
Aaron Culliney
31ce1d5cf9 Silence and fixes 2014-02-22 10:00:09 -08:00
Aaron Culliney
2d6843f854 Simplify non-immediate mode tests
* Removes testing decimal flag for these tests
2014-02-22 09:57:56 -08:00
Aaron Culliney
c0a1e3e952 Simplify ADC decimal mode test logic
* Skip testing illegal BCDs
2014-02-22 09:53:55 -08:00
Aaron Culliney
43ada45a36 Enable illegal BCD break/debugging
* Debugging builds will now segfault if an illegal BCD is encountered
    * Presumably current x86 undefined behavior does not 100% correspond to 6502
      undefined behavior ... (this bears further investigation)
2014-02-22 09:45:19 -08:00
Aaron Culliney
6724e06500 Test fixes
* Test initial carry logic in ADC immediate mode tests
    * Simplify decimal funneling tests in immediate mode
2014-02-20 10:28:18 -08:00
Aaron Culliney
db420d357b Updates to test procedure and test ADC, AND 2014-02-01 12:42:40 -08:00
Aaron Culliney
f836a3004d some commenting for clarity 2014-02-01 12:18:48 -08:00
Aaron Culliney
4ce4a37dd3 silence some printouts 2014-02-01 12:18:07 -08:00
Aaron Culliney
5215358800 Flag to allow silence on successes 2014-02-01 12:17:19 -08:00
Aaron Culliney
7e9388dda2 Allow for setting greatest breakpoint function
* Allows for breakpointing/debugging failing tests using a debugger
2014-02-01 12:15:16 -08:00
Aaron Culliney
be2da135cf The beginnings of a testsuite 2014-01-25 22:12:54 -08:00
Aaron Culliney
8976808568 More updates to support testsuite 2014-01-25 22:10:33 -08:00
asc
17440949bf Updates to support testing 2014-01-25 14:13:38 -08:00
asc
6864dbe3fc Remove mode option 2014-01-25 14:00:10 -08:00
asc
1009d4e708 Move soundcore-alsa to correct location
* Also these files are deprecated
2014-01-25 13:49:37 -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
Aaron Culliney
12f6c9704e Support for dynamically changing window size
* Beginning of support for fullscreen mode
    * Fullscreen depends on "fuzzing" the graphics
2014-01-04 14:24:55 -08:00
Aaron Culliney
b5023f88f4 Interface tweaks 2014-01-01 11:36:27 -08:00
Aaron Culliney
58041f5105 Set/synchronize CAPSLOCK from X11 2014-01-01 11:15:54 -08:00
Aaron Culliney
8414a37025 Allow regular arrow keys to move joystick axes
* Useability enhancement for PCs without a keypad or physical joystick/gamepad ;)
    * There will be contention in programs that utilize both the joystick and arrow keys for
      different things, yet I don't know of any examples of this...
2014-01-01 10:55:57 -08:00
Aaron Culliney
4ada3d7319 More sanity with scancodes and keycodes
* 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
2013-12-29 18:07:24 -08:00
Aaron Culliney
d2215b0f0b Better calibration extremes 2013-12-29 11:40:19 -08:00
Aaron Culliney
e104ad9cb3 Some timing debugging tweaks 2013-12-29 11:39:34 -08:00
Aaron Culliney
b50d2c89cf Fix potential NULL-dereference 2013-12-29 11:37:05 -08:00
Aaron Culliney
5d405be27a Assure following _ASSERT doesn't fire 2013-12-29 10:59:20 -08:00
Aaron Culliney
760a409762 Remove apparently unused/unneeded js_timelimit 2013-12-29 10:58:43 -08:00
Aaron Culliney
ffd78508ba Better support for keypad emulated joystick
* Allow for automatic recentering of keypad emulated joystick
    * Force X11 to give us a detectable auto-repeat
2013-12-28 21:48:42 -08:00
Aaron Culliney
f8d338b382 Automatically save preference on quit 2013-12-28 14:28:04 -08:00