With the release of libTAS I thought we could take advantage of all the Linux source ports and other software used to play games that were originally for DOS. libTAS is a much friendlier alternative to TASing in JPC-rr, being able to run games at full speed, having an intuitive mouse interface, and the ability to easily edit past inputs. Some of these games didn't run at all in JPC-rr and are now TASable. I'm going to go through and test some of these Linux alternatives, and I encourage others to test these out as well.
Many games can be installed through game-data-packager, provided you have the original game files, with many of them being untested in libTAS: https://salsa.debian.org/games-team/game-data-packager/tree/master/data
I will try to keep this thread up to date as new libTAS releases come out and more testing is done. Make sure you use the newest release when trying these.
General
Savestates: Working, although you should avoid loading/saving states between different resolutions. If you have Voodoo checked then savestates won't work in 1.3.4, use at least this commit.
Notes: The FPS has to be set to 100. Use "--config /path/to/config.cfg" in the command line to skip the configuration screen. No time tracking is needed. You will need to uncheck "Recycle threads" for some chipsets. Avoid using these GPUs: ATI Graphics Pro Turbo, Tseng ET4000, Trident TGUI9440, and anything that uses S3 EXCEPT FOR the S3 ViRGE/DX, which has been specifically patched to work in libTAS. Voodoo works as well under the latest commit.
DOSBox
Notes: Need to set fixed cycles in Dosbox.conf, otherwise it will run extremely slowly. Needs Runtime -> Time tracking -> Main thread -> SDL_GetTicks() to be checked.
If you want to submit a DOSBox run, it is likely that it will have to sync with all hotkeys turned off to ensure that the run was not interfered with via cycle adjustments. To do this, run DOSBox with the -startmapper command line parameter to open the key mapper, and then manually delete all the hotkey bindings.
DOSBox-x
Where to get it: https://github.com/joncampbell123/dosbox-x This is a fork of DOSBox that's more focused on accuracy and emulating different hardware, similar to what PCem is doing. Keep an eye on this one.
Status: Runs in libTAS.
Savestates: Working
Notes: Write a config file with "config.com -all -wc" and set the cycles to a fixed amount, otherwise it will run extremely slowly. Needs Runtime -> Time tracking -> Main thread -> SDL_GetTicks() to be checked.
ScummVM
Notes: A couple things to set up: First, run eduke32 and uncheck "Always show this window at startup". In the game, go to Options -> Display Setup -> Video Mode, then set Renderer to Classic (or else it will look like clown vomit in libTAS). Set windowed mode as well, as it defaults to fullscreen. In libTAS, needs Runtime -> Time tracking -> Main thread -> SDL_GetTicks() to be checked.
That will depend on the game and the options available for that game. As long as the game runs accurately and the TAS syncs properly, then it could be accepted.
Thanks for doing all those testings! Error "stack smashing detected" was fixed in commit bc62551. Scummvm and chocolate doom savestates seem to work correctly now.
EDIT: The XIO error was fixed in commit de3a846.
Thank you for libTAS and staying on top of these bugs. You're opening a lot of doors for new TASes.
EDIT: Updated the thread, all of these have working savestates now in the newest interim
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
Realms of Chaos TAS?
Praise keylie!
BTW keylie, I upgraded your forum titles.
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Just a video testing DOSBox TASing...
Link to video
I had zero crashes in the making of this and after replaying it a few times, there doesn't seem to be any sync issues. The run is not very optimized so don't mind that, this is just a test.
What? Is that allowed? TASing a platform running under a emulator which in turn is running under another emulator even though there is a dedicated tas emulator for that platform already?
can you please read the rest of the thread to get more context into this?
to quote slamo's original post:
As for this method being acceptable for submissions, that is still under discussion. JPC-rr is an incredibly hard emulator to tas with. Not just because it's slow, but even at points just broken. Save States are weird, mouse traction isn't the best, and it requires a whole lot of patience. just because there's already an acceptable emulator doesn't mean we cant look for alternatives.
Edit: Also, libTAS isnt an emulator.
[14:15] <feos> WinDOES what DOSn't
12:33:44 PM <Mothrayas> "I got an oof with my game!"
Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet
MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish
[Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person
MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol
Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing
Joined: 9/12/2014
Posts: 543
Location: Waterford, MI
Looks like dosbox-x found libtas and is fixing issues that might be related to it. Like sdl2 functions and detecting Linux.
Btw, I’ve had trouble with setting up dosbox and dosbox-x(couldn’t even start it with latest release).
With dosbox, I don’t know where to set cycles, and libtas doesn’t advance frames. I did follow the other configuration like get-ticks though which is real obvious.
Any help?
Joined: 9/12/2014
Posts: 543
Location: Waterford, MI
Fell into another problem.. I don’t know how to load a game.. I tried mounting, but that only works outside libtas. It will say “doesn’t exist”. But when I run mount outside libtas, it works fine.
Also, for dosbox-x, I don’t even know where to begin with that.. I do want to wait until next release to play around with, but I also want to know how to use it.
Well I was pretty excited to try this out for myself. Compiled both the latest stable versions of libTAS and DOSBox in Fedora 27 and setup two games of mine, Chasm: The Rift and The Terminator: SkyNET.
Both of them threw back random error messages which tells me they didn't like libTAS very much as they play normally outside of it. I tested out another game I had, Radix: Beyond the Void, and that appears to work just fine. Bit of a shame, as I was really hoping to test out those two prior games.
Joined: 4/17/2010
Posts: 11495
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
Just report whatever bugs you're having to libtas repo. Keylie fixes things quite quickly if he has a way to reproduce them.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Well good news, meh news, that absolutely fixes the issue. However, I guess libTAS eats at the emulation a bit too much as SkyNET drops to an unplayable crawl, and while Chasm fares better, it still doesn't run at it's ideal speed. Anyways, at least I know it's possible to do these games with libTAS now, so thanks for that.