From 2b3c189b07eb064c6da889bae94f1d2e6b6b49ba Mon Sep 17 00:00:00 2001 From: Andrea Odetti Date: Mon, 30 Nov 2020 09:22:23 +0000 Subject: [PATCH 1/2] Small changes to start - stop. Signed-off-by: Andrea Odetti --- source/frontends/sa2/main.cpp | 27 +++++++++++---------------- source/linux/duplicates/Joystick.cpp | 4 ++++ source/linux/duplicates/WinFrame.cpp | 1 + 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/source/frontends/sa2/main.cpp b/source/frontends/sa2/main.cpp index 7f073817..70269308 100644 --- a/source/frontends/sa2/main.cpp +++ b/source/frontends/sa2/main.cpp @@ -49,16 +49,21 @@ namespace { void initialiseEmulator() { +#ifdef RIFF_SPKR + RiffInitWriteFile("/tmp/Spkr.wav", SPKR_SAMPLE_RATE, 1); +#endif +#ifdef RIFF_MB + RiffInitWriteFile("/tmp/Mockingboard.wav", 44100, 2); +#endif + g_nAppMode = MODE_RUNNING; LogFileOutput("Initialisation\n"); ImageInitialize(); g_bFullSpeed = false; - } - void loadEmulator() - { LoadConfiguration(); + SetCurrentCLK6502(); CheckCpu(); GetAppleWindowTitle(); FrameRefreshStatus(DRAW_LEDS | DRAW_BUTTON_DRIVES, true); @@ -73,10 +78,12 @@ namespace GetCardMgr().GetDisk2CardMgr().Reset(); HD_Reset(); + Snapshot_Startup(); } - void stopEmulator() + void uninitialiseEmulator() { + Snapshot_Shutdown(); CMouseInterface* pMouseCard = GetCardMgr().GetMouseCard(); if (pMouseCard) { @@ -84,10 +91,7 @@ namespace } VideoBufferInitialize(); MemDestroy(); - } - void uninitialiseEmulator() - { SpkrDestroy(); MB_Destroy(); DSUninit(); @@ -219,15 +223,7 @@ void run_sdl(int argc, const char * argv []) g_nMemoryClearType = options.memclear; -#ifdef RIFF_SPKR - RiffInitWriteFile("/tmp/Spkr.wav", SPKR_SAMPLE_RATE, 1); -#endif -#ifdef RIFF_MB - RiffInitWriteFile("/tmp/Mockingboard.wav", 44100, 2); -#endif - initialiseEmulator(); - loadEmulator(); applyOptions(options); @@ -419,7 +415,6 @@ void run_sdl(int argc, const char * argv []) SDirectSound::stop(); } - stopEmulator(); uninitialiseEmulator(); } diff --git a/source/linux/duplicates/Joystick.cpp b/source/linux/duplicates/Joystick.cpp index d5968784..6bfd4e79 100644 --- a/source/linux/duplicates/Joystick.cpp +++ b/source/linux/duplicates/Joystick.cpp @@ -19,6 +19,10 @@ void JoySetJoyType(UINT num, DWORD type) { } +void JoyReset() +{ +} + #define SS_YAML_KEY_COUNTERRESETCYCLE "Counter Reset Cycle" #define SS_YAML_KEY_JOY0TRIMX "Joystick0 TrimX" #define SS_YAML_KEY_JOY0TRIMY "Joystick0 TrimY" diff --git a/source/linux/duplicates/WinFrame.cpp b/source/linux/duplicates/WinFrame.cpp index b9d7fab1..535e99eb 100644 --- a/source/linux/duplicates/WinFrame.cpp +++ b/source/linux/duplicates/WinFrame.cpp @@ -4,6 +4,7 @@ HWND g_hFrameWindow = (HWND)0; BOOL g_bConfirmReboot = 1; +bool g_bFreshReset = false; void FrameSetCursorPosByMousePos() { From dc030fe60717b9b6a235afb1c122103436ad487d Mon Sep 17 00:00:00 2001 From: Andrea Odetti Date: Mon, 30 Nov 2020 09:23:22 +0000 Subject: [PATCH 2/2] Change F2 like AW: reset. Signed-off-by: Andrea Odetti --- source/frontends/sa2/emulator.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/source/frontends/sa2/emulator.cpp b/source/frontends/sa2/emulator.cpp index d24c4a98..ecefdf7b 100644 --- a/source/frontends/sa2/emulator.cpp +++ b/source/frontends/sa2/emulator.cpp @@ -268,7 +268,14 @@ void Emulator::processKeyDown(const SDL_KeyboardEvent & key, bool & quit) } case SDLK_F2: { - quit = true; + if (key.keysym.mod & KMOD_CTRL) + { + CtrlReset(); + } + else + { + ResetMachineState(); + } break; } case SDLK_F1: