Commit Graph

1137 Commits

Author SHA1 Message Date
Aaron Culliney
b3280f8382 Show screenshots 2013-12-14 11:15:27 -08:00
Aaron Culliney
efbaae47a4 Screenshots 2013-12-14 11:10:45 -08:00
Aaron Culliney
36317339c6 Updated README.md 2013-12-14 10:49:15 -08:00
Aaron Culliney
3340997798 WIP : fix joystick parameters 2013-12-08 16:57:02 -08:00
Aaron Culliney
71d5367875 Preferences changes
* 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)
2013-12-06 22:55:00 -08:00
Aaron Culliney
bd64a567b0 Output the correct error message 2013-12-06 12:15:03 -08:00
Aaron Culliney
32b807e742 Gracefully handle zlib errors 2013-12-01 12:36:43 -08:00
Aaron Culliney
717b501c5e separate actual inflate/deflate from wrappers 2013-12-01 12:22:55 -08:00
Aaron Culliney
cd2cb71280 Various interface/error handling improvements 2013-12-01 12:08:17 -08:00
Aaron Culliney
a259c34b5c Support .do disk image extensions 2013-12-01 11:14:19 -08:00
Aaron Culliney
f5c8df9a4a Use zlib instead of fork/exec gzip executable
* Now all disk images are saved gzipped
2013-12-01 10:57:58 -08:00
Aaron Culliney
e6ee8db900 Rename protected variable to is_protected 2013-12-01 10:44:32 -08:00
Aaron Culliney
cec59bda47 Removed some gotos and redundant code paths 2013-11-30 20:00:34 -08:00
Aaron Culliney
2ce40ddba9 Some interface/keys cleanup
* 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
2013-11-30 14:14:22 -08:00
Aaron Culliney
05e8e0f4a2 Interface screens are now 80 columns 2013-11-27 12:43:58 -08:00
Aaron Culliney
8959e00eed refactor else if 2013-11-26 14:41:43 -08:00
Aaron Culliney
9cd5fb1406 SSI263 voices/thread is not currently used
* prevent segfaults when emulated program attempts to play SSI263 phonemes
2013-11-26 12:56:53 -08:00
Aaron Culliney
e52b25f170 get joystick working again after a decade 2013-11-25 16:58:55 -08:00
Aaron Culliney
e94e9d6b10 Allow 2x window scale and beginnings of fullscreen 2013-11-24 18:24:00 -08:00
Aaron Culliney
64abddfe2f it's not a //e it's a //ix ! 2013-11-24 15:38:55 -08:00
Aaron Culliney
59f116258a refactoring else if 2013-11-24 15:38:31 -08:00
Aaron Culliney
02ce514399 Ctrl-Pause/Brk should send a reset sequence 2013-11-24 14:33:29 -08:00
Aaron Culliney
a102c82434 fix interface border graphics 2013-11-24 14:08:45 -08:00
Aaron Culliney
97282fa916 fix backspacing disk path in parameters interface 2013-11-24 12:19:54 -08:00
Aaron Culliney
4856a33b28 reset MB if machine is rebooting
* this fixes a bug whereby emulator won't reboot from an active session of using the Mockingboard
2013-11-23 16:00:07 -08:00
Aaron Culliney
32b4cd48c4 switch internal/peripheral rom on CXROM flag
* fixes a bug where op_BRK doesn't work when Mockingboard installed
    * this is still hackish and hardcoded ... ultimately we need an interface to add/remove virtual peripherals
2013-11-22 23:40:24 -08:00
Aaron Culliney
0cc0db17b2 change/move softswitch declarations 2013-11-22 23:37:26 -08:00
Aaron Culliney
0df02c2dc6 timing changes
* values from : _Understanding the Apple IIe_
2013-11-21 21:06:31 -08:00
Aaron Culliney
43add5489b Revert "unnecessary pushes/pops"
This reverts commit 170fbf57f3.  It screwed up
80column display.  We really should be using CDECL calling conventions ...

Conflicts:
	src/memory.S
