Commit graph

1480 commits

Author SHA1 Message Date
Andrea Odetti
b5e5199eeb Move all configurations to a separate file.
Still not ideal as it is not straightforward to add options to places like the Video class.


Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-11-21 16:10:58 +00:00
Andrea Odetti
ea99fb0584 Merge remote-tracking branch 'upstream/master' 2017-10-29 16:27:20 +00: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
86f56a9a49 Bump to 1.26.3.2 and update History.txt 2017-10-21 21:02:38 +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
Andrea Odetti
0c9bec8af3 Merge remote-tracking branch 'upstream/master' 2017-10-20 20:10:34 +01:00
tomcw
c49d68f2b5 Flush current track (if dirty) before 'Send to CiderPress' (fix #499) 2017-10-19 22:49:10 -07:00
Andrea Odetti
59e570d8e2 Merge remote-tracking branch 'upstream/master' 2017-10-18 21:15:19 +01: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
Andrea Odetti
269cb6cfd1 Take screenshot.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-17 21:14:36 +01:00
Andrea Odetti
89618601b1 Fix double low resolution colors.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-16 20:45:08 +01:00
Andrea Odetti
0eaeaf60f8 To get decent benchmark results we need to force video repainting.
But it does not work with OpenGL.


Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-15 21:08:08 +01:00
Andrea Odetti
611c661d00 Add about dialogs.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-15 18:58:40 +01:00
Andrea Odetti
ae4be77382 Move MessageBox() to the interface to display it properly in Qt.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-15 18:58:23 +01:00
Andrea Odetti
d4fad7e8eb actionChange was a bit complicated.
Just use plain start / stop.


Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-15 18:24:00 +01:00
Andrea Odetti
3a620f8b92 Add support to load/save state.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-15 18:20:25 +01:00
Andrea Odetti
7c4f50c4fa Fix some problems reported by valgrind:
1) HDD is not a POD and so ZeroMemory does not replace a constructor
2) mismatch free / delete []
3) no need to a shared_ptr<BYTES>, new, just use a vector


Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-15 18:19:40 +01:00
Andrea Odetti
bcf57a4e19 Add a few buttons to the toolbar.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 20:42:23 +01:00
Andrea Odetti
8dd454af4d Add support for Double Low & Hi Resolution.
For Double Low Res, I am not sure the colors are correct.


Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
3231f86f87 Avoid using uninitialised data.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
3733da1af7 Remove configuration from libappleii and delegate it to the frontends.
In qapple we use QSettings.


Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
03de883889 Modularise CMakeLists.txt
qapple does not run at the moment: can find configuration file.


Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
00360bbe64 Add support for Mouse.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
348ba1ecd9 Use QGamepad in QApple.
This requires an interface as napple uses libevdev.


Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
6ec2408e44 Add viewer for (Windows) Registry.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
1334d461b4 Fix support to select clones.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
0f8f7da2b8 Add Qt ignore rules.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
8f92e63f45 Fix uninitialised data if the result is NULL.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
4873e1f020 Add and activate options for slot cards and computer type.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
8b458e61fb Handle hard disks and disk eject.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
2258d91208 Reuse the same preferences dialog, so the drop down menus keep the previous choices.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
86cc85bf8f Add options dialog to load floppy and hard disks.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
246e66d9be Address area: do not show 1 more row than necessary.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
5d00a41d66 Remove tear in cursor for !readOnly mode.
1) ensure the cursor rectangle is inside the character it belongs to
2) draw the same character again so it shows when the cursor blink is on


Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
520de12f58 Improve cursor in read only mode.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
17d75813a7 A couple of fixes.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
1c7f124977 Fix duplicate names of widgets.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
3eca669004 Add memory viewer based on a (modified) widget from
https://github.com/Simsys/qhexedit2


Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
416b461291 Finally some results in the optimisation of CPU usage:
1) Do not call Video::paint() with a scale != 1:1
2) For this reason we need to draw elsewhere
3) and finally scale the whole thing just once to the widget
4) QPixmap vs QImage: cant see the difference
5) QOpenGLWidget is 2x faster than QWidget but it has some flickering when resizing

On my i5-4460  CPU @ 3.20GHz with x2 zoom
TEXT: 4-5% CPU usage
HGR: 6-7% CPU usage


Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
138ff8f94d Use MouseInterface rather than dummy implementation.
Must be enabled in data.cpp via g_Slot4 and anyway no mouse events are enabled yet.


Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
b9c4789198 Fix MouseInterface to compile in linux.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
140b5bf7d4 Fix inverse lowercase in 80 column mode.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
1a75e9f0de And share the joystick with QApple.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
10339131fd Decouple Input from ncurses frontend to reuse it in QApple (Fedora does not package QGamepad yet).
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00