michaelangel007
ba9388d1d8
Debugger: 2.9.1.6 Added: Branch instructions now show target address
2022-01-03 22:48:12 -08:00
michaelangel007
b3dc408195
Debugger: Cleanup
2022-01-03 22:47:25 -08:00
michaelangel007
65ab105d76
Debugger: 2.9.1.5 Added: Disassembly window now shows signed decimal values for immediate values.
2022-01-03 22:18:12 -08:00
michaelangel007
aaae1dd6a1
Debugger: 2.9.1.4 Changed: Show symbol warnings in Orange, and length of symbols in light blue
2022-01-03 22:15:41 -08:00
michaelangel007
48e0fe3a8e
Debugger: 2.9.1.3 Added: DB command now optionally supports =
2022-01-03 21:11:25 -08:00
michaelangel007
3985ee9abc
Debugger: 2.9.1.2: Fixed: Off by one end address when deleting DisasmData_t
2022-01-03 21:09:11 -08:00
michaelangel007
19b7d43327
Debugger: 2.9.1.1: Added: X command now supports a range and will chop off the appropiate data sections.
2022-01-03 21:07:49 -08:00
michaelangel007
561a145ab0
Debugger: Add _GetAutoSymbolName() helper
2022-01-03 21:05:37 -08:00
Andrea
d63e406573
Correct BMP creation on Linux (PR #1014 )
...
Enable BMP Header packing on all compilers.
Add virtual function to FrameBase to select where to save screenshots.
2022-01-03 14:41:03 +00:00
tomcw
a243efc74b
Fix for cmd line -dcd not being honoured (regression)
2021-12-24 20:58:04 +00:00
tomcw
a727db7cc5
Load save-state:
...
. fix for II/II+ when VidHD's SHR is being updated (init memVidHD ptr).
. refactor to consolidate all Mem* related initialisation.
2021-12-23 15:56:14 +00:00
tomcw
d342f3a17d
Fix for VS2008
2021-12-19 19:26:07 +00:00
TomCh
577ffccf8f
VidHD: Support SHR for Apple II/II+ models ( #997 , PR #1013 )
...
. Support aux writes for II/II+ (6502 emulation, not 65C02)
. Extend VidHD save-state for II/II+ aux memory
2021-12-19 14:17:51 +00:00
tomcw
ff65a9f6bf
Save-state: remove ASSERT when saving LC for //e or Enhanced //e
2021-12-18 21:31:17 +00:00
Andrea
47f721882e
throw std::runtime_error instead of std::string (PR #1011 )
...
+ add more information about location of yaml parser error.
2021-12-18 16:37:28 +00:00
tomcw
651b57fdae
HDD: fix for slowdown during r/w block operations
...
. firmware does busy-wait RMW (rol abs,x)
. the IORead then IOWrite was flipping the LED status each access, with a huge performance penalty!
2021-12-12 11:53:37 +00:00
tomcw
19aadbfb8d
Add a top-level catch-handler for std::string
2021-12-11 20:27:39 +00:00
tomcw
408f5fe42f
Fix for loading save-state - eg. where 'AS-S2_End Credits' & 'OMT-PAL' lost their precise frame cycle
2021-12-11 19:30:54 +00:00
Andrea
a07ba4ade0
Set SHR alpha channel to 255 for consistency with other video modes. (PR #1010 )
2021-12-11 18:05:06 +00:00
tomcw
1670e0dbc0
Fix for AppleWin-Test:
...
. don't load floppy/harddisk images (in Registry's Config) if also loading a save-state via cmd-line.
. done to prevent MessageBox alerts when deleted disk images can't be found.
Info: Registry contains refs to disk images, but on test clean-up, the images get deleted.
2021-12-11 18:01:46 +00:00
Andrea
177c9fec05
Make Slot 0 more consistent with other slots. (PR #1006 )
2021-12-11 15:26:09 +00:00
tomcw
010d3525d3
HDD read: error if reading block to ROM ( #1007 )
2021-12-11 15:11:13 +00:00
tomcw
0ac210b132
Debugger: Extend 'brk' cmd:
...
. brk all <on|off>
Fix 'brk' cmd for invalid opcodes of length 2 & 3
2021-12-11 13:41:34 +00:00
tomcw
1ab0d56558
HDD: remove magic numbers & add GH ref ( #1007 )
2021-12-10 19:37:58 +00:00
tomcw
bb6fa80335
HDD r/w: error if r/w overlaps with I/O memory
...
. break to debugger if single-stepping
HDD write: support memory accesses across 64KiB boundary
2021-12-09 21:22:13 +00:00
tomcw
c594d6e101
VidHD: Fix SHIFT+PRINTSCRN for 320x200
2021-12-07 21:59:05 +00:00
TomCh
443545b0f6
Support SHR video modes with a VidHD card ( #997 , PR #1004 )
...
Support VidHD in slot 3 (via Config GUI or '-s3 vidhd') for SHR video modes only.
- AppleWin window is slightly enlarged when VidHD card is inserted.
Support IIgs 320x200 (and fill mode) and 640x200 video modes.
Debugger: add 'shr' command to view video
CUI: Allow user to specify width & height (for full-screen); and allow separate x,y scaling in full-screen mode.
2021-11-30 21:41:02 +00:00
Andrea
0b2104cc89
Card::Save/LoadSnapshot (PR #1003 )
...
Add 2 virtual methods to Card to load and save snapshots.
2021-11-25 20:23:21 +00:00
tomcw
abc631432d
HDD: fix edge-case for old save-state m_buf_ptr
2021-11-15 20:26:53 +00:00
TomCh
01f89f88eb
Joystick: Remove buttonlatch & BUTTONTIME ( #1002 )
2021-11-14 17:40:15 +00:00
Andrea
2e04ce348a
Add Card::Update() (PR #1000 )
...
And use it in ContinueExecution()
2021-11-13 18:13:01 +00:00
Andrea
8662a99179
Add InitializeIO() to Card and CardManager (PR #999 )
...
. Card::InitializeIO() is pure virtual
. CardManager::InitializeIO() initialises all cards
2021-11-11 21:45:55 +00:00
tomcw
6282790c3d
Add comments to both Harddisk.cpp & the firmware code about 'sta abs16,x' false-reads, etc.
...
Harddisk.cpp: Fix typos and update the notes on the r/w commands' operation.
2021-11-11 21:20:54 +00:00
TomCh
5ed901f720
Slot-independent HDD firmware ( #996 , PR #998 )
...
. Move the 'read block' command into the emulator - to mirror the write command
. With emulated time to do the DMA for the r/w block command
2021-11-09 21:04:57 +00:00
tomcw
d96ed5b8c5
Refactor: move m_slot into Card class
2021-11-01 21:01:28 +00:00
tomcw
67b3c28833
Refactor: remove slot from InitializeIO() calls for card objects
2021-11-01 20:39:26 +00:00
TomCh
ff7c9dc185
Make harddisk a class ( #995 )
...
. Add user-protection when unchecking HDD controller (as images aren't restored on a 'cancel')
. Fix possible crash when removing (via Config->Disk) either Disk2 card(s5) or HDD card(s7), then cancelling during emulation
. Fix m_buf[] size
2021-11-01 20:12:42 +00:00
Andrea
830030ee05
Simplify logic around CConfigNeedingRestart (PR #955 )
2021-10-31 12:14:47 +00:00
tomcw
ac2233149b
Debugger: Change 'brkint' params to on/off for consistency
2021-10-28 21:00:18 +01:00
tomcw
ca611eaa64
Mousecard: fix persisting card in slot-4 after a VM restart. ( Fixes #993 )
2021-10-19 21:56:19 +01:00
tomcw
fa18382757
Core emulation: simplify NMI & IRQ handling
2021-10-18 21:45:45 +01:00
tomcw
18f5fafb30
DiskII: Remove superfluous IsDiskImageWriteProtected()
2021-10-18 21:13:37 +01:00
Andrea
f2843d4d71
Collections of changes to facilitate compilation on Linux and macOS. (PR #992 )
2021-10-18 20:23:46 +01:00
TomCh
9553106f4e
Debugger: Add IRQ support to LBR and new command to Break on Interrupt ( #987 , PR #990 )
...
Extend LBR so that it includes the control-flow on a taken interrupt
Add a new command 'brkint <0|1>' to support Break on Interrupt
Internal: in core emulation loop, moved IRQ/NMI check to start of loop so that just the "interrupt vectoring" case can be single-stepped (instead of previously opcode + interrupt vector).
Debugger help chm: update Breakpoints section to include BRK, BRKOP and BRKINT
2021-10-16 16:57:00 +01:00
tomcw
4f8b30506d
Debugger: Fix LBR so it's updated only if branch is taken ( #987 )
2021-10-16 11:58:09 +01:00
tomcw
8575238d69
Debugger: Add a simple LBR command
2021-10-15 21:58:17 +01:00
tomcw
eee2400984
Uthernet: removed unused Bittypes.h & Pcap-stdinc.h
2021-10-15 21:02:57 +01:00
tomcw
028c041175
Debugger: fix for 6502 JMP (ABS) - compute correct NMOS target address
2021-10-15 20:36:04 +01:00
tomcw
aa7d0cf240
Fix one shot paddle timers ( fixes #985 )
2021-10-04 22:08:37 +01:00
tomcw
51e42d1d4e
SNES MAX: load state: defaulting to no buttons pressed
2021-10-02 15:28:54 +01:00
tomcw
4cb8a6414d
Uthernet: fix -load-state so that tfe_init() is called
2021-10-02 12:56:55 +01:00
tomcw
b6c71201cf
Uthernet: remove tfe/tfe_packetpage allocations
2021-09-22 20:46:28 +01:00
TomCh
4aa6e05528
Support Uthernet save-state ( #984 )
...
Uthernet card: support save/load state
2021-09-21 21:32:14 +01:00
tomcw
10a83eed61
SAM card: refactor as a class, and support save/load state
2021-09-18 11:55:29 +01:00
TomCh
ed298b4fd9
Improve save-state card management (PR #983 )
...
Initially all cards are removed before loading save-state.
Use new Registry "Configuration/Slot 2" location to save SSC's port name.
Use new Registry "Configuration/Slot 7" location to save HDV's image names.
Use new Registry "Configuration/Slot n" (and "Configuration/Slot Auxiliary") locations to save all other card types.
Command line: -s<slot> (eg. -s7 empty) now get persisted to the Registry.
Only update 'HDV Starting Directory' for slot7 & drive1.
2021-09-17 20:43:10 +01:00
tomcw
1b8d26051e
Fix for command line with multiple spaces between args. ( #981 )
2021-09-10 14:51:57 +01:00
tomcw
35b83765db
Fix for command line -d2 (and -h2): if image can't be opened, this is now reported as an error. ( #980 )
2021-09-10 14:38:40 +01:00
tomcw
70f097d3ff
Fix 'authentic disk speed' setting. ( fixes #980 )
2021-09-10 14:27:22 +01:00
tomcw
ad8a7e2810
SNESMAX: minor rename for member vars
2021-09-10 14:19:13 +01:00
TomCh
685b93f387
Add 4Play & SNES MAX card support ( #946 , #972 , PR #982 )
...
Support these new cards in slots 3, 4 or 5; based on code from Lukazi.
- extend Configuration's Input prop sheet page.
- add save/load snapshot for both cards.
- add command line switch for alt controller type (for SNES MAX card).
Change to using Registry's 'Configuration\Slot 3' for slot 3 cards (Uthernet, 4Play & SNES MAX).
Update help doc.
2021-09-10 13:57:55 +01:00
TomCh
7b55e994ec
Config GUI for DiskII card in slot-5 & improved slot config in Registry ( #975 , #977 , PR #978 )
...
Change to using Registry's 'Configuration\Slot n' for disk ii image pathnames (was 'Preferences').
Delete Registry's 'Configuration\Slot n' section each time there's a change of card.
Add same functionality to conf.ini.
LoadConfiguration(): load from the new Slot-n section (or otherwise the old legacy key).
Only update Registry's 'Starting Directory' for s6,d1.
Update help doc.
2021-08-29 11:39:51 +01:00
tomcw
3fece5e621
Minor interface change to PropertySheetHelper
2021-07-29 13:31:33 +01:00
tomcw
c20c9c2c9c
Fix Coverity CID 1506067 in Debug.cpp
2021-07-28 14:09:22 +01:00
tomcw
405de2be14
Fix Coverity - High Impact defects:
...
. uninitialised vars in Debug & Win32Frame
2021-07-28 12:47:05 +01:00
tomcw
f4650fb850
MB: Make AY voice & mix buffers the same size to prevent buffer overrun
...
(Voice buffer reduced from 1s to 0.37s)
2021-07-28 12:22:58 +01:00
tomcw
6a5017bf91
SSI263: fix potential buffer overrun & rename var so it's explicit that it is a byte-size
2021-07-28 12:14:22 +01:00
Andrea
4375418506
Move some "char *"to "const char *", and avoid unnecessary c_str(). (PR #973 )
2021-07-25 11:55:25 +01:00
tomcw
71bea52419
Disk/Harddisk: Insert() - fix comment and rename var
2021-07-15 19:23:01 +01:00
Andrea
4f45202baf
Save full pathname to registry. ( #960 PR #959 )
...
This was already happening for Hard Disks (although in a convoluted way).
Extend to Floppy Disks.
2021-07-13 21:24:29 +01:00
tomcw
3d0cdd55d1
Make a few utility funcs static
2021-07-11 12:06:29 +01:00
tomcw
7086ea5208
Full-screen / resolution change: fix display flicker. ( Fixes #965 )
2021-06-19 15:06:04 +01:00
TomCh
1962a3c337
Switch to a static hook filter ( #962 , PR #964 )
...
Remove the HookFilter.dll which had a dependency on VCRUNTIME140.dll
2021-06-09 21:48:24 +01:00
tomcw
793f2eb507
Cmd line: -fs-height: small refactor so that bestWidth/Height are only returned for logging purposes
2021-05-31 16:40:44 +01:00
tomcw
f076986c04
Cmd line: Changed -fs-height=<best|nnnn> so it doesn't change the resolution when not full-screen ( #876 )
...
. NB. whenever switching back to non-full-screen, then it will restore the default desktop resolution.
. Allow -no-full-screen to be placed before -fs-height=<best|nnnn> (previously it only worked when placed afterwards)
2021-05-31 16:09:39 +01:00
tomcw
0ca972954e
MB: fix for SSI263/SC01 in debugger's 'gg' mode ( fixes #958 )
2021-05-29 21:53:18 +01:00
tomcw
7f0c028250
Typo: fix IS_APPLE2() macro
2021-05-23 21:28:26 +01:00
Andrea
d631b23d24
Uthernet: fix usability and settings (PR #947 )
...
* Make Uthernet settings behave like all other cards.
Fix as well the fact that the Uthernet interface would not be reapplied after a restart.
* Uthernet: use consistent types to reduce code complexity.
Use std::string everywhere.
2021-05-19 21:44:33 +01:00
tomcw
05b9668f72
Use enum SLOTS and remove pre-processor SLOTn defines
2021-05-19 21:26:23 +01:00
Andrea
de7f35e6bd
Make path separator OS-dependent (PR #954 )
2021-05-19 21:10:22 +01:00
Henri Asseily
1b9a769332
Fix to DirectSound not working in modern environments. Need to use FAILED() instead of boolean check. (PR #951 )
2021-05-16 20:03:59 +01:00
tomcw
110a706535
SC-01: fix DDRB support for #952
2021-05-16 19:49:34 +01:00
tomcw
21146cb65e
AY8913: Fix regression at 2d086e87
...
- Phasor does support reading regs in MB mode & Phasor native mode (but not Echo+ mode).
2021-05-16 19:27:04 +01:00
tomcw
ce309324bb
Debugger: when displaying 6522 regs, if T1/T2 are active, then display in white
2021-05-09 13:38:16 +01:00
tomcw
5bc1261281
Logging: add more logging to Speaker code
...
Debug: add a debug-enabled MB S/S card
2021-05-03 19:58:13 +01:00
tomcw
60ddf0fa35
6522: Support cycle accurate reads from IFR for T1/T2 bits
2021-04-30 22:23:20 +01:00
Andrea
f959f4f1d6
Uthernet: enable support on Linux. (PR #943 )
...
* Make tfe easier to compile in Linux.
* libpcap in Linux: we can just use the libpcap provided and link to it directly.
2021-04-23 20:59:02 +01:00
Andrea
9bec2ce405
Avoid a crash if the LogFile cannot be opened. (PR #944 )
2021-04-23 20:49:31 +01:00
Andrea
41778aa472
Debugger: move Win32 functions to separate file. (PR #941 )
...
* Debug.cpp: move Win32 functions to separate file.
* Move _tcscat -> strcat to maximise portability.
* Remove unneeded Win32 check.
2021-04-23 20:39:24 +01:00
Andrea
c6c427aa3d
Debugger: Fix bound on maximum bytes to move backward. (PR #937 )
...
The higher g_nDisasmCurLine the more we will have to travel back to find the instruction at the top of the window.
2021-04-23 20:34:46 +01:00
tomcw
6fefce553a
MB: Support old save-states where 6522 T1 latch is 0x0000
2021-04-18 18:33:16 +01:00
tomcw
26414b74df
Fix for a2audit failing Apple II/II+ LC test
...
. For II/II+ with NSC at F8xx, then (for NSC) also exclude the r:ROM/w:RAM (C089) case
2021-04-18 11:23:06 +01:00
tomcw
e7a3f97bb6
SSI263: For SC01, don't change reg0.DUR value
2021-04-17 18:30:11 +01:00
tomcw
1314fcc0ed
Swap joystick buttons ( #936 )
...
. cmd-line (-swap-buttons) or GUI "Swap 0/1" now swaps buttons 0/1 for all devices
. ie. Open/Solid Apple keys, real joystick, mouse or Num Pad keys
+ update the docs
2021-04-10 19:09:36 +01:00
tomcw
363193ba33
MB: get rid of CriticalSection, as MB support is now single-threaded
2021-04-10 16:26:51 +01:00
TomCh
b5726aae7d
Add some random woz jitter ( #942 )
...
Improve WOZ support for WL and LOA (#930 )
- After T$00,S$00 (for certain 4&4 encodings) randomly skip 1 bit-cell
- Remove the previous fix for WL/LOA which was affecting other titles
2021-04-10 15:31:54 +01:00
Andrea
a37d0b078f
Add constructor for SY6522_AY8910 for correct initialisation (PR #940 )
...
Avoid leaks when the destructor of SY6522_AY8910 is not called.
2021-04-05 17:44:59 +01:00
tomcw
7a41ede6d9
SSI263: improve logging
2021-04-05 14:56:55 +01:00
tomcw
27fe4e5ed0
SSI263: when loading state, assert Phasor's speech IRQ if required
2021-04-01 20:52:00 +01:00
tomcw
33492ac9a2
On reset: clear Phasor speech IRQ
2021-03-31 22:09:04 +01:00
tomcw
91f2c43992
Disable SC01 logging
2021-03-28 22:18:00 +01:00
tomcw
2258d01184
MB: SC01 is only mapped to the 6522 at Cn00
2021-03-28 22:16:34 +01:00
tomcw
fea5da7872
Logging: add support for SC01
2021-03-28 12:16:57 +01:00
TomCh
96bbc0c435
Improve SSI263 (PR #939 )
...
New class for SSI263 (2 instances per MB/Phasor card)
- support 2nd SSI263 at $Cn20 connected to 6522-A (at $Cn00)
Switch from one-shot phoneme playback to ring-buffer
Use a new dedicated ring-buffer (distinct from the AY8910 ring buffer)
Gets rid of: SSI263Thread, the 2 events, and the 64 voices
Support the 2-bit Duration b7:6 of phoneme register for both SC01 & SSI263 (to fix #929 )
Updated save-state
Updated IRQ logging (output cycle & 6522 source)
2021-03-23 22:01:41 +00:00
tomcw
fb6433fb7a
Debugger_Disassembler.cpp: add GPL boilerplate text
2021-03-17 20:42:40 +00:00
Andrea
c7f515015b
Debugger: Separate disassembler functions from display (PR #933 )
...
Makes it easier to use them in different environments.
2021-03-17 20:32:19 +00:00
tomcw
3f75012c0e
Windows speech: trap calls to COUT1 and BASICOUT (instead of COUT) ( #934 )
2021-03-09 21:06:37 +00:00
tomcw
0858cc3a23
Debugger: improve mem views for 6522 & AY8913 chips
2021-03-07 13:11:22 +00:00
tomcw
3766c1e014
Debugger: fix to wrap 16-bit addr for mem watch (was getting AppleWin debugger crash)
2021-03-02 18:14:36 +00:00
tomcw
2d086e87ec
Support 2nd SSI263 at $Cn20
...
Phasor doesn't support reading AY8913 regs
2021-02-21 19:12:36 +00:00
tomcw
2cd2f013e6
Disk: improve DebugTrackWOZ() func
2021-02-20 12:32:29 +00:00
tomcw
0bb34bfb48
Disk: remove debug DumpSectorWOZ() func
2021-02-19 16:21:44 +00:00
tomcw
a709e9dbdf
MB/SSI263: improve logging to include phoneme duration
2021-02-17 21:53:15 +00:00
tomcw
2f4bbd2b8a
Avoid ASSERT from MB_Reset() on exit
2021-02-15 21:47:21 +00:00
tomcw
4e88163430
MB/6522: better reset support - only ACR,IFR,IER affected
2021-02-13 16:56:29 +00:00
tomcw
84a705d20d
MB/6522: improve T1 underflow with latch
2021-02-12 19:16:14 +00:00
tomcw
ff29b055ce
MB/6522: fix timer1 underflow for very small values
2021-02-11 22:44:40 +00:00
Andrea
8c2b38d19d
Enable ConformanceMode in VS2019. (PR #923 )
...
This reduces the chances of incompatibility between gcc and vs.
99% is "const char *" literals.
1 case of a goto jumping over a variable declaration (but it is not needed).
2021-02-10 21:05:00 +00:00
Andrea
466207f5d3
Save-state: load/save dialog: Remove ; to concatenate string and avoid unused code. (PR #924 )
2021-02-10 20:55:58 +00:00
tomcw
776a48fc01
MB/6522: support for T1 latch in one-shot mode
2021-02-10 20:51:11 +00:00
tomcw
f3b6b8665f
Debugger: fixes to wrap 16-bit addr (was resulting in AppleWin debugger crashes)
2021-02-07 16:58:11 +00:00
tomcw
c492004e8d
6522 read: support non 4-cycle read opcodes ( #833 )
...
. ie. addr modes: (zp,x), (zp),y and (zp)
2021-02-06 18:02:35 +00:00
tomcw
f302e88f55
Add 6522 support for stz abs16 and stz abs16,x
2021-02-05 22:30:05 +00:00
tomcw
fcafa18340
Debugger: add red 'IRQ' after the v/h-pos when IRQ is being asserted to the 6502
2021-01-31 19:38:06 +00:00
tomcw
fad4dd2ad1
Disable debug-logging for previous AY8913 fix
2021-01-30 12:50:33 +00:00
tomcw
024e97ac9b
MB-AY8913 fix so that no AY changes get dumped ( #770 )
...
. Needed for read of AY8913 regs too, during built-in debugger stepping (mb-audit)
2021-01-30 10:34:46 +00:00
tomcw
a3666edf48
MB: read fix
2021-01-28 20:15:23 +00:00
Andrea
baad40f3b8
SpkrSetEmulationType(): simplify logic and remove unreachable code. (PR #919 )
2021-01-20 21:30:34 +00:00
Andrea
cdf1cb9106
Remove usages of g_hFrameWindow and g_hInstance from core emulator files. And Resource related Win32 functions. (PR #915 )
...
. Win32Frame: remove WM_USER_RESTART.
2021-01-19 20:37:43 +00:00
tomcw
81279904e2
Pravets: fix bug in ctor
2021-01-18 20:30:51 +00:00
tomcw
44fa610ef6
Pravets.cpp: convert to UTF8 to allow VS2019 to build
2021-01-17 22:21:33 +00:00
tomcw
5d46298dcc
Mockingboard: support AY-3-8913 read
2021-01-17 19:51:25 +00:00
TomCh
daa0675694
Pravets refactor: move all specialisations into new Pravets class. (PR #914 )
...
Mainly for keyboard & printer specialisations.
2021-01-17 10:48:06 +00:00
tomcw
fc3a0f57ce
Win32Frame: Fixes for VS2008
2021-01-16 22:13:02 +00:00
Andrea
61db149eab
Move last remaining globals from WinFrame.cpp to class Win32Frame. (PR #913 )
2021-01-16 21:57:28 +00:00
tomcw
440831179f
Keyboard: improve illegal keycodes handling for II/II+ and clones.
2021-01-16 11:01:18 +00:00
tomcw
7d2ddb3556
Base 64A: support special F2 key via the Delete key (GH#912)
2021-01-14 21:32:59 +00:00
Andrea
816e22524f
VideoReinitialize(): remove default arg & refactor out common code (PR #911 )
2021-01-13 22:02:48 +00:00
Andrea
6cffb30330
FrameBase: some changes to ease implementations (PR #910 )
...
. simplify the interface FrameBase to make it easier to implement it for different cases (remove HDC and make parameters more explicit)
. remove functions which are only called on a Win32Frame (in which case a cast is guaranteed to succeed)
. otherwise there is the risk that every FrameBase implementation wants to add its own variants.
. FrameBase::FrameRefreshStatus() simplify implementation: pass all flags explicitly
2021-01-10 16:33:06 +00:00
Andrea
159cde7d64
Video & FrameBase: better split (PR #908 )
...
* Video / FrameBase: move arch specific code to FrameBase.
* Video::Initialize & SetFrameBuffer.
Ensure initialization and SetBuffer can only happen in the right order.
* Video: move virtual functions to FrameBase.
With these changes all the virtual functions are in FrameBase and Video gets closer to be (only) the Apple ][ Video device.
* Move a few more functions from Video to FrameBase (snapshot related)
Now, the inclusion is one way with Video *not* including FrameBase.
* FrameBase::VideoRefreshScreen move Video related code to Video.
And only leave management to FrameBase.
2021-01-03 16:21:24 +00:00
Kelvin Lee
0139878dd7
x64 enabling (PR #747 )
...
Here are a few changes to make 64-bit build possible.
The changes are mainly to use windows api in the correct way that works for both 32-bit and 64-bit builds.
2021-01-01 12:57:40 +00:00
Andrea
9d7aa7d309
Move VideoRedrawScreen() to Video. (PR #904 )
2021-01-01 12:42:24 +00:00
tomcw
c7d9a780bb
Minor tweaks + comment for GCC needing header file
2020-12-29 21:45:56 +00:00
Andrea
d0cd7ca090
WinVideo: share some generic code (PR #901 )
...
* WinVideo: move some generic functions back to Video.
Introduce a new virtual function (VideoPresentScreen) to draw the video buffer to video memory.
* Move Win32Frame::VideoRedrawScreen() to FrameBase as it is generic.
2020-12-29 21:30:17 +00:00
Andrea
b226bdfd53
Small changes to improve compatibility with GCC. (PR #902 )
...
* Fix GCC build.
1) do not fwd declare enums
2) include only base class header file IPropertySheet.
* DSInit(): make sure sound devices are cleaned before the 2nd call.
And use std::string to avoid need of memory management.
2020-12-29 21:17:03 +00:00
Andrea
6cf907f303
In Linux, save logfile to /tmp. (PR #900 )
2020-12-29 21:13:35 +00:00
TomCh
3aa5750dcf
Make Video.cpp and WinVideo.cpp into a dependent class hierarchy (PR #898 )
...
. class hierarchy: WinVideo IS_A Video (ie. WinVideo is a subclass of Video)
. GetVideo() singleton instance of WinVideo in AppleWin.cpp, exposed via Interface.h
2020-12-28 16:25:29 +00:00
Kevin Marty
3c6f0c1145
Add option to disable warning when PrintScreen key can't be captured (PR #891 )
...
NB. Windows XP or higher
2020-12-27 19:21:46 +00:00
Andrea
b8296e6c9c
Frame.h: merge into Video.h. (PR #896 )
...
. The functions GetFrameBufferXXX() have been moved next to g_pFramebufferbits.
2020-12-27 19:01:35 +00:00
Andrea
e27879ac99
Move interface into a class FrameBase. (PR #893 )
...
. Move the Win32 implementation into Win32Frame.
2020-12-24 15:08:50 +00:00
tomcw
8d7d2b9647
VS2019: new debug/release configurations for v141_xp ( #693 )
...
. NB, the Microsoft SDK 7.1A doesn't contain dxguid.lib & ddraw.lib, so they are linked against these two dx libs that are already part of the AppleWin repo.
2020-12-20 18:44:25 +00:00