From 1953eb0eea10f6ddc780bea743ad74c57983b554 Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Thu, 22 May 2025 20:23:23 +0200 Subject: [PATCH 1/7] outtrigger (US) widescreen cheat. Propeller arena modem string patch --- core/cheats.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/core/cheats.cpp b/core/cheats.cpp index fac9db87c..20230cb93 100644 --- a/core/cheats.cpp +++ b/core/cheats.cpp @@ -169,6 +169,7 @@ const WidescreenCheat CheatManager::widescreen_cheats[] = // { "T-9502D-50", nullptr, { 0xBDE9B0, 0xBDE9C4 }, { 0x3F400000, 0x3FA00000 } }, // Nightmare Creatures II (PAL) { "MK-5110250", nullptr, { 0x87B5A4 }, { 0x43700000 } }, // Outtrigger (PAL) { "HDR-0118", nullptr, { 0x83E284 }, { 0x43700000 } }, // Outtrigger (JP) + { "MK-51102", nullptr, { 0x83E284 }, { 0x43700000 } }, // Outtrigger (US) { "T15103D 50", nullptr, { 0x1EEE78 }, { 0x3F400000 } }, // PenPen (PAL) { "T17001M", nullptr, { 0x1C3828 }, { 0x3F400000 } }, // PenPen TriIcelon (JP) { "MK-5110050", nullptr, { 0x548E04, 0x0923C0 }, { 0x43E80000, 0x3F966666 } }, // Phantasy Star Online (PAL) TODO @@ -561,6 +562,22 @@ void CheatManager::reset(const std::string& gameId) cheats.emplace_back(Cheat::Type::runNextIfEq, "modem txspeed ifeq", true, 32, 0x0016e71c, 0x3434312c, true); // ",144" cheats.emplace_back(Cheat::Type::setValue, "modem txspeed set", true, 32, 0x0016e71c, 0x2020202c, true); // ", " } + else if (gameId == "MK-51162") // Propeller Arena + { + // 0c1f56f0: ,0,28800,28800,28800,28800\\r"\n + // 0c1f5770: ,0,28800,28800,28800,28800\\r"\n + for (u32 addr = 0x001f56f0; addr <= 0x001f5770; addr += 0x80) + { + cheats.emplace_back(Cheat::Type::runNextIfEq, "modem automode1 ifeq", true, 32, addr + 0x00, 0x322c302c, true); // ",0,2" + cheats.emplace_back(Cheat::Type::setValue, "modem automode1 set", true, 32, addr + 0x00, 0x202c312c, true); // ",1, " + cheats.emplace_back(Cheat::Type::runNextIfEq, "modem automode2 ifeq", true, 32, addr + 0x04, 0x30303838, true); // "8800" + cheats.emplace_back(Cheat::Type::setValue, "modem automode2 set", true, 32, addr + 0x04, 0x30202020, true); // " 0" + cheats.emplace_back(Cheat::Type::runNextIfEq, "modem automode3 ifeq", true, 32, addr + 0x0c, 0x322c3030, true); // "00,2" + cheats.emplace_back(Cheat::Type::setValue, "modem automode3 set", true, 32, addr + 0x0c, 0x202c3030, true); // "00, " + cheats.emplace_back(Cheat::Type::runNextIfEq, "modem automode4 ifeq", true, 32, addr + 0x10, 0x30303838, true); // "8800" + cheats.emplace_back(Cheat::Type::setValue, "modem automode4 set", true, 32, addr + 0x10, 0x30202020, true); // " 0" + } + } if (cheats.size() > cheatCount) setActive(true); From ffaada9e9d23a4a8eedc5f312e315fe63cd22275 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 23 May 2025 22:21:23 +0000 Subject: [PATCH 2/7] Fetch translations & Recreate libretro_core_options_intl.h --- shell/libretro/libretro_core_options_intl.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/shell/libretro/libretro_core_options_intl.h b/shell/libretro/libretro_core_options_intl.h index 1bbfdcbe1..3998c66d6 100644 --- a/shell/libretro/libretro_core_options_intl.h +++ b/shell/libretro/libretro_core_options_intl.h @@ -46762,11 +46762,11 @@ struct retro_core_options_v2 options_id = { #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_IT "Imposta giochi NAOMI a Free Play" #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_IT "Modificare le impostazioni del gioco per free play." #define CORE_OPTION_NAME_EMULATE_BBA_LABEL_IT "Emulazione Adattatore A banda larga" -#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_IT NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_IT "Emulare l'adattatore a banda larga Ethernet invece del modem. (Riavvio Richiesto)" #define CORE_OPTION_NAME_UPNP_LABEL_IT "Abilita UPnP" #define CORE_OPTION_NAME_UPNP_INFO_0_IT "Usa UPnP per configurare automaticamente il router Internet per i giochi online." -#define CORE_OPTION_NAME_DCNET_LABEL_IT NULL -#define CORE_OPTION_NAME_DCNET_INFO_0_IT NULL +#define CORE_OPTION_NAME_DCNET_LABEL_IT "Usa DCNet" +#define CORE_OPTION_NAME_DCNET_INFO_0_IT "Utilizzare il servizio cloud DCNet per l'accesso a Internet Dreamcast." #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_IT "Risoluzione Interna" #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_IT "Modificare la risoluzione di rendering." #define OPTION_VAL_320X240_IT "320x240 (Metà)" @@ -77197,11 +77197,11 @@ struct retro_core_options_v2 options_tt = { #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_UK "Встановити NAOMI ігри для безкоштовної гри" #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_UK "Змінювати параметри гри за допомогою монет \"Вільна гра\"." #define CORE_OPTION_NAME_EMULATE_BBA_LABEL_UK "Широкосмугова емуляція адаптера" -#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_UK NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_UK "Емуляція Ethernet широкосмугового адаптера замість модема. (Перезавантажити необхідно)" #define CORE_OPTION_NAME_UPNP_LABEL_UK "Активувати UPnP" #define CORE_OPTION_NAME_UPNP_INFO_0_UK "Використовуйте UPnP для автоматичного налаштування інтернет-маршрутизатора для онлайн-ігор." -#define CORE_OPTION_NAME_DCNET_LABEL_UK NULL -#define CORE_OPTION_NAME_DCNET_INFO_0_UK NULL +#define CORE_OPTION_NAME_DCNET_LABEL_UK "Використовувати DCNet" +#define CORE_OPTION_NAME_DCNET_INFO_0_UK "Використовувати сервіс у хмарі DCNet для доступу в Інтернет Dreamcast." #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_UK "Роздільна здатність" #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_UK "Змінити роздільну здатність візуалізації." #define OPTION_VAL_320X240_UK "320х240 (Half)" From a1a782df380ccf561fc854c204e6ca69049e9464 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 30 May 2025 22:21:39 +0000 Subject: [PATCH 3/7] Fetch translations & Recreate libretro_core_options_intl.h --- shell/libretro/libretro_core_options_intl.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/shell/libretro/libretro_core_options_intl.h b/shell/libretro/libretro_core_options_intl.h index 3998c66d6..8ddf62155 100644 --- a/shell/libretro/libretro_core_options_intl.h +++ b/shell/libretro/libretro_core_options_intl.h @@ -8211,7 +8211,7 @@ struct retro_core_options_v2 options_bg = { #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_CA "Estableix els jocs de NAOMI com a gratuïts" #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_CA "Modifica la configuració de monedes del joc a partides gratuïtes." #define CORE_OPTION_NAME_EMULATE_BBA_LABEL_CA "Emulació de l'adaptador Broadband" -#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_CA "Emula l'adaptador de banda ampla per cable Ethernet en compte del mòdem (Es requereix reinici)" +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_CA "Emula l'adaptador de banda ampla per cable Ethernet en compte del mòdem (es requereix reinici)" #define CORE_OPTION_NAME_UPNP_LABEL_CA "Habilitat UPnP" #define CORE_OPTION_NAME_UPNP_INFO_0_CA "Fes servir UPnP per configurar automàticament el router per jocs en línia." #define CORE_OPTION_NAME_DCNET_LABEL_CA "Fes servir DCNet" @@ -71083,7 +71083,7 @@ struct retro_core_options_v2 options_sr = { #define CATEGORY_INPUT_LABEL_SV "Inmatning" #define CATEGORY_INPUT_INFO_0_SV "Konfigurera inställningar för spelkontrollern och ljuspistolen." #define CATEGORY_EXPANSIONS_LABEL_SV NULL -#define CATEGORY_EXPANSIONS_INFO_0_SV NULL +#define CATEGORY_EXPANSIONS_INFO_0_SV "Välj enheten (VMU, rumble-enhet) ansluten i varje kontrollers expansionsplats." #define CATEGORY_VMU_LABEL_SV "Visuell minnesenhet" #define CATEGORY_VMU_INFO_0_SV "Konfigurera per-spel VMU-sparfiler och inställningar för synlighet av VMU på skärmen." #define CORE_OPTION_NAME_REGION_LABEL_SV NULL @@ -71110,11 +71110,11 @@ struct retro_core_options_v2 options_sr = { #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_SV "Ställ in NAOMI-spel till Free Play" #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_SV "Ändra spelets myntinställningar till free play." #define CORE_OPTION_NAME_EMULATE_BBA_LABEL_SV "Emulering av bredbandsadapter" -#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_SV NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_SV "Emulera Ethernet-bredbandsadaptern istället för modemet. (Omstart krävs)" #define CORE_OPTION_NAME_UPNP_LABEL_SV "Aktivera UPnP" #define CORE_OPTION_NAME_UPNP_INFO_0_SV "Använd UPnP för att automatiskt konfigurera din internetrouter för onlinespel." -#define CORE_OPTION_NAME_DCNET_LABEL_SV NULL -#define CORE_OPTION_NAME_DCNET_INFO_0_SV NULL +#define CORE_OPTION_NAME_DCNET_LABEL_SV "Använd DCNet" +#define CORE_OPTION_NAME_DCNET_INFO_0_SV "Använd DCNet-molntjänsten för Dreamcasts internetåtkomst." #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_SV "Intern upplösning" #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_SV "Ändra renderingsupplösning." #define OPTION_VAL_320X240_SV "320x240 (Halv)" From 39d68ec7fab0329c11067ff2bdde0bb08926bdbb Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Sun, 1 Jun 2025 10:52:29 +0200 Subject: [PATCH 4/7] sdl: don't reset haptic gain to 0 on exit Issue #1963 --- core/sdl/sdl_gamepad.h | 1 - 1 file changed, 1 deletion(-) diff --git a/core/sdl/sdl_gamepad.h b/core/sdl/sdl_gamepad.h index d9820e5e4..db0ee13d2 100644 --- a/core/sdl/sdl_gamepad.h +++ b/core/sdl/sdl_gamepad.h @@ -463,7 +463,6 @@ public: if (haptic != nullptr) { stopHaptic(); - SDL_HapticSetGain(haptic, 0); if (sineEffectId != -1) { SDL_HapticDestroyEffect(haptic, sineEffectId); sineEffectId = -1; From d9ec0cb3ab0ce383f24f86d023e1889b7f37c5c7 Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Sun, 1 Jun 2025 10:57:59 +0200 Subject: [PATCH 5/7] map dinoking P2 rock button to P1 button 4. Show on vgamepad Remap player 2 Rock button to player 1 button 4 and display on vgamepad so it's accessible on mobile devices. Issue #1969 --- core/hw/naomi/naomi_roms_input.h | 1 + core/ui/vgamepad.cpp | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/core/hw/naomi/naomi_roms_input.h b/core/hw/naomi/naomi_roms_input.h index 7151bfb4d..928089bb8 100644 --- a/core/hw/naomi/naomi_roms_input.h +++ b/core/hw/naomi/naomi_roms_input.h @@ -896,6 +896,7 @@ static InputDescriptors dinok_inputs = { { DC_BTN_A, "ROCK" }, { DC_BTN_B, "SCISSORS" }, { DC_BTN_C, "PAPER" }, + { DC_BTN_X, "ROCK P2", 0, DC_BTN_A }, NAO_BASE_BTN_DESC }, }; diff --git a/core/ui/vgamepad.cpp b/core/ui/vgamepad.cpp index adf0f5ea4..d2cc0bf5c 100644 --- a/core/ui/vgamepad.cpp +++ b/core/ui/vgamepad.cpp @@ -759,7 +759,6 @@ void startGame() } else if (settings.platform.isSystemSP()) { - disableControl(Y); disableControl(Btn4); disableControl(Btn5); } @@ -835,6 +834,8 @@ void startGame() disableControl(B); if ((usedButtons & DC_BTN_C) == 0) disableControl(X); + if ((usedButtons & DC_BTN_X) == 0) + disableControl(Y); if ((usedButtons & DC_DPAD_UP) == 0) disableControl(Up); if ((usedButtons & DC_DPAD_DOWN) == 0) From b097aa3331274b10e97719901d8cf88b2abe6cc2 Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Fri, 6 Jun 2025 09:08:14 +0200 Subject: [PATCH 6/7] dropping iOS support well done Gabe! --- .github/workflows/c-cpp.yml | 1 - README.md | 4 ++++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index de5d4db26..090f07dd1 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -19,7 +19,6 @@ jobs: config: - {name: i686-pc-windows-msvc, os: windows-latest, shell: cmd, arch: x86, cmakeArgs: -G Ninja, buildType: Release} - {name: apple-darwin, os: macos-latest, shell: sh, cmakeArgs: -G Xcode -DUSE_DISCORD=ON, destDir: osx, buildType: RelWithDebInfo} - - {name: apple-ios, os: macos-latest, shell: sh, cmakeArgs: -DCMAKE_SYSTEM_NAME=iOS -G Xcode, destDir: ios, buildType: Release} - {name: x86_64-pc-linux-gnu, os: ubuntu-22.04, shell: sh, cmakeArgs: -G Ninja -DUSE_DISCORD=ON -DUSE_LIBCDIO=ON, destDir: linux, buildType: RelWithDebInfo} - {name: x86_64-pc-windows-msvc, os: windows-latest, shell: cmd, arch: x64, cmakeArgs: -G Ninja -DUSE_DISCORD=ON, buildType: Release} - {name: x86_64-w64-mingw32, os: windows-latest, shell: 'msys2 {0}', cmakeArgs: -G Ninja -DUSE_DISCORD=ON -DUSE_LIBCDIO=ON, destDir: win, buildType: RelWithDebInfo} diff --git a/README.md b/README.md index 2462896cb..18f65ab4a 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,10 @@ Install Flycast from [**Google Play**](https://play.google.com/store/apps/detail `brew install --cask flycast` +### iOS + +Due to persistent harassment from an iOS user, support for this platform has been dropped. + ### Xbox One/Series ![xbox logo](https://flyinghead.github.io/flycast-builds/xbox.png) Grab the latest build from [**the builds page**](https://flyinghead.github.io/flycast-builds/), or the [**GitHub Actions**](https://github.com/flyinghead/flycast/actions/workflows/uwp.yml). Then install it using the **Xbox Device Portal**. From 8f033723a1b3437c8e3c8b42a92331eebe53ed0b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 6 Jun 2025 22:21:35 +0000 Subject: [PATCH 7/7] Fetch translations & Recreate libretro_core_options_intl.h --- shell/libretro/libretro_core_options_intl.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/shell/libretro/libretro_core_options_intl.h b/shell/libretro/libretro_core_options_intl.h index 8ddf62155..18d0e3368 100644 --- a/shell/libretro/libretro_core_options_intl.h +++ b/shell/libretro/libretro_core_options_intl.h @@ -36617,11 +36617,11 @@ struct retro_core_options_v2 options_fr = { #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_GL "Configura NAOMI Games Para Xogar de Balde" #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_GL "Modifica a configuración de moedas do xogo para xogar libremente." #define CORE_OPTION_NAME_EMULATE_BBA_LABEL_GL "Emulación de adaptador de banda ancha" -#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_GL NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_GL "Emular o adaptador Ethernet de banda ancha en lugar do módem. (Requírese reinicio)" #define CORE_OPTION_NAME_UPNP_LABEL_GL "Activar UPnP" #define CORE_OPTION_NAME_UPNP_INFO_0_GL "Use UPnP para configurar automaticamente o seu enrutador de Internet para xogos en liña." -#define CORE_OPTION_NAME_DCNET_LABEL_GL NULL -#define CORE_OPTION_NAME_DCNET_INFO_0_GL NULL +#define CORE_OPTION_NAME_DCNET_LABEL_GL "Usar DCNet" +#define CORE_OPTION_NAME_DCNET_INFO_0_GL "Usar o servizo na nube DCNet para acceso a Internet de Dreamcast." #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_GL "Resolución interna" #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_GL "Modificar a resolución do renderizado." #define OPTION_VAL_320X240_GL "320 x 240 (a metade)"