[Scummvm-git-logs] scummvm master -> 6c17d5907bd785470f11c9331030d1af787a116a
mikrosk
noreply at scummvm.org
Fri Oct 23 05:19:18 UTC 2026
This automated email contains information about 5 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
7d2cbae082 BACKENDS: ATARI: Store default settings in the application domain
ccc4589ef1 BACKENDS: SDL: Add Atari platform
3b4050f1b2 BACKENDS: ATARI: Recognise file names shortened to 8+3
73f9f6eda8 BACKENDS: ATARI: Default SDL to 2048 samples audio buffer
6c17d5907b BACKENDS: ATARI: Add -mtune=68060
Commit: 7d2cbae082f779ed0135d11359505c03835df56e
https://github.com/scummvm/scummvm/commit/7d2cbae082f779ed0135d11359505c03835df56e
Author: Miro Kropacek (miro.kropacek at gmail.com)
Date: 2026-10-23T15:17:14+10:00
Commit Message:
BACKENDS: ATARI: Store default settings in the application domain
When a game was started directly from the command line, the defaults
set by the backend were written into that game's section of
scummvm.ini instead of [scummvm] and then overrode any later global
change for that game.
The audio settings had the same problem, fixed in 87591749e38.
Changed paths:
backends/graphics/atari/atari-graphics.cpp
backends/platform/atari/osystem_atari.cpp
diff --git a/backends/graphics/atari/atari-graphics.cpp b/backends/graphics/atari/atari-graphics.cpp
index 15f67592087..ffaae2df019 100644
--- a/backends/graphics/atari/atari-graphics.cpp
+++ b/backends/graphics/atari/atari-graphics.cpp
@@ -219,17 +219,17 @@ AtariGraphicsManager::AtariGraphicsManager()
// make the standard GUI renderer default (!DISABLE_FANCY_THEMES implies anti-aliased rendering in ThemeEngine.cpp)
// (and without DISABLE_FANCY_THEMES we can't use 640x480 themes)
const char *standardThemeEngineName = GUI::ThemeEngine::findModeConfigName(GUI::ThemeEngine::kGfxStandard);
- if (!ConfMan.hasKey("gui_renderer"))
- ConfMan.set("gui_renderer", standardThemeEngineName);
+ if (!ConfMan.hasKey("gui_renderer", Common::ConfigManager::kApplicationDomain))
+ ConfMan.set("gui_renderer", standardThemeEngineName, Common::ConfigManager::kApplicationDomain);
// make the built-in theme default to avoid long loading times
- if (!ConfMan.hasKey("gui_theme"))
- ConfMan.set("gui_theme", "builtin");
+ if (!ConfMan.hasKey("gui_theme", Common::ConfigManager::kApplicationDomain))
+ ConfMan.set("gui_theme", "builtin", Common::ConfigManager::kApplicationDomain);
#ifndef DISABLE_FANCY_THEMES
// make "themes" the default theme path
- if (!ConfMan.hasKey("themepath"))
- ConfMan.setPath("themepath", "themes");
+ if (!ConfMan.hasKey("themepath", Common::ConfigManager::kApplicationDomain))
+ ConfMan.setPath("themepath", "themes", Common::ConfigManager::kApplicationDomain);
#endif
ConfMan.flushToDisk();
diff --git a/backends/platform/atari/osystem_atari.cpp b/backends/platform/atari/osystem_atari.cpp
index c4722997691..061fdaea748 100644
--- a/backends/platform/atari/osystem_atari.cpp
+++ b/backends/platform/atari/osystem_atari.cpp
@@ -342,25 +342,25 @@ void OSystem_Atari::initBackend() {
#ifdef DISABLE_FANCY_THEMES
// On the lite build force "None" as the opl driver, i.e. do not attempt
// to emulate anything by default.
- if (!ConfMan.hasKey("opl_driver")) {
- ConfMan.set("opl_driver", "null");
+ if (!ConfMan.hasKey("opl_driver", Common::ConfigManager::kApplicationDomain)) {
+ ConfMan.set("opl_driver", "null", Common::ConfigManager::kApplicationDomain);
}
// On the lite build force "STMIDI" as the audio driver, i.e. do not attempt
// to emulate anything by default.
- if (!ConfMan.hasKey("music_driver")) {
- ConfMan.set("music_driver", "stmidi");
+ if (!ConfMan.hasKey("music_driver", Common::ConfigManager::kApplicationDomain)) {
+ ConfMan.set("music_driver", "stmidi", Common::ConfigManager::kApplicationDomain);
}
- if (!ConfMan.hasKey("gm_device")) {
- ConfMan.set("gm_device", "auto");
+ if (!ConfMan.hasKey("gm_device", Common::ConfigManager::kApplicationDomain)) {
+ ConfMan.set("gm_device", "auto", Common::ConfigManager::kApplicationDomain);
}
- if (!ConfMan.hasKey("mt32_device")) {
- ConfMan.set("mt32_device", "auto");
+ if (!ConfMan.hasKey("mt32_device", Common::ConfigManager::kApplicationDomain)) {
+ ConfMan.set("mt32_device", "auto", Common::ConfigManager::kApplicationDomain);
}
#endif
// This produces hard pause even in most optimised engines
// and even on CT60...
- if (!ConfMan.hasKey("autosave_period")) {
- ConfMan.setInt("autosave_period", 0);
+ if (!ConfMan.hasKey("autosave_period", Common::ConfigManager::kApplicationDomain)) {
+ ConfMan.setInt("autosave_period", 0, Common::ConfigManager::kApplicationDomain);
}
_mixerManager = new AtariMixerManager();
Commit: ccc4589ef1af11fcd8878ac7c044da83d98a5a5a
https://github.com/scummvm/scummvm/commit/ccc4589ef1af11fcd8878ac7c044da83d98a5a5a
Author: Miro Kropacek (miro.kropacek at gmail.com)
Date: 2026-10-23T15:17:14+10:00
Commit Message:
BACKENDS: SDL: Add Atari platform
Give the Atari and FireBee SDL builds their own OSystem, as other SDL
ports have. It uses the Atari file system (GEMDOS drives, the same
paths in scummvm.ini as the native builds), the data and themes
folders like the native builds and the plugin provider for the CPU.
The FireBee package gets the same folder layout.
This replaces the plugin provider #ifdefs in posix-main.cpp and the
USE_ATARI_PLUGIN_PROVIDER / USE_FIREBEE_PLUGIN_PROVIDER configure
flags from commit 3a6a355c20c.
Changed paths:
A backends/platform/sdl/atari/atari-main.cpp
A backends/platform/sdl/atari/atari.cpp
A backends/platform/sdl/atari/atari.h
backends/module.mk
backends/platform/atari/atari.mk
backends/platform/sdl/module.mk
backends/platform/sdl/posix/posix-main.cpp
configure
diff --git a/backends/module.mk b/backends/module.mk
index 02a21d2f855..b2d32984f6e 100644
--- a/backends/module.mk
+++ b/backends/module.mk
@@ -239,11 +239,7 @@ endif
ifndef RISCOS
ifndef KOLIBRIOS
-ifdef USE_ATARI_PLUGIN_PROVIDER
-MODULE_OBJS += plugins/atari/atari-provider.o
-else ifdef USE_FIREBEE_PLUGIN_PROVIDER
-MODULE_OBJS += plugins/firebee/firebee-provider.o
-else
+ifndef SDL_ATARI
MODULE_OBJS += plugins/sdl/sdl-provider.o
endif
endif
@@ -266,6 +262,14 @@ MODULE_OBJS += \
endif
endif
+ifdef SDL_ATARI
+MODULE_OBJS += \
+ fs/atari/atari-fs.o \
+ fs/atari/atari-fs-factory.o \
+ plugins/atari/atari-provider.o \
+ plugins/firebee/firebee-provider.o
+endif
+
ifdef KOLIBRIOS
MODULE_OBJS += \
fs/kolibrios/kolibrios-fs.o \
diff --git a/backends/platform/atari/atari.mk b/backends/platform/atari/atari.mk
index c246ad82463..8b37ace08cd 100644
--- a/backends/platform/atari/atari.mk
+++ b/backends/platform/atari/atari.mk
@@ -13,9 +13,9 @@ FULL_DOCS := ${FULL_DIR}/doc
FULL_THEMES := ${FULL_DIR}/themes
FB_DIR := scummvm-${VERSION}-atari-m5475
-FB_DATA := ${FB_DIR}
+FB_DATA := ${FB_DIR}/data
FB_DOCS := ${FB_DIR}/doc
-FB_THEMES := ${FB_DIR}
+FB_THEMES := ${FB_DIR}/themes
atarilitedist: $(EXECUTABLE) plugins
$(RM_REC) ${LITE_DIR}
diff --git a/backends/platform/sdl/atari/atari-main.cpp b/backends/platform/sdl/atari/atari-main.cpp
new file mode 100644
index 00000000000..6d2a0138606
--- /dev/null
+++ b/backends/platform/sdl/atari/atari-main.cpp
@@ -0,0 +1,56 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include "common/scummsys.h"
+
+#include "backends/platform/sdl/atari/atari.h"
+#ifdef __mcoldfire__
+#include "backends/plugins/firebee/firebee-provider.h"
+#else
+#include "backends/plugins/atari/atari-provider.h"
+#endif
+#include "base/main.h"
+
+int main(int argc, char *argv[]) {
+
+ // Create our OSystem instance
+ g_system = new OSystem_SDL_Atari();
+ assert(g_system);
+
+ // Pre initialize the backend
+ g_system->init();
+
+#ifdef DYNAMIC_MODULES
+#ifdef __mcoldfire__
+ PluginManager::instance().addPluginProvider(new FireBeePluginProvider());
+#else
+ PluginManager::instance().addPluginProvider(new AtariPluginProvider());
+#endif
+#endif
+
+ // Invoke the actual ScummVM main entry point:
+ int res = scummvm_main(argc, argv);
+
+ // Free OSystem
+ g_system->destroy();
+
+ return res;
+}
diff --git a/backends/platform/sdl/atari/atari.cpp b/backends/platform/sdl/atari/atari.cpp
new file mode 100644
index 00000000000..28f75928b15
--- /dev/null
+++ b/backends/platform/sdl/atari/atari.cpp
@@ -0,0 +1,53 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include "common/scummsys.h"
+#include "common/config-manager.h"
+
+#include "backends/platform/sdl/atari/atari.h"
+#include "backends/fs/atari/atari-fs-factory.h"
+
+void OSystem_SDL_Atari::init() {
+ _fsFactory = new AtariFilesystemFactory();
+
+ // OSystem_POSIX::init() would create its own file system factory
+ OSystem_SDL::init();
+}
+
+void OSystem_SDL_Atari::initBackend() {
+ if (!ConfMan.hasKey("themepath", Common::ConfigManager::kApplicationDomain))
+ ConfMan.setPath("themepath", "themes", Common::ConfigManager::kApplicationDomain);
+
+ OSystem_POSIX::initBackend();
+}
+
+void OSystem_SDL_Atari::addSysArchivesToSearchSet(Common::SearchSet &s, int priority) {
+ AbstractFSNode *currentDirectory = getFilesystemFactory()->makeCurrentDirectoryFileNode();
+ if (currentDirectory) {
+ const Common::FSNode dataNode = Common::FSNode(Common::Path(currentDirectory->getPath())).getChild("data");
+ if (dataNode.exists() && dataNode.isDirectory() && dataNode.isReadable())
+ s.addDirectory(dataNode.getPath(), priority);
+
+ delete currentDirectory;
+ }
+
+ OSystem_POSIX::addSysArchivesToSearchSet(s, priority);
+}
diff --git a/backends/platform/sdl/atari/atari.h b/backends/platform/sdl/atari/atari.h
new file mode 100644
index 00000000000..34154cc7e85
--- /dev/null
+++ b/backends/platform/sdl/atari/atari.h
@@ -0,0 +1,34 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#ifndef PLATFORM_SDL_ATARI_H
+#define PLATFORM_SDL_ATARI_H
+
+#include "backends/platform/sdl/posix/posix.h"
+
+class OSystem_SDL_Atari : public OSystem_POSIX {
+public:
+ void init() override;
+ void initBackend() override;
+ void addSysArchivesToSearchSet(Common::SearchSet &s, int priority = 0) override;
+};
+
+#endif
diff --git a/backends/platform/sdl/module.mk b/backends/platform/sdl/module.mk
index 4169cfc9a53..6b15f303c49 100644
--- a/backends/platform/sdl/module.mk
+++ b/backends/platform/sdl/module.mk
@@ -54,6 +54,12 @@ MODULE_OBJS += \
miyoo/miyoo.o
endif
+ifdef SDL_ATARI
+MODULE_OBJS += \
+ atari/atari-main.o \
+ atari/atari.o
+endif
+
ifdef MORPHOS
MODULE_OBJS += \
morphos/morphos-main.o \
diff --git a/backends/platform/sdl/posix/posix-main.cpp b/backends/platform/sdl/posix/posix-main.cpp
index acdadd765ed..8eb5c6f10d2 100644
--- a/backends/platform/sdl/posix/posix-main.cpp
+++ b/backends/platform/sdl/posix/posix-main.cpp
@@ -21,16 +21,10 @@
#include "common/scummsys.h"
-#if defined(POSIX) && !defined(MACOSX) && !defined(SAMSUNGTV) && !defined(MAEMO) && !defined(OPENDINGUX) && !defined(OPENPANDORA) && !defined(PLAYSTATION3) && !defined(PSP2) && !defined(NINTENDO_SWITCH) && !defined(__EMSCRIPTEN__) && !defined(MIYOO) && !defined(MIYOOMINI) && !defined(SAILFISH)
+#if defined(POSIX) && !defined(MACOSX) && !defined(SAMSUNGTV) && !defined(MAEMO) && !defined(OPENDINGUX) && !defined(OPENPANDORA) && !defined(PLAYSTATION3) && !defined(PSP2) && !defined(NINTENDO_SWITCH) && !defined(__EMSCRIPTEN__) && !defined(MIYOO) && !defined(MIYOOMINI) && !defined(SAILFISH) && !defined(__MINT__)
#include "backends/platform/sdl/posix/posix.h"
-#ifdef USE_ATARI_PLUGIN_PROVIDER
-#include "backends/plugins/atari/atari-provider.h"
-#elif defined(USE_FIREBEE_PLUGIN_PROVIDER)
-#include "backends/plugins/firebee/firebee-provider.h"
-#else
#include "backends/plugins/sdl/sdl-provider.h"
-#endif
#include "base/main.h"
int main(int argc, char *argv[]) {
@@ -43,13 +37,7 @@ int main(int argc, char *argv[]) {
g_system->init();
#ifdef DYNAMIC_MODULES
-#if defined(USE_ATARI_PLUGIN_PROVIDER)
- PluginManager::instance().addPluginProvider(new AtariPluginProvider());
-#elif defined(USE_FIREBEE_PLUGIN_PROVIDER)
- PluginManager::instance().addPluginProvider(new FireBeePluginProvider());
-#else
PluginManager::instance().addPluginProvider(new SDLPluginProvider());
-#endif
#endif
// Invoke the actual ScummVM main entry point:
diff --git a/configure b/configure
index 1eea0444a49..db32b73a94f 100755
--- a/configure
+++ b/configure
@@ -3968,13 +3968,7 @@ if test -n "$_host"; then
_detection_features_full=no
if test "$_backend" = sdl; then
- if cc_check_define __mcoldfire__; then
- _firebee_plugin_provider=yes
- else
- _atari_plugin_provider=yes
- fi
- define_in_config_if_yes "$_atari_plugin_provider" 'USE_ATARI_PLUGIN_PROVIDER'
- define_in_config_if_yes "$_firebee_plugin_provider" 'USE_FIREBEE_PLUGIN_PROVIDER'
+ add_line_to_config_mk 'SDL_ATARI = 1'
fi
_port_mk="backends/platform/atari/atari.mk"
Commit: 3b4050f1b23136565125a4c8bc19a22e7f02c988
https://github.com/scummvm/scummvm/commit/3b4050f1b23136565125a4c8bc19a22e7f02c988
Author: Miro Kropacek (miro.kropacek at gmail.com)
Date: 2026-10-23T15:17:15+10:00
Commit Message:
BACKENDS: ATARI: Recognise file names shortened to 8+3
On a TOS file system long names are shortened to 8+3, e.g.
parallaction.plg becomes parallac.plg. Such a plugin was found only
after loading all other plugins on the first start of its engine,
macventure.dat was not found at all and the themes got different names,
so scummremastered fell back to the built-in theme.
Unify how the long file names are handled, therefore commit
83ebddc748e's detection.plg workaround is not needed anymore.
Changed paths:
A backends/plugins/atari/atari-plugin.h
backends/fs/atari/atari-fs-factory.cpp
backends/platform/atari/atari.mk
backends/plugins/atari/atari-provider.cpp
backends/plugins/firebee/firebee-provider.cpp
base/plugins.cpp
configure
diff --git a/backends/fs/atari/atari-fs-factory.cpp b/backends/fs/atari/atari-fs-factory.cpp
index 8feafde9e6d..81f27480046 100644
--- a/backends/fs/atari/atari-fs-factory.cpp
+++ b/backends/fs/atari/atari-fs-factory.cpp
@@ -24,15 +24,51 @@
#include "backends/fs/atari/atari-fs-factory.h"
#include "backends/fs/atari/atari-fs.h"
+#include "base/plugins.h"
#include <mint/osbind.h>
#include <unistd.h> // getcwd
+// all engines enabled in this build, static and dynamic
+#undef PLUGIN_ENABLED_STATIC
+#define PLUGIN_ENABLED_STATIC(ID) PLUGIN_ENABLED(ID)
+#define LINK_PLUGIN(ID) #ID,
+static const char *const engineIds[] = {
+#include "engines/plugins_table.h"
+ nullptr
+};
+#undef LINK_PLUGIN
+
+// maps a name shortened by GEMDOS to 8+3 back to the original one, e.g. "parallac.plg" -> "parallaction.plg"
+static void addLongName(AtariFilesystemNode::FileHashMap &fileHashMap, const Common::String &name) {
+ const size_t dot = name.findLastOf('.');
+ const Common::String shortName = name.substr(0, MIN<size_t>(dot, 8)) + name.substr(dot, 4);
+
+ if (shortName != name)
+ fileHashMap[shortName] = name;
+}
+
AtariFilesystemFactory::AtariFilesystemFactory() {
- _fileHashMap["cryomni3.dat"] = "cryomni3d.dat";
- _fileHashMap["neverhoo.dat"] = "neverhood.dat";
- _fileHashMap["supernov.dat"] = "supernova.dat";
- _fileHashMap["teenagen.dat"] = "teenagent.dat";
+ static const char *const otherNames[] = {
+ "detection.plg",
+ "fonts-cjk.dat",
+ "gui-icons.dat",
+ "residualvm.zip",
+ "scummclassic.zip",
+ "scummmodern.zip",
+ "scummremastered.zip"
+ };
+ for (const char *name : otherNames)
+ addLongName(_fileHashMap, name);
+
+ for (const char *const *engineId = engineIds; *engineId; ++engineId) {
+ Common::String name(*engineId);
+ name.toLowercase();
+
+ addLongName(_fileHashMap, name + ".plg");
+ addLongName(_fileHashMap, name + ".dat");
+ addLongName(_fileHashMap, name + ".zip");
+ }
uint32 drvMap = Drvmap();
for (int i = 0; i < 26; i++) {
diff --git a/backends/platform/atari/atari.mk b/backends/platform/atari/atari.mk
index 8b37ace08cd..bd9720a6420 100644
--- a/backends/platform/atari/atari.mk
+++ b/backends/platform/atari/atari.mk
@@ -2,6 +2,14 @@
DIST_FILES_PLATFORM := $(srcdir)/backends/platform/atari/readme.txt
+# renames files in the current directory not fitting into the 8+3 limit the same way GEMDOS shortens them
+RENAME_TO_8_3 := \
+ for f in *.*; \
+ do \
+ n=$$(echo "$${f%.*}" | cut -c1-8).$$(echo "$${f\#\#*.}" | cut -c1-3); \
+ [ "$$f" = "$$n" ] || mv "$$f" "$$n"; \
+ done
+
LITE_DIR := scummvm-${VERSION}-atari-lite
LITE_DATA := ${LITE_DIR}/data
LITE_DOCS := ${LITE_DIR}/doc
@@ -29,7 +37,7 @@ ifneq ($(PLUGINS),)
$(MKDIR) ${LITE_DIR}/plugins
$(CP) $(PLUGINS) ${LITE_DIR}/plugins
$(STRIP) --strip-debug ${LITE_DIR}/plugins/*$(PLUGIN_SUFFIX)
- ! [ -f ${LITE_DIR}/plugins/detection$(PLUGIN_SUFFIX) ] || mv ${LITE_DIR}/plugins/detection$(PLUGIN_SUFFIX) ${LITE_DIR}/plugins/detectio$(PLUGIN_SUFFIX)
+ cd ${LITE_DIR}/plugins && $(RENAME_TO_8_3)
endif
$(MKDIR) ${LITE_DOCS}
@@ -43,8 +51,7 @@ endif
$(RM) $(addsuffix .dat, $(addprefix ${LITE_DATA}/, achievements classicmacfonts encoding macgui))
# rename remaining files still not fitting into the 8+3 limit (this has to be supported by the backend, too)
- ! [ -f ${LITE_DATA}/supernova.dat ] || mv ${LITE_DATA}/supernova.dat ${LITE_DATA}/supernov.dat
- ! [ -f ${LITE_DATA}/teenagent.dat ] || mv ${LITE_DATA}/teenagent.dat ${LITE_DATA}/teenagen.dat
+ cd ${LITE_DATA} && $(RENAME_TO_8_3)
# readme.txt
$(CP) $(DIST_FILES_PLATFORM) ${LITE_DIR}
@@ -67,7 +74,7 @@ ifneq ($(PLUGINS),)
$(MKDIR) ${FULL_DIR}/plugins
$(CP) $(PLUGINS) ${FULL_DIR}/plugins
$(STRIP) --strip-debug ${FULL_DIR}/plugins/*$(PLUGIN_SUFFIX)
- ! [ -f ${FULL_DIR}/plugins/detection$(PLUGIN_SUFFIX) ] || mv ${FULL_DIR}/plugins/detection$(PLUGIN_SUFFIX) ${FULL_DIR}/plugins/detectio$(PLUGIN_SUFFIX)
+ cd ${FULL_DIR}/plugins && $(RENAME_TO_8_3)
endif
$(MKDIR) ${FULL_DOCS}
@@ -81,10 +88,7 @@ endif
$(RM) $(addsuffix .dat, $(addprefix ${FULL_DATA}/, achievements classicmacfonts encoding hadesch_translations macgui prince_translation))
# rename remaining files still not fitting into the 8+3 limit (this has to be supported by the backend, too)
- ! [ -f ${FULL_DATA}/cryomni3d.dat ] || mv ${FULL_DATA}/cryomni3d.dat ${FULL_DATA}/cryomni3.dat
- ! [ -f ${FULL_DATA}/neverhood.dat ] || mv ${FULL_DATA}/neverhood.dat ${FULL_DATA}/neverhoo.dat
- ! [ -f ${FULL_DATA}/supernova.dat ] || mv ${FULL_DATA}/supernova.dat ${FULL_DATA}/supernov.dat
- ! [ -f ${FULL_DATA}/teenagent.dat ] || mv ${FULL_DATA}/teenagent.dat ${FULL_DATA}/teenagen.dat
+ cd ${FULL_DATA} && $(RENAME_TO_8_3)
$(MKDIR) ${FULL_THEMES}
$(CP) $(DIST_FILES_THEMES) ${FULL_THEMES}
@@ -98,6 +102,7 @@ endif
do \
unzip -q -d tmp "$$f" && $(RM) "$$f" && cd tmp && $(ZIP) -0 "../$$f" * && cd .. && $(RM_REC) tmp; \
done
+ cd ${FULL_THEMES} && $(RENAME_TO_8_3)
# readme.txt
$(CP) $(DIST_FILES_PLATFORM) ${FULL_DIR}
@@ -119,7 +124,7 @@ ifneq ($(PLUGINS),)
$(MKDIR) ${FB_DIR}/plugins
$(CP) $(PLUGINS) ${FB_DIR}/plugins
$(STRIP) --strip-debug ${FB_DIR}/plugins/*$(PLUGIN_SUFFIX)
- ! [ -f ${FB_DIR}/plugins/detection$(PLUGIN_SUFFIX) ] || mv ${FB_DIR}/plugins/detection$(PLUGIN_SUFFIX) ${FB_DIR}/plugins/detectio$(PLUGIN_SUFFIX)
+ cd ${FB_DIR}/plugins && $(RENAME_TO_8_3)
endif
$(MKDIR) ${FB_DOCS}
@@ -132,6 +137,9 @@ endif
$(RM) ${FB_DATA}/helpdialog.zip
$(RM) $(addsuffix .dat, $(addprefix ${FB_DATA}/, achievements classicmacfonts encoding hadesch_translations macgui prince_translation))
+ # rename remaining files still not fitting into the 8+3 limit (this has to be supported by the backend, too)
+ cd ${FB_DATA} && $(RENAME_TO_8_3)
+
$(MKDIR) ${FB_THEMES}
$(CP) $(DIST_FILES_THEMES) ${FB_THEMES}
@@ -144,6 +152,7 @@ endif
do \
unzip -q -d tmp "$$f" && $(RM) "$$f" && cd tmp && $(ZIP) -0 "../$$f" * && cd .. && $(RM_REC) tmp; \
done
+ cd ${FB_THEMES} && $(RENAME_TO_8_3)
# readme.txt
$(CP) $(DIST_FILES_PLATFORM) ${FB_DIR}
diff --git a/backends/plugins/atari/atari-plugin.h b/backends/plugins/atari/atari-plugin.h
new file mode 100644
index 00000000000..a51e1c7be0e
--- /dev/null
+++ b/backends/plugins/atari/atari-plugin.h
@@ -0,0 +1,44 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#ifndef BACKENDS_PLUGINS_ATARI_PLUGIN_H
+#define BACKENDS_PLUGINS_ATARI_PLUGIN_H
+
+#include "backends/plugins/elf/elf-provider.h"
+
+template<class T>
+class AtariPlugin final : public TemplatedELFPlugin<T> {
+public:
+ AtariPlugin(const Common::FSNode &node)
+ : TemplatedELFPlugin<T>(node.getPath())
+ , _fileName(node.getPath().getParent().appendComponent(node.getName())) {
+ }
+
+ // file name as presented by AtariFilesystemNode, i.e. not shortened to 8+3
+ Common::Path getFileName() const override {
+ return _fileName;
+ }
+
+private:
+ const Common::Path _fileName;
+};
+
+#endif // BACKENDS_PLUGINS_ATARI_PLUGIN_H
diff --git a/backends/plugins/atari/atari-provider.cpp b/backends/plugins/atari/atari-provider.cpp
index e12fd837397..dd4fb549bf4 100644
--- a/backends/plugins/atari/atari-provider.cpp
+++ b/backends/plugins/atari/atari-provider.cpp
@@ -25,6 +25,7 @@
#if defined(DYNAMIC_MODULES) && defined(__MINT__) && defined(__ELF__) && !defined(__mcoldfire__)
#include "backends/plugins/atari/atari-provider.h"
+#include "backends/plugins/atari/atari-plugin.h"
#include "backends/plugins/elf/m68k-loader.h"
#include <mint/basepage.h>
@@ -82,7 +83,7 @@ protected:
};
Plugin *AtariPluginProvider::createPlugin(const Common::FSNode &node) const {
- return new TemplatedELFPlugin<AtariDLObject>(node.getPath());
+ return new AtariPlugin<AtariDLObject>(node);
}
#endif // defined(DYNAMIC_MODULES) && defined(__MINT__) && defined(__ELF__) && !defined(__mcoldfire__)
diff --git a/backends/plugins/firebee/firebee-provider.cpp b/backends/plugins/firebee/firebee-provider.cpp
index f3f6aff03bb..4bcd00ac5eb 100644
--- a/backends/plugins/firebee/firebee-provider.cpp
+++ b/backends/plugins/firebee/firebee-provider.cpp
@@ -25,6 +25,7 @@
#if defined(DYNAMIC_MODULES) && defined(__MINT__) && defined(__ELF__) && defined(__mcoldfire__)
#include "backends/plugins/firebee/firebee-provider.h"
+#include "backends/plugins/atari/atari-plugin.h"
#include "backends/plugins/elf/m68k-loader.h"
#include <mint/basepage.h>
@@ -86,7 +87,7 @@ protected:
};
Plugin *FireBeePluginProvider::createPlugin(const Common::FSNode &node) const {
- return new TemplatedELFPlugin<FireBeeDLObject>(node.getPath());
+ return new AtariPlugin<FireBeeDLObject>(node);
}
#endif // defined(DYNAMIC_MODULES) && defined(__MINT__) && defined(__ELF__) && defined(__mcoldfire__)
diff --git a/base/plugins.cpp b/base/plugins.cpp
index b29ed0600c1..a77a3c1986e 100644
--- a/base/plugins.cpp
+++ b/base/plugins.cpp
@@ -324,11 +324,7 @@ void PluginManagerUncached::init() {
unloadPluginsExcept(PLUGIN_TYPE_ENGINE, nullptr, false); // empty the engine plugins
#ifndef DETECTION_STATIC
-#ifdef PLUGIN_DETECTION_NAME
-Common::String detectPluginName = PLUGIN_DETECTION_NAME;
-#else
-Common::String detectPluginName = "detection";
-#endif
+ Common::String detectPluginName = "detection";
#ifdef PLUGIN_SUFFIX
detectPluginName += PLUGIN_SUFFIX;
#endif
diff --git a/configure b/configure
index db32b73a94f..c9cee39b737 100755
--- a/configure
+++ b/configure
@@ -5269,7 +5269,6 @@ POST_OBJS_FLAGS := -Wl,-no-whole-archive
mintelf)
_elf_loader=yes
append_var DEFINES "-DM68K_TARGET"
- append_var DEFINES "-DPLUGIN_DETECTION_NAME=\\\"detectio\\\""
append_var CXXFLAGS "-fuse-cxa-atexit"
append_var DEFINES "-DELF_LOADER_CXA_ATEXIT"
append_var DEFINES "-DUNCACHED_PLUGINS"
Commit: 73f9f6eda8ce5f16a96fae45e00d445eb52c122b
https://github.com/scummvm/scummvm/commit/73f9f6eda8ce5f16a96fae45e00d445eb52c122b
Author: Miro Kropacek (miro.kropacek at gmail.com)
Date: 2026-10-23T15:17:15+10:00
Commit Message:
BACKENDS: ATARI: Default SDL to 2048 samples audio buffer
Value tested on real hardware.
Changed paths:
backends/platform/sdl/atari/atari.cpp
diff --git a/backends/platform/sdl/atari/atari.cpp b/backends/platform/sdl/atari/atari.cpp
index 28f75928b15..bf2cdbb0929 100644
--- a/backends/platform/sdl/atari/atari.cpp
+++ b/backends/platform/sdl/atari/atari.cpp
@@ -36,6 +36,9 @@ void OSystem_SDL_Atari::initBackend() {
if (!ConfMan.hasKey("themepath", Common::ConfigManager::kApplicationDomain))
ConfMan.setPath("themepath", "themes", Common::ConfigManager::kApplicationDomain);
+ if (!ConfMan.hasKey("audio_buffer_size", Common::ConfigManager::kApplicationDomain))
+ ConfMan.setInt("audio_buffer_size", 2048, Common::ConfigManager::kApplicationDomain);
+
OSystem_POSIX::initBackend();
}
Commit: 6c17d5907bd785470f11c9331030d1af787a116a
https://github.com/scummvm/scummvm/commit/6c17d5907bd785470f11c9331030d1af787a116a
Author: Miro Kropacek (miro.kropacek at gmail.com)
Date: 2026-10-23T15:17:15+10:00
Commit Message:
BACKENDS: ATARI: Add -mtune=68060
-m68020-60 alone tunes for the whole 68020-68060 range. That includes
the costly (int)<float number> conversion which is native on 060 but not
on 040 (fintrz). -mtune=68060 forces fintrz so it works faster on 030
and 060.
Changed paths:
backends/platform/atari/build-firebee.sh
backends/platform/atari/build-release.sh
diff --git a/backends/platform/atari/build-firebee.sh b/backends/platform/atari/build-firebee.sh
index e175f5476a5..3146b3b20fc 100755
--- a/backends/platform/atari/build-firebee.sh
+++ b/backends/platform/atari/build-firebee.sh
@@ -11,7 +11,7 @@ FASTCALL=false
PLUGINS=true
export CXXFLAGS="-mcpu=5475"
export LDFLAGS="-mcpu=5475"
-#export CXXFLAGS="-m68020-60"
+#export CXXFLAGS="-m68020-60 -mtune=68060"
#export LDFLAGS="-m68020-60"
CPU_DIR=$(${PLATFORM}-gcc ${CXXFLAGS} -print-multi-directory)
diff --git a/backends/platform/atari/build-release.sh b/backends/platform/atari/build-release.sh
index a8c1d6d5e7a..1e1e0abb086 100755
--- a/backends/platform/atari/build-release.sh
+++ b/backends/platform/atari/build-release.sh
@@ -10,7 +10,7 @@ PLATFORM=m68k-atari-mintelf
FASTCALL=false
PLUGINS=true
export ASFLAGS="-m68020-60"
-export CXXFLAGS="-m68020-60 -DUSE_MOVE16 -DUSE_SUPERVIDEL -DUSE_SV_BLITTER -DDISABLE_LAUNCHERDISPLAY_GRID"
+export CXXFLAGS="-m68020-60 -mtune=68060 -DUSE_MOVE16 -DUSE_SUPERVIDEL -DUSE_SV_BLITTER -DDISABLE_LAUNCHERDISPLAY_GRID"
export LDFLAGS="-m68020-60"
export PKG_CONFIG_LIBDIR="$(${PLATFORM}-gcc -print-sysroot)/usr/lib/m68020-60/pkgconfig"
More information about the Scummvm-git-logs
mailing list