2013-11-18 22:12:00 -08:00
Aaron Culliney
a6d4f2ccf5 Change some deadc0de ...
* Currently the SSI263 thread is disabled (not even initialized in MB_DSInit()
    * Do we need this stuff?  Methinks we do, yet we don't have a testcase of
      needing it (MB C in 4 & 5 --or-- Phasor in 4 works fine with U5) Wtf?
2013-11-18 22:08:51 -08:00
Aaron Culliney
9aafb2c659 Disable mockingboard thread for now
* The MB thread is currently a resource pig and doesn't appear to be needed
      if we're emulating 2 "C"-type cards in slot 4/5
2013-11-17 16:13:33 -08:00
Aaron Culliney
f210372302 Some OpenAL cleanup
* soundcore-openal.c : Get the OpenAL state only right after queueing buffer (and restart OpenAL if needed)
    * soundcore-openal.c : Handle buffer underruns
    * elsewhere : No longer call DSZero...
2013-11-17 16:10:52 -08:00
Aaron Culliney
0bdfe53395 reduce buffer size for speaker
* this allows for better latency with the 22050Hz sample rate
    * keep the mockingboard at the same buffersize to prevent underruns (latency handled differently there)
2013-11-17 15:53:32 -08:00
Aaron Culliney
bbf3205415 more timing statistics 2013-11-17 15:01:23 -08:00
Aaron Culliney
c0a3df6a2f allow setting speaker volume by sample amplitude 2013-11-17 11:20:26 -08:00
Aaron Culliney
38e95294b6 Decrease audio sample rate to fix mockingboard
* This seems to fix certain OpenAL underflow issues with mockingboard for U5
    * Curiously overflow issues with mockingboard don't appear to glitch ...
2013-11-16 18:31:23 -08:00
Aaron Culliney
e0a79c7c3a pause/unpause audio when enter/exit menus 2013-11-16 13:44:32 -08:00
Aaron Culliney
078391410d functions to pause/unpause all audio 2013-11-16 13:43:10 -08:00
Aaron Culliney
b580ff9269 ignore vim swapfiles 2013-11-16 12:42:17 -08:00
Aaron Culliney
cdb7befe8e fix cursor position in interface parameters menu 2013-11-16 11:19:51 -08:00
Aaron Culliney
679d119486 Merge branch 'mockingboard'
Conflicts:
	src/cpu.S
	src/misc.c
2013-11-12 23:45:05 -08:00
Aaron Culliney
766d278601 First cut at supporting mockingboard.
* Now using OpenAL as the main backend, ALSA has been deprecated...

    * soundcore-openal.[hc] - OpenAL sound output for emulator

    * alhelpers.[hc] - OpenAL suport files

    * mockingboard.[hc] , AY8910.[hc] , SSI263Phonemes.h - Mockingboard support ported from AppleWin ...
2013-11-12 23:43:16 -08:00
Aaron Culliney
68fd7ec8f6 refactoring : renaming certain disk funcs/params 2013-11-05 22:05:58 -08:00
Aaron Culliney
1eb8f759d7 BRK instruction adjustment
* Changes from AppleWin ... set Break and Xtra for pushed flags
    * Late set Interrupt flag for current flags (should be unchanged)
2013-11-05 22:03:55 -08:00
Aaron Culliney
4beb6d679d include uthash.h 2013-11-02 20:38:29 -07:00
Aaron Culliney
693b9d31bf Support for multiple sound buffers/voices
* In preparation for adding mockingboard support
    * NOTE: ALSA still has a hardcoded 1 buffer assumption with its use of mmapped access
2013-10-22 21:22:43 -07:00
Aaron Culliney
06c6fd9feb don't redefine if defined already 2013-10-22 21:18:03 -07:00
Aaron Culliney
c39bea9580 Partial fix debugger for multithreaded environment
* Fixes crashing observed when trying to use debugger

    * Various refactoring whitespace fixes
2013-10-06 21:01:00 -07:00
Aaron Culliney
527c04e41f Support for new timing model
This is part 2 of 2

    * Handles UI changes to support new delay model, added ability to toggle to
      alternate speed scale

    * Code cleanups
2013-10-06 01:31:58 -07:00
Aaron Culliney
41a1f3d598 Timing model back to nanosleep for sound fidelity
This is part 1 of 2

    * Proper emulator timing is critical for emulating the Apple2 speaker with a
      square wave on a modern soundcard.  The AppleWin sources provided
      reference, inspiration, and source for both timing and speaker emulation
      code.

    * cpu.S, cpu.h, timing.c : OK so I flip-flopped quite a bit here on how best
      to do proper emulator timing, but the previous spinloop implementation was
      not one of my more enlightened decisions :P ... cpu/power consumption
      nightmare ...

    * ds-shim.h, win-shim.h -- Shims for Windows-isms and DirectSound-isms.  I
      assume these will eventually be refactored away...

    * soundcore.[hc], speaker.[hc] -- Directly ported from a recent version of
      AppleWin.  Everything I've added should be braced with #ifdef APPLE2IX.

    * soundcore-alsa.[hc] -- An ALSA backend using mmap'ed soundcard access.
2013-10-05 23:33:18 -07:00