Commit Graph

1952 Commits

Author SHA1 Message Date
Andrea
af720f7352 Correct way to clear a std::string. (PR #723) 2020-01-09 22:12:51 +00:00
tomcw
40522204ad Joystick: support redefined button0/1 keys when not using keyboard for joystick 2020-01-09 22:04:26 +00:00
tomcw
29c0f1e4f0 Cmd line support for remapping button0&1: (#743)
. -left-control-alt-buttons : l-ctrl=button0, l-alt=button1
. -right-alt-control-buttons : r-alt=button0, r-ctrl=button1
. -swap-buttons
2020-01-07 22:04:37 +00:00
tomcw
0f473d44b6 VS2019: include <stdexcept> for std::runtime_error 2020-01-06 21:08:00 +00:00
tomcw
087616db29 Fixed Coverity 'High Impact Outstanding' issues:
1489113
1489111
1489105
1489096
1489093
1489092
1486059
1486055 (false positive)
1486054
1486051 (false positive)
1486050
1486047 (false positive)
1486043
1446684
2020-01-04 17:43:20 +00:00
tomcw
edf65762cd CardManager refactor:
. replaced most GetObj() with GetRef()
. so dynamic_cast'ing to a reference now (instead of a pointer)
2020-01-04 13:58:59 +00:00
tomcw
d3faae69fb CardManager:
. added GetRef(), which can throw a std::runtime_error
. NB. dynamic_cast for a reference will throw a std::bad_cast error on failure
Added try/catch around main VM restart loop
. split the loop into ProcessCmdLine(), GetAppleWinVersion(), OneTimeInitialization() RepeatInitialization() & Shutdown()
. catch std::runtime_error & std::exception
2020-01-04 12:32:13 +00:00
tomcw
c280d43e75 DiskImageHelper: small refactor 2020-01-02 21:01:10 +00:00
tomcw
8ec8fa6c5b Debugger: Correctly repaint AppleII screen when showing it from debugger. (Fixed #746) 2020-01-02 20:49:07 +00:00
tomcw
ce1a549bea Updated History.txt 2019-12-31 13:24:15 +00:00
tomcw
b37095715f Save-state: refactor: added a LoadMemory() specialisation for vector<BYTE> 2019-12-31 12:52:47 +00:00
tomcw
a28803cbf9 WOZ: Support large tracks (fixes #745) 2019-12-31 12:07:45 +00:00
tomcw
183ec2bc8c WOZ: Alternate fix for Wasteland (#733)
. apply extraLatchDelay on the last bitCell (if there's a latchDelay)
Debugger: Extended 'videoinfo' command to show cycles as absolute or relative.
2019-12-30 19:52:49 +00:00
tomcw
960af9bda0 MB: Moved MB_StartOfCpuExecute() to Snapshot_LoadState_v2(), since it's only needed there 2019-12-24 13:58:20 +00:00
tomcw
e03b68b7f0 MB: removed redundant g_n6522TimerPeriod variable 2019-12-24 13:19:35 +00:00
tomcw
8567f0a651 MB: include 1-cycle 65C02 opcodes 2019-12-24 12:51:43 +00:00
tomcw
c11301ff4e VS2017 & VS2019: removed deprecated /Gm (Enable Minimal Rebuild) option 2019-12-24 12:34:48 +00:00
tomcw
75bc648f01 1.29.7.0: Updated version, History.txt and Help 2019-12-20 15:23:54 +00:00
tomcw
7eee2467c5 Disk2: DumpTrackWOZ() - extended to start each line with bitOffset 2019-12-20 12:49:02 +00:00
tomcw
418687e3d8 Debugger: 'cycles' now shows step-cycle-count (before was abs cumulative cycles) (Fixes #737)
And fixed single-step to only UpdateDisplay() once.
2019-12-20 09:15:24 +00:00
tomcw
82f6bf35a5 Debugger: GR/HGR/DGR/DHGR cmds should honour the MIXED mode. (Fixes #740) 2019-12-19 20:45:55 +00:00
TomCh
769d4c6927
Support 2nd Disk][ card and improved card management (#726) (PR #741)
Support 2nd Disk][ in slot-5, via command line:
- -s5 diskii
- -s5d1 \<imagefile\>
- -s5d2 \<imagefile\>

NB. there's currently no Configuration UI support, except the Drive icons' tooltips show what's in slot-5 & slot-6 (for drive-n). So there's no way to eject the disks or insert new disks. The use-case I'm supporting it Wasteland which just has the 4 disks in the 4 drives.

Improved card management:
- Added `class Card` (in Card.h) which all other cards (that exist as classes) derive from (eg. LC,SSC,Mouse,Disk2).
- Added `class CardManager` (in CardManager.cpp\h) which now manages the 8 slots (and aux slot).
- Added `class Disk2CardManager` (in Disk2CardManager.cpp\h) which provides methods for operations that act on all Disk2 instances at the same time.
- Currently limited to just 1x SSC and 1x Mouse card (why would you need more?). This simplifies things, meaning there's no need to have dedicated SSCManager / MouseCardManager objects.
- Currently the 2nd Disk2 card can only be put into slot-5. This limitation is just due to the complexity of the Configuration UI. Having a more general drop-down per slot UI would remove this limitation.
2019-12-19 19:42:30 +00:00
tomcw
d2010860ef Debugger: refactor common code into GetTargets_IgnoreDirectJSRJMP() 2019-12-09 21:00:58 +00:00
tomcw
87677ed4c3 Debugger: In _6502_GetTargets() removed the bool bIgnoreJSRJMP parameter. 2019-12-09 20:42:16 +00:00
tomcw
f0e840f8e0 Debugger: Support BPMR for JMP (abs) and JMP (abs,x). (#451) 2019-12-09 19:13:24 +00:00
tomcw
b1316dc3da Debugger: Fixed regression at prior commit dd274bc000 for bpm addr16 not triggering.
. Extended debugger regression tests to catch this (and test many other variants).
2019-12-09 16:27:13 +00:00
tomcw
ba7a4005b0 DiskII: fixes for Wasteland for both .nib & .woz images (#733) 2019-12-08 16:23:29 +00:00
Andrea
6af3b0b028 Color (RGB Monitor): speed up 'Pure CPU MHz (video update)'. (PR #730) 2019-11-28 22:06:34 +00:00
tomcw
dd274bc000 Debugger: BPMR|W - ignore next opcode's fetch address as a candidate for memory trap address (#451) 2019-11-27 22:14:16 +00:00
tomcw
4d12a23c68 Make soundtype default to WAVE (not NONE)! (#355) 2019-11-24 15:57:33 +00:00
tomcw
37db160bd5 Addition to History.txt 2019-11-18 16:45:35 +00:00
tomcw
91f1294220 1.29.6.0: Updated version and History.txt 2019-11-18 15:11:55 +00:00
tomcw
7d38b1ba38 CPU save-state: added 'Defer IRQ By 1 Opcode' (v5) and comments for why the other state doesn't need saving 2019-11-18 15:08:59 +00:00
tomcw
b82de931a1 Fixed 6522 timer interrupt which was occurring 1 cycle late (#711) 2019-11-17 12:26:14 +00:00
TomCh
d1b595f7bd
Fix for "Mad Effect 1&2" demos (PR #725)
. 6502 interrupt delays 1 opcode when interrupt occurs on last cycle of opcode (#724).
. Only 1-cycle delay for VF_TEXT & VF_MIXED mode changes (#656).
NB. Mad Effect 1 still has a bit of flicker on Space Invader (left edge)
2019-11-16 23:49:21 +00:00
tomcw
97e73c632d Full-speed: new VideoGetVblBarEx() required when called from main loop 2019-11-11 19:55:46 +00:00
tomcw
8aff6addff History.txt updated 2019-11-11 18:44:24 +00:00
tomcw
3c6d5d1e76 Phasor: fixed noisy playback for AE's player. (Fixes #659) 2019-11-11 17:35:10 +00:00
Andrea
d6d76ae6bc Memory fix for struct ImageInfo (PR #715)
ImageInfo is not a POD and cannot simply be initialised with ZeroMemory()
. the std::string constructor must be called.
. ImageInfo: simplify code using new / delete vs VirtualAlloc
Also fixed mismatching new / delete [] reported by valgrind
2019-11-11 14:09:29 +00:00
tomcw
20b8515b7b Full-speed: Only redraw video screen during VBl (support VBl in full-speed) 2019-11-10 23:52:29 +00:00
tomcw
dd3ecf738f 1.29.5.0: Updated version and History.txt 2019-11-10 22:08:24 +00:00
tomcw
a73d216fae Help (troubleshooting): Added an item for no Apple II speaker sound. (Fixes #716) 2019-11-10 16:56:30 +00:00
tomcw
d4e01643fa Mockingboard: improved sound-buffer updating
. Changed to 6522.TIMER underflowing at 0x0000 -> 0xFFFF (#652)
. Changed MB_Update() to be based on cycle delta (was TIMER1 interval)
  . this improves support for small 6522.T1C interval
  . removed MB_GetFramePeriod()
  . removed overly-complex dual-timer support
. Replaced MB_EndOfVideoFrame() with MB_PeriodicUpdate()
2019-11-10 15:52:07 +00:00
tomcw
5ee8994253 Use disk-ii symbols agreed in GH425 2019-11-09 12:55:34 +00:00
tomcw
754953b733 APPLE2E.SYM update:
. added missing symbols
. LC: created 16 unique symbols
. DiskII: created 16 unique symbols
2019-11-09 12:02:36 +00:00
tomcw
eb59c52dc4 Mockingboard: Fix initial fast (weird) music playback issue (#711) 2019-11-03 21:37:55 +00:00
tomcw
4ad0923399 Fix video tearing by only updating during the Apple II VBL (#711) 2019-11-03 15:05:28 +00:00
tomcw
d92eca5068 Cmd line: -m and -no-mb: fix crash 2019-11-03 14:23:47 +00:00
tomcw
5792107dce Debugger: fixed help for 'videoinfo' cmd 2019-11-03 09:36:33 +00:00
TomCh
3d4691e9bd
ADTPro not working (#707) (PR #714)
. Wrap m_vbTxEmpty in a mutex
. Check WriteFile() result & log error
2019-11-02 19:53:00 +00:00