Commit graph

74 commits

Author SHA1 Message Date
Andrea Odetti
38908c7d6d Fix memory leak.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-07-05 14:42:56 +01:00
Andrea Odetti
0539fd9a69 Simplify initialisation.
Just reinitialise everything on soft reboot.
Make sure audio is stopped when emulator is reinitialised.
Stop timers while reinitialising.
2020-07-04 19:59:20 +01:00
Andrea Odetti
5dee29fbf9 Make Mockingboard voice actually play.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-07-02 11:02:57 +01:00
Andrea Odetti
259428a946 Add support for a (munte) mockingboard.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-06-30 15:43:06 +01:00
Andrea Odetti
457fc184d9 Save and restore emulator window geometry as well.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-06-16 20:15:58 +01:00
Andrea Odetti
0191652565 First part of merge of new CardManager code.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-12-31 18:19:45 +00:00
Andrea Odetti
2462743edd Save and restore geometry.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-12-12 20:18:58 +00:00
Andrea Odetti
20852fcb2a Add a few command line options to run the tests automatically.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-12-08 20:21:35 +00:00
Andrea Odetti
187739f913 Forgotten destructors...
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-12-06 20:00:16 +00:00
Andrea Odetti
7c90b040ef Reduce some boilerplate with global and aw's options.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-12-01 19:49:11 +00:00
Andrea Odetti
177f345861 Cap time in each slice to avoid pathological cases.
E.g. when debugging.

Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-12-01 18:59:20 +00:00
Andrea Odetti
bad18cafbf Rename configuration.* options.*
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-12-01 18:40:28 +00:00
Andrea Odetti
31340919de Move Qt UI to private member.
This way it is clear which variables comes from the ui component.

Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-11-30 15:48:48 +00:00
Andrea Odetti
19c9193412 Use video mode in window title.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-11-29 20:18:29 +00:00
Andrea Odetti
9ca7485f52 Update VideoBenchmark code to differentiate screen image generation vs blitting.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-11-25 21:08:01 +00:00
Andrea Odetti
151c6c92f9 Add Video settings.
+ F9 to cycle video modes.
2019-11-24 21:06:55 +00:00
Andrea Odetti
256815eff9 Rationalise QApple options.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-11-24 19:30:34 +00:00
Andrea Odetti
7c61888447 Rename options -> preferenceData
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-11-24 17:43:43 +00:00
Andrea Odetti
4792c2eeed Remove custon video processor in favour of AppleWin's.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-11-22 20:32:32 +00:00
Andrea Odetti
d18269fb2d First (succesful) attempt at using NTSC code in Linux.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-11-20 21:23:27 +00:00
Andrea Odetti
4d0af5d3ca Added a custom version of QPainter which seems to perform much better 20%->11% CPU.
It only works if all images involved have the same format.
Using some typedefs, one can revert to the old QPixmap behaviour.

Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-11-16 17:00:35 +00:00
Andrea Odetti
54d418725e Add a few correct card names, so the snapshot loading does not fail.
But, these cards are still ignored.

Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-11-13 21:01:28 +00:00
Andrea Odetti
c4a03e0434 Rename audio -> audiogenerator
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2019-11-10 18:48:02 +00:00
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