Question about future Retroachievements support
Will older Windows games (3.11-95-98) that can run under Dosbox Pure be taken into account?
e.g. https://www.youtube.com/watch?v=4IS3gxmef1g&ab_channel=guruemulation
Thank you.
Likely won't due to how Windows treats memory and is another factor to that (plus obfuscating what's being run as it's an OS), and retroachievements relies on having consistent memory mapping.
I think there is a chance for supporting games for Windows versions earlier than Windows 95, so up to Windows 3.11.
For once, older Windows versions work much better in DOSBox. Also a trimmed down version of Windows could be packaged which only launches one game directly and then quits. Because Windows 1/2/3 are essentially DOS applications, the packaging of that would be identical to how games will be packaged. Which is a package of files which a user can create themselves and then RetroAchievements can verify of being a known set of files which hasn't been tampered with (both to ensure achievements working and also to prevent cheating).
Windows 95 and newer on the other hand use a hard drive image with a file system (not just a loose set of files) so it would need a much different packaging system (and thus specs, implementation, tooling and support for that on RetroAchievements side). Also support in DOSBox is much spottier when it comes to Windows 95/98 and its stability being different depending on the host CPU (i.e. it works worse on ARM than on Intel CPUs). So I think support for such games will have to be left to some other approach (either native, another emulator or some form of VM). Of course that will be many years after DOS.
By the way, achievements support for DOS (if it ever exists) will likely be somewhat tied to emulated DOS. Because the memory management as done by DOS results in many games having their memory laid out differently depending on the version of DOS (or the behavior of the emulator which is emulating DOS). We tried to combat that to some extent by splitting the memory used by the BIOS/OS (for themselves and for any loaded drivers) and for the game. But it turns out many games still end up using conventional memory and extended memory differently depending on the amount of free conventional memory.
Thank you very much, Schellingb, for your response. I understand that up until Windows 3.11, a kind of dosz could be created with the operating system and the game, and for games on Windows 95-98, perhaps an application like PCem would be necessary.
I think it's less possible on PCem but probably needs something more high-level that can handle the OS layer, like boxedwine.
Related:
- #362