Commit graph

355 commits

Author SHA1 Message Date
mariofutire@gmail.com
1400828452 Use keycode as opposed to scancode.
We honour a layout change decided by the user.

Signed-off-by: mariofutire@gmail.com <pi@raspberrypi>
2020-10-11 20:14:02 +01:00
mariofutire@gmail.com
aac2c5139a Split event handling and "video" state to separate class.
Signed-off-by: mariofutire@gmail.com <pi@raspberrypi>
2020-10-11 20:14:02 +01:00
mariofutire@gmail.com
ddea5b139e Add #pragma once.
Signed-off-by: mariofutire@gmail.com <pi@raspberrypi>
2020-10-11 20:14:02 +01:00
mariofutire@gmail.com
080198f88c Rename ClosedApple -> SolidApple.
Signed-off-by: mariofutire@gmail.com <pi@raspberrypi>
2020-10-11 20:14:01 +01:00
mariofutire@gmail.com
4ba10089c3 sa2: add button emulation
LALT = Open Apple
RALT = Closed Apple

Signed-off-by: mariofutire@gmail.com <pi@raspberrypi>
2020-10-11 20:14:01 +01:00
mariofutire@gmail.com
3e355288cb sa2: F2 = quit (line applen).
throw an exception rather than a string.

Signed-off-by: mariofutire@gmail.com <pi@raspberrypi>
2020-10-11 20:14:01 +01:00
mariofutire@gmail.com
e279fc7a5d Reindent properly.
Signed-off-by: mariofutire@gmail.com <pi@raspberrypi>
2020-10-11 20:14:01 +01:00
mariofutire@gmail.com
dab1735a69 Logging / Config replated changes.
sa2 / applen add flag to load qt init file (--qt-ini) (read only for now)
unify logging (--log)

Signed-off-by: mariofutire@gmail.com <pi@raspberrypi>
2020-10-11 20:14:01 +01:00
mariofutire@gmail.com
bc74b5fbfb Implement save-on-exit configuration flag.
Signed-off-by: mariofutire@gmail.com <pi@raspberrypi>
2020-10-11 20:13:50 +01:00
Andrea Odetti
65effc121d Add Quit on the Qt app.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-10-09 19:37:04 +01:00
Andrea Odetti
bb8269052a SDL2: add F6 (full screen) and F5 (swap disks).
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-10-09 19:31:20 +01:00
Andrea Odetti
24621373dd Better way to share data between ncurses and sdl2.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-10-09 19:13:42 +01:00
Andrea Odetti
01c059873f Let SDL2 do the refresh sync.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-10-09 11:50:59 +01:00
Andrea Odetti
274ef6a796 Fix sa2 to work with recent code.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-10-09 10:31:18 +01:00
Andrea Odetti
8b081725ce More SDL WIP. 2020-10-09 09:46:15 +01:00
Andrea Odetti
ae0194d5b1 Merge branch 'master' into sdl4
# Conflicts:
#	source/CMakeLists.txt
#	source/frontends/ncurses/main.cpp
#	source/frontends/ncurses/resources.cpp
2020-10-09 09:17:55 +01:00
Andrea Odetti
039bfc04c3 Fix a couple of issues with RGB modes. 2020-10-07 20:45:31 +01:00
Andrea Odetti
13edefa6e0 Add support for older cmake versions.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-10-06 20:58:43 +01:00
mariofutire@gmail.com
806a369624 WIP SDL2 2020-10-06 20:05:48 +01:00
Andrea Odetti
60beb9aa58 Add installation and packaging in cmake.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-07-12 15:53:53 +01:00
Andrea Odetti
2ebcb856a3 dirname cant return null.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-07-12 10:29:45 +01:00
Andrea Odetti
ce0db1f74f Use a dynamic relative path to locate resources.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-07-12 10:26:17 +01:00
Andrea Odetti
a310d50da4 applen: partially better way to locate resources if application is launched from different folder.
When loading snapshot, chdir so relative paths can be found.
Ensure endwin() is called.
Use an "int" to exit the process rather than a exit().

Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-07-12 10:24:27 +01:00
Andrea Odetti
9515e7de2d Set window icon.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-07-11 18:46:09 +01:00
Andrea Odetti
9afb9c631f Save absolute path of the snapshot filename.
Otherwise if one starts qapple with --load-state with a relative path it does not work
(as we have cd'ed to allow loading disks).

Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-07-11 18:41:09 +01:00
Andrea Odetti
9c442468f5 Compile AW's Speaker.cpp and remove custom implementation.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-07-08 16:52:00 +01:00
Andrea Odetti
22125c9566 Add support for Base64A.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-07-07 20:13:43 +01:00
Andrea Odetti
40d3e822e9 Make resource interface based on "char *" as it is easier to detect a nullptr.
Can't change the return type to std::string.

Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-07-07 20:13:26 +01:00
Andrea Odetti
ac6bc48f60 Fix wrong list of preferences in Slot5.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-07-06 20:30:37 +01:00
Andrea Odetti
ad1b6774ae Fix Mockingboard in applen.
(not playing, but not crashing)

Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-07-05 19:10:24 +01:00
Andrea Odetti
a29e781de0 Reduce calls to chdir() and only do it before loading a snapshot as it helps with relative disk locations.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-07-05 18:07:13 +01:00
Andrea Odetti
36e774ab6e Merge branch 'master' into mockingboard 2020-07-05 14:43:42 +01:00
Andrea Odetti
38908c7d6d Fix memory leak.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-07-05 14:42:56 +01:00
Andrea Odetti
74cab50cee Remove dependency on std::filesystem and fix a compilation error. 2020-07-05 13:20:03 +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
3cfea2da07 Add some safety around IDirectSoundBuffer::Release().
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-07-04 19:57:15 +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
5536050b71 Use c++ sleep_for rather than usleep.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-06-30 14:02:39 +01:00
Andrea Odetti
b01bfe8b49 Rework a bit the way keys are processed.
Add Ctrl-'-' = 0x1f.

Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-06-19 18:23:29 +01:00
Andrea Odetti
8502d4b0d9 Use AltGr and Menu to avoid overloading Ctrl keys.
Unfortunately Alt does not work: not all key events are triggered.

Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-06-18 20:13:29 +01:00
Andrea Odetti
7acac5cd22 Add support for Tab.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-06-18 13:56:24 +01:00
Andrea Odetti
a7e75078bb Add support for Open/Closed Apple with Left/Right Ctrl.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-06-18 13:56:14 +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
42a3294791 Treat Backspace as Left (same as AW).
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-06-15 10:53:42 +01:00
Andrea Odetti
059820847a Support Ctrl characters.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-06-15 10:13:16 +01:00
Andrea Odetti
fc88f17dc5 Add support for JPlus.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-04-13 16:46:41 +01:00
Andrea Odetti
93990b0055 Small changes to compile with latest version.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-02-22 19:00:42 +00:00
Andrea Odetti
582b29a545 Add 50% scalines keys.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-02-08 10:21:14 +00:00
Andrea Odetti
9c21b12176 Add F9 and Ctrl-F6.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-02-08 10:21:14 +00:00