Commit graph

422 commits

Author SHA1 Message Date
Andrea Odetti
f13816262d Clean up multithreading code and offer it via command line options.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-11-13 11:51:20 +00:00
Andrea Odetti
ef114f9e64 Make the mutex protect AW rather than SDL.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-11-12 20:48:44 +00:00
Andrea Odetti
6a16d416a4 threads 2 2020-11-12 20:33:04 +00:00
Andrea Odetti
314c647daf more threads 2020-11-12 19:51:45 +00:00
Andrea Odetti
b360d27f22 split 2020-11-12 19:31:35 +00:00
Andrea Odetti
4ff7741a41 Fix previous sdl ppp commit, too messy to revert.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-11-12 18:52:52 +00:00
Andrea Odetti
c7a8c628e4 Changes required from upstream. 2020-11-12 18:43:04 +00:00
Andrea Odetti
0dda605c36 ppp 2020-11-11 11:20:06 +00:00
Andrea Odetti
3ba2cd6d98 SDL2 add audio.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-10-20 15:32:45 +01:00
Andrea Odetti
da37dfe17c QApple fix name of video types.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-10-18 18:43:45 +01:00
Andrea Odetti
7037582907 Allow to turn the circle range of a gamepad to a square (as the Apple ][).
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-10-17 19:19:46 +01:00
Andrea Odetti
d314546b11 Paddle: make raw interface to return values in [-1,1] to ease transformations.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-10-15 16:24:20 +01:00
Andrea Odetti
e8972aa824 Add support for gamepads (hardcoded to be the first).
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-10-15 12:55:27 +01:00
Andrea Odetti
d4fa3f6a2c Remove Ctrl-Q shortcut as it interferes with emulator.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-10-12 21:01:13 +01:00
Andrea Odetti
a72d19b386 Couple of fixes from upstream AW.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-10-12 20:58:32 +01:00
Andrea Odetti
9320db8ab7 Move letters to KeyDown as opposed to text.
It is easier to handle Ctrl.

Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-10-12 20:30:23 +01:00
mariofutire@gmail.com
bc029dee97 sa2: make the keyboard "work" (no CTRL-ASCII codes for the time being).
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-10-11 20:16:07 +01:00
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