Aaron Culliney
2965afe12e
Two-finger-touch pops up softkeyboard and adjusts GL viewport
2015-03-11 12:54:50 -07:00
Aaron Culliney
e839baa931
Updates to prepare/support Android Studio / Gradle builds
2015-03-10 13:15:36 -07:00
Aaron Culliney
abe520d8b7
Remove unnecessary instructions in CPU tracing
2015-03-10 11:15:28 -07:00
Aaron Culliney
f12a4c7142
Bugfix : assure that ARM processor flags are cleared
2015-03-10 11:13:59 -07:00
Aaron Culliney
7e249745d8
Make disk loading faster on slow Android devices
...
- So for now we are not "conformant" on Android, but it appears to be worth the disk image loading times
2015-03-10 10:23:52 -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
8d6961c0cb
Callee is responsible for saving higher regs
2015-03-10 10:23:52 -07:00
Aaron Culliney
199300ba39
Bugfix bank maybewrite glue
2015-03-10 10:23:52 -07:00
Aaron Culliney
d30a7b8a38
Codepath is now similar to x86 variant
2015-03-10 10:23:52 -07:00
Aaron Culliney
ee73c5890b
base_c4rom is a flexible pointer
2015-03-10 10:23:52 -07:00
Aaron Culliney
347ed76034
Mark some VM tests as needing attention
2015-03-10 10:23:52 -07:00
Aaron Culliney
36b78f657f
Remove an uppity assert
...
- Manifesting on Mac ... believed to be spurious and more fallout from auto-speed adjustment refactor
2015-03-10 10:22:47 -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
d657ab8c46
Unstick Mac builds and tests
2015-03-10 10:22:47 -07:00
Aaron Culliney
b329ac2bff
Remove some redundant code
2015-03-05 21:25:14 -08:00
Aaron Culliney
e7ad98535a
Correct order for CPU tracing arguments
2015-03-05 21:23:36 -08:00
Aaron Culliney
9cbceac80b
Fix bug in GetZPage_X and GetZPage_Y macros
2015-03-05 21:06:42 -08:00
Aaron Culliney
2ec4e46012
Expose a test failure on ARM
2015-03-05 20:59:51 -08:00
Aaron Culliney
c3969f9d1d
Fixes to get Android tests rendering
2015-02-24 20:53:19 -08:00
Aaron Culliney
fadb806c92
DSK image loading considered slow, Use NIB image for faster tests (not specifically exercising DSK codepaths)
...
- There may be some wins in optimizing the DSK codepaths, but I think these are inherently slow now that we have
brought in Applewin's conformant code
- It's possible that the best option will be to bring back the non-conformant-but-faster DSK codepaths originally in
this emulator but ...
2015-02-24 20:42:30 -08:00
Aaron Culliney
1c7e707af9
Comment pthread_join()
...
- Blocks Android rendering
- Unnecessary for GLUT/Linux renderer
- Might need to be worked around for Mac tests
2015-02-24 15:49:57 -08:00
Aaron Culliney
560726728f
bugfix CPU reinitialization
2015-02-24 12:11:16 -08:00
Aaron Culliney
48625458cf
testdisk.c is starting to run on Android
2015-02-24 12:10:51 -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
792c0a0b08
DAA & DAS algorithms in ARM assembly
2015-02-22 13:46:58 -08:00
Aaron Culliney
d517339842
All 65c02 CPU tests for ARM pass, except for decimal mode
2015-02-21 21:06:01 -08:00
Aaron Culliney
404d4cdb4f
Various tweaks to CPU tests
2015-02-21 21:00:42 -08:00
Aaron Culliney
811df361a8
Fixes for ADC_b and AND on ARM
2015-02-19 23:25:33 -08:00
Aaron Culliney
41b8ca7700
More canonical test for oVerflow
2015-02-19 20:13:13 -08:00
Aaron Culliney
59d151d684
First cut at DAA and DAS algorithms in ARM and misc assembly cleanup
2015-02-19 16:03:29 -08:00
Aaron Culliney
86e8eeafe2
testcpu is beginning to run (with errors)
2015-02-18 23:09:16 -08:00
Aaron Culliney
3149914741
Get some CPU tests passing on ARM/Android
2015-02-18 23:08:16 -08:00
Aaron Culliney
0d7e81c7d4
Testing does not depend on olde prefs system
2015-02-18 16:17:12 -08:00
Aaron Culliney
1ac7c7e12d
Remove OpenSSL dependency, use public source SHA1
2015-02-18 15:54:04 -08:00
Aaron Culliney
78325ad469
Silence compiler warning
2015-02-18 11:00:50 -08:00
Aaron Culliney
2a6d889309
test 16bit underflow/overflow in op_JSR and op_RTS
2015-02-18 10:51:26 -08:00
Aaron Culliney
f4bc218bd8
WIP : Misc optims/changes of ARM-variant 65c02 CPU
2015-02-17 20:33:27 -08:00
Aaron Culliney
829ee225e6
Android variant compiles/links
2015-02-17 20:28:23 -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
abf231711c
Get zlib-helpers.c compiling/linking on Android
2015-02-17 20:09:13 -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
ada636f245
REFACTOR : migrate common preferences settings into misc.c
...
- prefs.c code should be unused on Android/iOS
2015-02-17 16:16:34 -08:00
Aaron Culliney
815b6f5a7c
REFACTOR : soundcore to use logging macros
2015-02-17 16:14:25 -08:00
Aaron Culliney
0470cb8907
Remove deadc0de since ROMs should be pre-loaded
2015-02-17 16:06:41 -08:00
Aaron Culliney
28aea0bf14
Remove redundant code
2015-02-17 11:06:50 -08:00
Aaron Culliney
c4e3d93fd4
Fix underflow/overflow branch tests
2015-02-16 12:29:08 -08:00
Aaron Culliney
20d3a67db8
Increase testing of CPU branch logic, include 16bit underflow and overflow
...
- Unlikely that the original Apple //e ever saw this happen in reality?
- TODO : test with valgrind for invalid code access ...
2015-02-16 12:18:59 -08:00
Aaron Culliney
d8ae71ddb0
WARNING : changes test to accommodate CPU implementation
...
- TODO : check the Apple //e Bible for this ...
- Calculates 2-byte branch instructions (Bxx +OFF)--that sit right at page boundary (at 0x..fe 0x..ff)--as 3 cycles
rather than 4, since PC has already advanced to the new page (matches logic currently in x86/cpu.S
2015-02-16 11:57:33 -08:00
Aaron Culliney
15dd90902c
REFACTOR : more common code into macros
2015-02-16 10:28:57 -08:00
Aaron Culliney
5aa4c20249
REFACTOR : style+clarity changes
2015-02-16 09:42:13 -08:00
Aaron Culliney
d9ce113aa0
WIP : Android armeabi target compiles
2015-02-16 08:47:26 -08:00
Aaron Culliney
6439d303a8
Misc build tweaks
2015-02-16 08:47:26 -08:00
Aaron Culliney
35458b2839
Change LOG() macro to accommodate Android logging
2015-02-16 08:47:26 -08:00
Aaron Culliney
a61b7f5c39
properly brace INTERFACE_CLASSIC stuff
2015-02-16 08:47:26 -08:00
Aaron Culliney
1c31c1074d
REFACTOR : macro defines into toggles
2015-02-16 08:47:26 -08:00
Aaron Culliney
00cec0dcae
WIP : 65c02 CPU in ARM assembly
2015-02-16 08:47:26 -08:00
Aaron Culliney
0801050455
REFACTOR : move special case initialization codepath to C
2015-02-16 08:47:26 -08:00
Aaron Culliney
30c09da259
REFACTOR : simplified/streamlined some assembly
2015-02-16 08:47:26 -08:00
Aaron Culliney
12ba31f1af
REFACTOR : whitespace, style, remove deadcode, extract code into macro
2015-02-16 08:47:26 -08:00
Aaron Culliney
9a87aa8a3d
REFACTOR : migrate stack page offset into altzp configuration
2015-02-16 08:47:26 -08:00
Aaron Culliney
7bd7899325
REFACTOR : brace x86-specific defines, prep for __arm__
2015-02-16 08:47:26 -08:00
Aaron Culliney
b246baa90d
REFACTOR : macro renaming for clarity/readability
2015-02-16 08:47:26 -08:00
Aaron Culliney
cf79056b28
Merge x86-specific apple2.h stuff into cpu-regs.h
2015-02-16 08:47:26 -08:00
Aaron Culliney
cec638b959
Get threaded tests unstuck and rename/shuffle some code
2015-02-16 08:46:29 -08:00
Aaron Culliney
50cd4ac6fe
Synchronize timing functions
...
- Avoids resetting critical speaker variables when CPU thread is churning
- Moves pthread_* variable ownership into timing.c
2015-02-07 14:34:23 -08:00
Aaron Culliney
851d22568b
Use 32bit counters to avoid overflow
...
- Previously there were cases where we could overflow cpu65_cycles_to_execute when adding the cycles_speaker_feedback
2015-02-03 22:10:47 -08:00
Aaron Culliney
1cbd426548
removed unused macros
2015-02-01 15:26:50 -08:00
Aaron Culliney
3d8a6ac23d
PARTIAL Revert "Faster keyboard read"
...
This reverts commit 30b8f308c6
.
(Generated assembly for apple_ii_64k ARRAY is wrong on Mac).
Conflicts:
src/vm.c
2015-02-01 15:25:55 -08:00
Aaron Culliney
c332a89738
Don't run finicky or abusive tests by default
...
- But keep them around for such times as when we're not sure why a particular emulated program is not working =)
2015-01-31 14:27:13 -08:00
Aaron Culliney
eb534e17b5
Get CPU tests working again
2015-01-31 14:26:45 -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
b4516b49df
Add general-use branch-prediction macros
2015-01-23 23:34:03 -08:00
Aaron Culliney
b8c44b81ab
Simple FPS logging
2015-01-18 11:10:16 -08:00
Aaron Culliney
30b8f308c6
Faster keyboard read
2015-01-18 11:06:02 -08:00
Aaron Culliney
191a1b7395
Fix Mac builds
2015-01-16 21:11:29 -08:00
Aaron Culliney
b4f91661d7
don't leak a buffer
...
- thank you, valgrind
2015-01-14 23:24:51 -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
87a2d081d3
CPU_TRACING now emits machine cycles
2015-01-11 18:37:57 -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
cce2bbb0cc
timing code cleanup
2015-01-11 12:24:43 -08:00
Aaron Culliney
8d35cf1d2c
Rename to motor_off and record motor access times
2015-01-11 12:04:06 -08:00
Aaron Culliney
bf4e920b1f
should always be NI2 size for converted PO/DO
2015-01-10 20:45:07 -08:00
Aaron Culliney
dcafae8390
read_rand() is really just floating_bus() return
2015-01-10 19:42:00 -08:00
Aaron Culliney
1ba28db8d7
Varous VM switches return memory floating bus value
2015-01-10 18:46:49 -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
Aaron Culliney
b031bdb4a6
Refactor private defines
2015-01-10 14:14:49 -08:00
Aaron Culliney
06011e2902
New disk tests and improvements
...
- Exercise various TRACING codepaths
- Adds ProDOS-order tests
2015-01-03 16:24:02 -08:00
Aaron Culliney
ffd4647693
Make test_breakpoint() function work again
2014-12-29 21:36:21 -08:00
Aaron Culliney
fdd57f3095
Fix some tests and expose mdstr globally (easier debugger introspection)
2014-12-29 21:36:21 -08:00
Aaron Culliney
af706e7602
rename read_random to avoid namespace collison on Mac
2014-12-29 19:07:43 -08:00
Aaron Culliney
7bc0475a5d
disable unstable random2 test
2014-12-28 15:06:59 -08:00
Aaron Culliney
7d3b39926c
Disk testing is separate from vm testing
...
- Breaks out disk testing into its own suite
- Misc testing and build-system tweaks
2014-12-28 14:50:43 -08:00
Aaron Culliney
cd9a9ad3cf
Auto-eject disk if present in drive
2014-12-28 14:48:53 -08:00
Aaron Culliney
e01e437842
Massive disk refactoring sourced from AppleWin
...
- 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!)
2014-12-28 13:07:13 -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
a24436e88f
Gamepad clamp-beyond-radius implemented
2014-12-05 22:31:12 -08:00