Commit graph

1582 commits

Author SHA1 Message Date
Andrea Odetti
6b649bee1a Follow AppleWin and rename nCyclesLeft to uExecutedCycles.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2018-04-14 18:46:00 +01:00
Andrea Odetti
f0b4b8e43d Fix compilation errors.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2018-04-14 18:45:27 +01:00
Andrea Odetti
56fccbe621 Merge remote-tracking branch 'upstream/master' 2018-04-14 18:24:22 +01:00
tomcw
1ed484eb01 1.27.2: Bump version & update History.txt 2018-04-12 21:59:51 +01:00
tomcw
2900816167 Removed duplicate extern FILE* g_fh 2018-04-08 17:48:08 +01:00
TomCh
a78f1e04da
SSC: Support for TX IRQ and other SSC updates (#552)
. Support TX IRQ for both TCP and COM modes (fixes #522)
. Support CTS/RTS (fixes #311)
. Fixed reading DIPSW registers
. Fixed TCP mode which was only generating an IRQ for first byte received
. Added UpdateCommandReg() to consolidate all updates to SSC command reg
. Updated reference URLs
2018-04-08 17:37:26 +01:00
tomcw
598b20fb52 Refactor: Use INTCXROM instead of SLOTCXROM to be consistent with UTAIIe (fixes #419) 2018-04-06 22:36:54 +01:00
tomcw
ccd68d95b5 1.27.1: Bump version & update History.txt 2018-04-05 21:50:37 +01:00
tomcw
419238bb54 Added cmd-line option: -s7 empty to remove the HDD Controller card from slot 7 2018-04-05 21:33:36 +01:00
tomcw
2ba55e0c12 Fix Swap Disk regression (fixes #543) 2018-04-02 18:21:18 +01:00
tomcw
9be3864f32 Added cmd-line options -h1,-h2 for specifying HDDs - #398 2018-04-02 12:38:05 +01:00
tomcw
d7de4908cd Add comment for the reason that reset doesn't affect memmode & videomode for II and II+ models.
Add accessor for memmode, make static and replace extern refs with GetMemMode().
2018-03-19 18:49:08 -07:00
tomcw
8dcc5d50ca Added a comment about HD_Insert() - #541 2018-03-10 14:30:18 +00:00
tomcw
2d2304b4c6 AppleWin's Config>Benchmark, reported a "Pure CPU MHz" which was not a good indicator of unthrottled speed for v1.26+, as it was still getting the emulator to do full NTSC/cycle-accurate video update. The reality (when in full-speed/unthrottled mode) is that the video is only refreshed at 16.6ms (wall-clock).
So added a 2nd "Pure CPU MHz" for full-speed (ie. no video update), eg:

---------------------------
Benchmarks
---------------------------
Pure Video FPS:	2860 hires, 2868 text
Pure CPU MHz:	10.3 (video update)
Pure CPU MHz:	241.3 (full-speed)

EXPECTED AVERAGE VIDEO GAME
PERFORMANCE: 476 FPS

(ref: #424, #540)
2018-03-03 22:01:03 +00:00
tomcw
d9accc82c5 Refactor codebase by renaming nCyclesLeft to uExecutedCycles (#540) 2018-03-03 21:27:50 +00:00
Andrea Odetti
a8e1db3e58 Remove unused file.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2018-03-03 18:08:47 +00:00
Andrea Odetti
b29b69647d Fix code due to changes in recent merge from upstream.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2018-03-03 18:08:31 +00:00
Andrea Odetti
5efc8ca461 Merge remote-tracking branch 'upstream/master' 2018-03-03 17:59:09 +00:00
Andrea Odetti
cdd59a1e12 Fix indentation.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2018-03-03 17:58:39 +00:00
tomcw
93f57c0970 Logging: allowing logging of PrintScreen even when switch is used to suppress MsgBox 2018-02-28 21:23:20 +00:00
tomcw
d4a3c5c28f PrintScreen key: Improve UI feedback when any of the 3 registrations fails & log failures (fixes #547)
Also tweak to full-speed: consolidating 2 calls to DiskII module into 1 call.
2018-02-27 21:07:16 +00:00
tomcw
552d8fcc7b Remove old debug timing code (#540) 2018-02-26 21:34:01 +00:00
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 Odetti
a4ddef6826 A couple of changes lost during the recent merge.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2018-02-24 19:11:33 +00:00
Andrea Odetti
afa366259e Merge remote-tracking branch 'upstream/master'
# Conflicts:
#	source/Disk.h
#	source/DiskImageHelper.cpp
#	source/Harddisk.cpp
#	source/Harddisk.h
#	source/Memory.cpp


Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2018-02-24 19:03:45 +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
Andrea Odetti
5659dde498 Pause the emulator when Disks are swapped.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2018-02-13 20:02:17 +00:00
Andrea Odetti
cde7b12555 Add ability to swap floppy disks.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2018-02-13 08:42:47 +00:00
Andrea Odetti
ba8221d3ee Free resources on exit.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2018-02-13 08:39:17 +00:00
Andrea Odetti
2df7a7c67b Disk_t and HDD cannot free the memory in their destructor as they dont really own it.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2018-02-13 08:38:24 +00:00
Andrea Odetti
91050fc3bd Merge remote-tracking branch 'upstream/master' 2018-02-11 20:43:50 +00:00
Andrea Odetti
7a478fb545 Compile TestCPU6502 as well.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2018-02-11 20:43:26 +00:00
Andrea Odetti
9b58ce1a42 Better compatibility with AppleWin: stick to relative include paths.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2018-02-11 19:57:17 +00:00
tomcw
82fdf1ab6a DiskII: allow reading of write-protect state when in write mode (#537) 2018-02-11 14:52:21 +00:00
Andrea Odetti
04f7492e6b For some reason the ncurses ALT-arrow key codes do not work any longer.
Has anything changed in ncurses?


Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2018-02-10 17:52:35 +00:00
Andrea
eeaaede75e
Create Linux readme file 2018-02-10 17:33:54 +00:00
Andrea Odetti
9218eb671e Try a better time slicing algorithm.
We keep a running timer since the last start, or reboot or pause and ensure we track it.

At the same time, a different full speed mode is necessary.
We run for up to 5 ms as long as the disk is spinning and restart all counters.

This will go in some configuration.


Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2018-02-09 21:16:57 +00:00
Andrea Odetti
30ac85b9c0 In GNOME it happens that the open file dialog is not displayed properly and become impossible to interact with it.
It is displayed elsewhere (different desktop, hidden???), and sometimes it is come back.
More often it forces to terminate the emulator.


Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2018-02-09 21:13:32 +00:00
tomcw
2295964c5f Help: Document behaviour of Caps Lock (fixes #535) 2018-02-08 22:14:20 +00:00
Andrea Odetti
1b70ca4979 Fix PkgConfig for ncursesw and add libevdev.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2018-02-06 17:08:50 +00:00
Andrea Odetti
6985ef40e2 Use CMake / PkgConfig to find ncurses locations and flags.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2018-02-06 16:58:10 +00:00
Andrea Odetti
da7ac10987 Add AppleWin version number in the About dialog box.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2018-02-06 16:50:50 +00:00
Andrea Odetti
a27585d2a6 Add some tooltips and keyboard shortcut.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2018-02-06 16:24:36 +00:00
Andrea Odetti
7a6ad9f363 Ensure the MouseCard is properly reset when the emulator restarts.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2018-02-06 16:21:35 +00:00