Commit Graph

2198 Commits

Author SHA1 Message Date
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 19abefb2b3
Update README.md
Added 80Col/RamWorks III
2020-12-29 10:18:23 +00:00
TomCh c819347502
Update README.md
Added a brief overview of what is supported.
2020-12-29 10:07:47 +00:00
tomcw 1faa5d5668 Update README.md for 1.29.16 2020-12-29 09:43:25 +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
tomcw 89bd685bd6 VS2019 v141_xp: added missing shlwapi.lib 2020-12-27 19:38:41 +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
tomcw 41ccd21307 Fix VS2008 build due to the TestDebugger proj (only included by VS2008 at the moment) 2020-12-27 11:54:11 +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 6ec47a357d Removed old VS projs for libs & dlls 2020-12-23 18:41:37 +00:00
tomcw bd3fc2972a Update makeAppleWin.bat to use the v141_xp release 2020-12-23 18:28:44 +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
tomcw 97643e304f Fix build for missing include of Interface.h 2020-12-20 15:39:53 +00:00
Andrea 2d2ba86f4f
IPropertySheet: make it a standard C++ class with pure virtual functions (PR #892)
* Interface.h: ensure that functions in the interface are not exported by other header files.

This is generally harmless, except for the presence of default arguments, in which case the version with default arguments must come first.
To avoid the issue, these functions are only ever exported in the Interface.h header file.
2020-12-20 15:32:51 +00:00
Michael "Code Poet" Pohoreski 3cb8f3bb52
Merge pull request #871 from AppleWin/CodeConventions-v3
Coding Conventions updated
2020-12-16 19:37:00 -08:00
tomcw 469f9ba807 Support disconnecting drives from DiskII Interface card: -d1-disconnected, -d2-disconnected 2020-12-12 20:49:46 +00:00
TomCh 1e35d4448c
Improved support for latch when drive is empty or disconnected (#864) (PR #870)
. NB. Not hooked up any way to configure the drive as disconnected (nor fixed the GUI to disallow inserting a disk).
2020-12-12 20:05:29 +00:00
tomcw b1b441952b NTSC: removed unused typedefs 2020-12-12 19:17:59 +00:00
tomcw 954d7c1731 Cmd line: support -fs-height=nnnn starting in Windowed mode. (#876) 2020-12-12 18:23:23 +00:00
tomcw 0ddb1917aa SyncEvents: ensure MB & Mouse have removed their events for a restart 2020-12-12 17:46:36 +00:00
Andrea 30d3269fbf
Remove a few more Win32 memory functions. (PR #888)
CopyMemory, MoveMemory, FillMemory.
2020-12-12 11:09:14 +00:00
tomcw 50a0e81941 Rename ms_pWorkBuffer to m_pWorkBuffer (as it's no longer static) 2020-12-10 21:28:12 +00:00
Andrea d2a34e1f91
Remove VirtualAlloc, VirtualFree & ZeroMemory. (PR #884)
. Allocation in Memory.cpp: keep VirtualAlloc of size=64KiB (alignment=64KiB) to ease debugging.
2020-12-10 21:08:15 +00:00
tomcw 86851d86e5 YamlHelper: minor change 2020-12-09 20:31:21 +00:00
Andrea 8304c5738f
Fix memory leaks in Yaml parsing (PR #886) 2020-12-09 20:24:36 +00:00
tomcw 65b8f5fdbf CardManager: small refactor 2020-12-09 20:19:49 +00:00
Andrea 0d741d0b9f
Fix memory leak in CardManager (PR #885) 2020-12-06 18:43:18 +00:00
Andrea 59294d9d72
Move CtrlReset() and ResetMachineState() to Utilities.cpp (PR #883) 2020-11-29 21:11:05 +00:00
tomcw e2d7eb7406 Removed (the now) unused alarm.h 2020-11-29 17:39:52 +00:00
Andrea 7ca547479b
Move Windows related functions to Interface.h (PR #882)
This is not complete as header files from Windows/.. are still included in:

Keyboard.cpp
SerialComms.cpp
Joystick.cpp

But probably these are arch specific and will have to be completely reimplemented elsewhere.
2020-11-29 17:30:06 +00:00
Andrea 93346c215f
Cleanup types and include's to ease GCC compilation. (PR #881)
. Do not include alarm.h as it is not needed.
The code in alarm.h is not complete: all the extern functions are missing and different linkers might complain about this.

. Do not redefine some windows.h types in VICE/types.h as it becomes harder to keep them consistent.
Biggest problem is DWORD_IS_LONG as the best way to define it in linux 64 bit is as an int. Prefer to use StdAfx.h.
2020-11-29 17:22:50 +00:00
TomCh 5d90b64829
Use _stat64() to support file size >2G (PR #880) 2020-11-29 15:48:23 +00:00
Kelvin Lee 4c19069d8b Remove unnecessary conditional compile for _MSC_VER 2020-11-30 01:05:25 +11:00
TomCh edadde74ab
Move GetAppleWindowTitle() to Utilities.cpp as it is generic. (PR #879) 2020-11-29 13:45:49 +00:00
Kelvin Lee a7353aa7f1 Use _stat64() to support file size >2G
1. Newer VC runtime stat(), when using 32-bit file size, returns error
   if file size is >2G. For file existence check, using 64-bit file
   size is more accurate as files bigger than 2G would be reported as
   non-existing otherwise.
2. <sys/stat.h> is required for VS2013 or before.
2020-11-29 10:12:03 +11:00
Andrea Odetti ed178d8b1c Move GetAppleWindowTitle() to Utilities.cpp as it is generic and useful to other archs. 2020-11-28 15:49:19 +00:00
TomCh 391df5d4c0
Select a value of the Alpha mask that works at the same time in Windows and Linux (Qt / SDL). (PR #878)
In Windows it does not seem to make any difference, so 0xFF is selected for maximum compatibility.
2020-11-28 14:14:03 +00:00
Andrea Odetti 63e5c5c9ff Select a value of the Alpha mask that works at the same time in Windows and Linux (qt / sdl).
In Windows it does not seem to make any difference, so 0xFF is selected for maximum compatibility.
2020-11-28 14:13:20 +00:00
Andrea 3d70a9dd35
Some small changes to ensure code compiles with GCC. (PR #877) 2020-11-27 20:57:35 +00:00
tomcw 8ef34d7d76 Fixed TestDebugger.cpp 2020-11-26 21:52:39 +00:00
Andrea bbe88da787
AppleWin.cpp split (PR #875)
. Split AppleWin -> Core with the functionality really needed by the emulator.
. Split AppleWin -> Utilities for generic code not called by other emulator components.
. Split AppleWin -> CmdLine for the command line option parsing.
2020-11-26 21:50:06 +00:00
TomCh 6e166dfff6
Support NSC for Apple II/II+ via F8-ROM (#827 PR #873) 2020-11-25 21:57:34 +00:00
Andrea c455488b50
Split Frame.cpp to WinFrame.cpp (PR #874) 2020-11-23 19:21:20 +00:00