Commit graph

51 commits

Author SHA1 Message Date
Andrea Odetti
0778812560 First decent implementation of Audio Output.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-11-09 21:43:35 +00:00
Andrea Odetti
54a1bb4991 This is probably a better way to schedule execution.
One step ahead rather than one step behind.

Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-11-07 21:30:05 +00:00
Andrea Odetti
730e35150a Remove some warnings.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-11-06 22:56:08 +00:00
Andrea Odetti
fe63225065 Simplify fps count and repainting decision.
Just run @ 60 fps and repaint all the times.
Previous algorithm had a startup issue and ended up doing exactly the same.


Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-11-06 22:53:44 +00:00
Andrea Odetti
0a6de645e0 Incorporate chat * -> std::string conversion.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-09-21 09:58:29 +01:00
Andrea Odetti
4d2febfb42 Linux changes for current version of AppleWin.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-08-10 16:16:44 +01:00
Andrea Odetti
69ec0e7db0 Add support for RamWorks.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-04-22 16:02:06 +01:00
Andrea Odetti
90f0a6d6c4 Fix problem about removing a language card.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-04-21 20:58:54 +01:00
Andrea Odetti
224fcbce78 Add (better) support to select card in Slot 0.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-04-20 20:51:19 +01:00
Andrea Odetti
a51118cf35 Fix all disk related function due to Disk class introduction.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-04-20 16:43:52 +01:00
Andrea Odetti
629bbfb757 Add support for the LanguageCard in Slot0 switch.
(not 100% sure how it is supposed to work).


Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-04-19 20:27:17 +01:00
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
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
cdd59a1e12 Fix indentation.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2018-03-03 17:58:39 +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
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
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
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
Andrea Odetti
154923a039 Ensure the video is repainted after the title has changed.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-11-21 16:11:21 +00:00
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
269cb6cfd1 Take screenshot.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-17 21:14:36 +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
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
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
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
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
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
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
18e0d3b6b6 Qt does not seem to fire the timer event very precisely (target 5 ms, got often 16).
So we dynamically adjust the number of CPU cycles based on the actual gap.
Only problem is what to do for enhanced disk speed.
We simply block as long as the disk is spinning.


Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
b1644c01e5 Error message if a disk cannot be inserted.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
c6789ece7b Add benchmark and fix timerID values.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
ba67de8d9a Add Reboot command.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
57934c1bc9 Add menu item to insert disks.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
1033c98028 Add const-nees to parameters.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
1192f7b584 Fix window title, close event, scrollbars, fast timer when disk spins.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
fe0730c4d3 Various improvements.
Rudimentary keyboard input.
Resize/Zoom video.

Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00
Andrea Odetti
c9fb116464 Various improvements over the QLabel based approach.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2017-10-14 19:18:44 +01:00