Commit Graph

584 Commits

Author SHA1 Message Date
tomcw
6c031e7930 Disk II: changing 'enhancedisk' doesn't cause a restart + added accessors (fixes #546) 2018-02-25 15:09:25 +00:00
tomcw
e1286de7a9 Disk II: 'Swap Disks' only swaps disk (not drive properties) - fixes #543 2018-02-25 14:05:45 +00:00
tomcw
92504e0751 Refactor of Disk.cpp and Disk.h in preparation for #543.
Changed struct Disk_t:
. Added new struct Drive_t with "has-a" relationship to Disk_t
. Split properties of drive into Drive_t and properties of disk into Disk_t
2018-02-25 13:38:04 +00:00
Andrea
70540bd6dc Fix the following errors reported by VS2017 Code Analysis. (#414)
* Fix the following errors reported by VS2017 Code Analysis.

applewin\source\applewin.cpp(761): warning C6385: Reading invalid data from '"Disk Image"':  the readable size is '11' bytes, but '21' bytes may be read.
applewin\source\debugger\debug.cpp(6624): warning C6386: Buffer overrun while writing to 'sName':  the writable size is '31' bytes, but '32' bytes might be written.
applewin\source\debugger\debugger_display.cpp(3715): warning C6053: The prior call to 'strncpy' might not zero-terminate string 'sText'.
applewin\source\log.cpp(42): warning C6053: The prior call to '_vsnprintf' might not zero-terminate string 'output'.
applewin\source\debugger\debug.cpp(2759): warning C6011: Dereferencing NULL pointer 'pFont'.
applewin\source\debugger\debugger_symbols.cpp(243): warning C6053: The prior call to '_tcsncpy' might not zero-terminate string 'pText'.
applewin\source\diskimagehelper.cpp(1132): warning C6053: The prior call to '_tcsncpy' might not zero-terminate string 'pszExt'.
applewin\source\diskimagehelper.cpp(1141): warning C6053: The prior call to '_tcsncpy' might not zero-terminate string 'szFilename'.
applewin\source\parallelprinter.cpp(242): warning C6053: The prior call to '_tcsncpy' might not zero-terminate string 'g_szPrintFilename'.

The one about RegSetValue(), according to Microsoft

https://msdn.microsoft.com/en-us/library/windows/desktop/ms724922(v=vs.85).aspx

the last argument cbData is ignored, so I set it to 0, as in some cases was anyway wrong (see "DiskImage").


Signed-off-by: Andrea Odetti <mariofutire@gmail.com>

* Use sizeof() rather than hardcoded value.
Fix one more case on non terminated string.


Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2018-02-24 15:24:37 +00:00
Andrea
6051bc55d0 Changes to ease code compilation in gcc. (#541)
Changes to ease code compilation in GCC.

Disk_t and HDD contain a std::string and for this reason they need a proper constructor, ZeroMemory is not guaranteed to work.
2018-02-24 15:12:40 +00:00
tomcw
20022d999d Minor: use global floppylatch 2018-02-24 13:18:26 +00:00
tomcw
dc565dd28c Removed extra local var and updated DOS 3.2 INIT comment 2018-02-23 22:39:51 +00:00
tomcw
a07d087467 Improve logging and fix asserts for DOS 3.2 INIT (#537) 2018-02-15 21:54:15 +00:00
tomcw
82fdf1ab6a DiskII: allow reading of write-protect state when in write mode (#537) 2018-02-11 14:52:21 +00:00
tomcw
839812ab7d Debugger: OutputTraceLine() - add single-step comment 2018-02-02 21:10:46 +00:00
tomcw
2c8f5ce864 Support floating-bus in full-speed mode (#508, #519, #532) 2018-02-02 20:19:48 +00:00
tomcw
62b8b5ac14 DiskII: Updated comment about motor off not affecting state 2018-01-28 12:30:54 +00:00
tomcw
da24cd6e60 DiskII: Allow stepper motor to change phase when motor is off, but during the ~1s when it's still spinning (#525) 2018-01-28 12:21:28 +00:00
tomcw
b50da5a95b DiskII: Prevent stepper motor changing phase when motor is off (fixes #525) 2018-01-27 17:02:33 +00:00
tomcw
b324f43a15 Added more logging when Apple2 Tyoe changes 2018-01-26 11:03:44 +00:00
tomcw
02a6df73c5 DiskFormat: tweaks and fixed some TODOs in comments 2018-01-20 17:18:24 +00:00
tomcw
4a69ba8a97 git merge --squash GH125-ProDOS-Format. Fix for disk formatting #125, #196, #338:
. .dsk / .nib images
. ProDOS format / DOS 3.3 init
. authentic / enhanced disk access speed

For zero-length files, resize to the complete file size when first opened (#506)
. Support both .dsk and .nib

Created a new class FormatTrack to encapsulate the new track formatting logic

Improved precision of 'authentic' drive mode's spin emulation (#125)

Save-state: (save-state DiskII unit v2)
. support Format Track state
. save DiskLastCycle

DenibblizeTrack(): added some debug asserts and comments

Updated for VS2008/VS2013/2015/2017 projs & remove dependency on ddraw.lib for VS2013/2015

Updated disk logging:
. Moved all LOG_DISK_xx macros to new DiskLog.h (since shared by Disk.cpp and DiskFormatTrack.cpp)
. For write nibble: option to log cycle count & sync byte count
. For written track: option to log gap1/2/3 and track size
. For disk latch r/w: option to log when D5AA96 detected

Other:
. Debugger: Fix CD cmd to support absolute paths (#505)
2018-01-14 18:01:22 +00:00
tomcw
efa9ab8aaa Updated Debugger_Changelog.txt for a handful of issues 2018-01-06 16:26:07 +00:00
tomcw
713efcdcb1 PR #275: Attenuate speaker (and 8-bit DAC) output sample after 0.25s of inactivity.
. Cherry-pick from 'master' of https://github.com/rmacri/AppleWin into master:
2017-12-20 20:09:43 +00:00
tomcw
607165cc9e Debugger: default to Shift+Click to toggle diasm columns (#462) 2017-12-19 23:07:12 +00:00
tomcw
d59d706e5e Merge branch 'master' into bug_479 2017-12-19 22:23:58 +00:00
tomcw
f37b82a8e7 Serial: after loading save-state, set m_uDTR variable correctly 2017-12-19 22:00:08 +00:00
tomcw
7e38429766 Serial-over-TCP: Receive wasn't setting the ASIC's Status register's interrupt bit. (Fix #308) 2017-12-19 21:35:04 +00:00
tomcw
e25b490198 Uthernet: 'TFE not supported' message-box contains broken URL, so add a comment about a copy of the old kb article now being in the repo 2017-12-18 21:54:59 +00:00
tomcw
34094f7299 Fix static analysis issues raised in PR #517 2017-12-17 19:35:54 +00:00
tomcw
664edf5b6f Debugger: fix some static analysis issues from PR #517 2017-12-17 18:20:39 +00:00
tomcw
d46491c5d0 VideoMode: 80STORE should only mask, not clear PAGE2 - and this is handled by underlying NTSC video code (#516) 2017-12-04 20:43:42 +00:00
tomcw
5505ff696f HDD error wasn't cleared on a reset or power-cycle - fixes #515 2017-12-03 21:05:05 +00:00
tomcw
a551af020d Fix so that on emu restart, mousecard state is now reset (#514) 2017-11-29 06:56:14 +09:00
tomcw
77cbfbec99 Remove stale/unused key buffering code 2017-10-29 10:50:08 +00:00
tomcw
146b6ebad3 Opening any dialog will deactivate the main frame - so don't hide the mouse cursor 2017-10-28 22:13:05 +01:00
tomcw
e5dbdb1696 Full-screen: Hide mouse cursor after 2s of inactivity (#504) 2017-10-28 21:59:48 +01:00
tomcw
e2b515de33 MB/Phasor: Wrap 6522.IFR changes inside a critical section to avoid a potential 2 thread data-race 2017-10-28 18:39:45 +01:00
tomcw
74ac2a4f22 Mockingboard/Phasor unit functions only work from an inactive state
(#320)
- Extended save-state (MB/Phasor v3) to support 'Unit state'
2017-10-27 11:10:15 +01:00
TomCh
66321febba Support Mockingboard/Phasor when polling IFR.Timer1 (#496)
* Support precise AY8910 sound-buffer filling when polling 6522 IFR.Timer1 (ACR=Free Running mode)
  - same as if using 6522 IER.Timer1 interrupt
* Support 6522's Timer2 and some code refactoring
* Bump version: 1.26.3.4
2017-10-24 22:28:22 +01:00
tomcw
49465d0182 Fix position of disk status in 2x Windowed-mode 2017-10-21 21:59:21 +01:00
tomcw
297cea7d2a Support polling of Mockingboard's & Phasor's 6522 IFR.Timer1 (#496)
. Extended save-state (Mockingboard & Phasor: version 2) to support 6522 timer being active
2017-10-21 18:47:22 +01:00
tomcw
c49d68f2b5 Flush current track (if dirty) before 'Send to CiderPress' (fix #499) 2017-10-19 22:49:10 -07:00
tomcw
1cb5c6868d UpdatePaging(): Clear memdirty flag for $Cx pages (#495)
. STA $CFFF will set memdirty[0xCF] flag
. The loop at the end of UpdatePaging() would copy a page of zeros over pCxRomInternal[0xF00] (ie. $CF00-CFFF)
2017-10-17 14:46:55 -07:00
tomcw
ba6a38d325 Frame.cpp: Get rid of the MAGICX/Y constants! Get the correct system-metric: SM_CXFIXEDFRAME (not SM_CXBORDER). Remove more commented out old code. 2017-10-12 22:11:10 +01:00
tomcw
670ca20057 Frame.cpp: Remove redundant, commented out and if 0 code, mostly relating to the old full-screen implementation 2017-10-11 19:18:53 +01:00
tomcw
32ffe0e1ac Frame.cpp: internalise the FRAMEBUFFER_BORDERLESS_W|H constants as static vars 2017-10-11 17:55:10 +01:00
tomcw
018e338612 Frame.cpp: move header constants into Frame.cpp and expose with accessor functions 2017-10-11 17:38:36 +01:00
tomcw
03b4e889e5 Stop ASSERT when 'mouse entering Apple screen area' (#464) 2017-10-10 22:11:36 +01:00
tomcw
b1dfd57502 Tidy-up in Frame.cpp: unused prototypes, dead code; consolidate some full-screen constants 2017-10-10 22:06:24 +01:00
TomCh
0bf2ae677a Full-screen and 2x tweaks for Status Area (#492)
Status Area tweaks:
. Full-screen: Correctly erase the PAUSED or STEPPING text status
. 2x windowed mode: draw the the correct size 3d rect
2017-10-05 22:06:53 +01:00
tomcw
9616df504e Full-screen: Added Config UI checkbox for the display of subunit status (ie. keyboard caps, disk activity, paused/stepping state) - #224 2017-10-02 22:22:26 +01:00
tomcw
c5bbf9a2c2 Cmd-line: Remove old -fs8bit switch 2017-09-30 09:47:48 +01:00
tomcw
3cf50d01ba Cmd-line: support new -fs-height=<best|nnn> (#488) 2017-09-29 20:33:30 +01:00
tomcw
6fd125de31 Add more comments about INTC8ROM 2017-09-23 19:29:59 +01:00
tomcw
3a5bf012f1 Save-state: Fix for when SSC's expansion ROM is active and PC is running in this space (GH#486) 2017-09-22 22:23:13 +01:00
Michaelangel007
b5c5dcf638 Fix poor code formatting 2017-08-26 16:45:51 -07:00
Michaelangel007
7039c2a575 Don't offset viewport when full screen. #464 2017-08-26 16:44:20 -07:00
michaelangel007
cf743203ce #483 click to toggle flags 2017-08-25 09:29:30 -07:00
michaelangel007
6cabe7740f #481 Extend arguments from 55 chars to 127 chars 2017-08-25 08:56:23 -07:00
michaelangel007
1612269093 #462 Added for click 2017-08-25 07:36:31 -07:00
michaelangel007
be41616359 Implements #462 sans: help disasm 2017-08-25 07:22:08 -07:00
michaelangel007
d9e9ef34ab Add note about vector clear() insert() at() 2017-08-24 18:43:54 -07:00
michaelangel007
df8d6c06a6 Fix #473 read debugger script file not being properly zero-terminated 2017-08-24 18:43:10 -07:00
michaelangel007
efdce696fc Fix off-by-one bug wrapping in debugger console #476 2017-08-24 16:59:19 -07:00
michaelangel007
2ec3255863 Add comment backlink to F.R. #469 2017-08-24 16:40:21 -07:00
michaelangel007
cb138c97d4 Bug #469 added command line switch to disable PrintScreen key capture 2017-08-24 16:33:03 -07:00
michaelangel007
1728b7b668 Bug #466 Update HELP SYM to double-quote symbols 2017-08-24 12:36:46 -07:00
michaelangel007
dc7b99c006 #479 Fix off-by-one display bug for warning long symbols name 2017-08-24 09:47:05 -07:00
michaelangel007
975230b46d #479 (b) Add Warning for long symbols when symbol table is loaded 2017-08-24 09:40:28 -07:00
michaelangel007
a276bef7df 2.9.0.10 Change Warning to Info for symbols that alias 2017-08-24 09:37:07 -07:00
michaelangel007
eed603f116 Debugger: Bugfix #479 2017-08-24 09:21:15 -07:00
tomcw
0fef6516f4 Debugger: fix _6502_GetTargets() when abs addr16 wraps over 64K boundary (crash bug) & extend debugger unit-tests 2017-08-15 22:12:51 +01:00
tomcw
fb963148c2 At the point of opening AppleWin.chm, try to delete any Zone.Identifer alt data stream (fixes #437) 2017-08-14 21:23:49 +01:00
tomcw
9e7318e7ed Debugger: revert behaviour from 8fce7a8 so that Ctrl+F2 doesn't immediately stop the drive spinning, but F2 still does (#460) 2017-08-12 11:50:31 +01:00
tomcw
88bb57d55a Debugger: When MODE_STEPPING, fix issue with disk LEDs staying on (fixes #250) 2017-08-11 22:01:47 +01:00
tomcw
8fce7a8753 Debugger: F2 or Ctrl+F2 whilst debugger will immediately stop the drive spinning (allowing disk swap) (fixed #460) 2017-08-11 21:45:07 +01:00
tomcw
dd510801fc Fix strange speaker clicks when changing configuration - DirectSound wasn't being uninitialised on a restart (fixes #456) 2017-08-10 22:10:59 +01:00
tomcw
c35b863bd9 Debugger: BPM cmd: trigger on stack access for BRK,JSR,PLn,PHn,RTI,RTS (#445) 2017-08-04 21:07:02 +01:00
Nick Westgate
f1b4dea990 Return ProDOS errors from Harddisk emulation. Fixes #452
Replace Basic System error codes with ProDOS ones.
2017-08-04 21:54:18 +12:00
tomcw
2a916103b6 Use CB_ERR instead of -1 2017-07-07 18:13:21 +01:00
tomcw
0a60a0a8aa Video.cpp: remove redundant code 2017-07-06 21:36:56 +01:00
tomcw
1c145ff154 1.26.3.0: Apply bounds and error checking for the joystick configuration (fixes #434) 2017-07-03 21:48:21 +01:00
tomcw
b7c9c3e663 Config:Advanced tab wasn't appending suffix to save-state file. Fixes #433 2017-06-30 22:39:33 +01:00
Kelvin Lee
b02c7ffb10 Added VS2017 support. 2017-06-10 20:39:25 +01:00
Nick Westgate
3a30a3ee4b Input option to use PC Joystick 1 Thumbstick 2 for emulated Joystick 2 (#428)
* Input option to use PC Joystick 1 Thumbstick 2 for emulated Joystick 2
2017-06-07 10:14:25 +12:00
Nick Westgate
2dabab907b Joystick combo boxes logic correction fixes #426 (#427)
* Joystick combo boxes logic correction fixes #426
2017-06-05 10:09:36 +12:00
tomcw
d81cb0d533 Disk Config dialog: small refactor 2017-06-03 18:21:27 +01:00
tomcw
13aee80bd5 Disk Config dialog: minor bugs fixes (fixes #334) 2017-06-03 18:12:40 +01:00
tomcw
0257492209 Debugger: Don't 'eat' the next keypress when leaving the debugger via F7 (or clicking the Debugger button) 2017-05-29 21:28:45 +01:00
tomcw
b5e78b59a0 Debugger: Fix for 'tf' (trace-file) cmd, so that exiting debugger with F7 doesn't close the trace file and continues in MODE_STEPPING 2017-05-24 22:40:22 +01:00
tomcw
16942d695e Update History.txt 2017-05-22 22:04:34 +01:00
tomcw
1d73611fcc Fix comment about / INTCXROM OFF to account for INTC8ROM 2017-05-22 21:52:15 +01:00
tomcw
64dd4c22c2 Refactor: Rename IORead_Cxxx() to IO_Cxxx(), and use for writes too. Re-enable support for writes to NSC (which was accidently removed at 5470feb). 2017-05-21 22:06:37 +01:00
tomcw
12eed08bea Support INTC8ROM: extend logic for IO_SELECT_InternalROM and rename to INTC8ROM. (Fixes #422, #423) 2017-05-21 17:35:35 +01:00
tomcw
04e9f6bdb9 Fix operator precedence bug 2017-05-14 12:06:41 +01:00
tomcw
344078a559 Replaced UTA2E with UTAIIe for consistency across code-base 2017-05-14 11:33:07 +01:00
tomcw
52450aa7f7 These 2 combined fix #418:
1) Uthernet card now returns floating bus for slot ROM at $Cs00-CsFF (where s=3).
2) Fixed IoHandlerCardsIn() to not map in the card in slot3's slot ROM when SLOTC3ROM=0.

Also:
. moved the typedef 'iofunction' from common.h to memory.h
2017-05-13 22:07:53 +01:00
michaelangel007
f8d3789635 1.26.2.4 Prompt when trying to swap disks while drive is on instead of silently failing 2017-05-11 08:34:57 -07:00
michaelangel007
158b5212e6 Debugger 2.9.0.8 2017-05-11 05:44:42 -07:00
michaelangel007
bcbcaffcf5 GH #406 Cleanup LC status in debugger - B#, and dim inactive bank 2017-05-10 09:51:45 -07:00
michaelangel007
77075a8f32 DOC: Cleanup typo 2017-05-10 09:49:48 -07:00
michaelangel007
b155872f57 Debugger: Extend ColorizeFlags() to support custom fg if not set 2017-05-10 09:47:45 -07:00
tomcw
eb21f34ace Fixed not being able to select Pravets82, improved code robustness & improved UX when loading an unsupported Apple2Type config (fixes #415) 2017-05-08 22:32:01 +01:00
tomcw
e3a99ecf9f RamWorks: Fixed flickery 80-col for ProDrive (fixes #297) and AppleWorks (fixes #409) 2017-05-06 18:34:11 +01:00