WIP: ScummVM-Lite Atari

All about ST/STE games

Moderators: simonsunnyboy, Mug UK, Doctor Bob Gordon, ICS, Moderator Team

agranlund
Atari nerd
Atari nerd
Posts: 49
Joined: Sun Aug 04, 2019 1:49 pm

Re: WIP: ScummVM-Lite Atari

Post by agranlund »

nemodhs wrote:This is a great project!
General
- Playing these games with 16 colors and YM sound has an oddly satisfying alternate reality vibe, where LucasArts didn't stop supporting the Atari platform. :D
I know, right! I get exactly the same feeling, and fondly think back to the joy I had playing Indy3 as a kid - on the very same old 520ST none the less! (although nowadays slightly faster at 50Mhz) :D


Thanks for the details about issues with MagiC.

There were some mentions in the thread about Mint also.
I want it to work on these systems of course, maybe not as a first priority but I feel it's certainly worthwhile making sure it runs fine on these - I don't know of course, but I really can't imagine it being that much work.

Regarding MINT, is Freemint a good option for testing?
There was a ready made distribution I was able to get running in Hatari and could verify that keyboard was indeed not working. Also noticed the initial console wasn't really showing properly (not a big deal, that options thing is highly temporary and will be replaced with something proper anyway)
I am completely out of the loop on MagiC and MiNT :)

Any chance to add VGA support on TT and Falcon? ;)
I did some early stuff for that but decided to shelve all that until after I'm done with the current larger refactoring. It simply makes it easier for me not having to consider different video options at this point.

I'm coding at work also so I'm always careful to make sure any hobby coding is not ending up feeling like work - although it was many years since I did anything targeting machines with this type of spec so it's all nostalgic and fun at this point anyways :)
I found that keeping a rather narrow focus and trying to do that really well is something that usually works quite well for me as far as hobby stuff goes.

Saying that, >4 bitplane modes would certainly be nice to have. I guess for me, it would be of a rather low priority.
I will be putting all the code on Github though so it shouldn't stop anyone else from adding these modes in if I never get around to it!

For me, the main target is MI2 running on the ST, in a solid and polished package that feels like it could have been released way back when.
Anything which is not outrageously outside of that scope, or has a too big negative impact on either performance, memory or workload is included either straight away or written down to be added later - hence why Indy4 and DOTT will be tagging along for the same treatment :)


I really do appreciate all the input and suggestions!
agranlund
Atari nerd
Atari nerd
Posts: 49
Joined: Sun Aug 04, 2019 1:49 pm

Re: WIP: ScummVM-Lite Atari

Post by agranlund »

Eero Tamminen wrote: => Maybe if the full version file name isn't found from current folder, you could check for the demo file names?

After things have proceeded further, maybe some other lightweight ScummVM games could be supported? For example Monkey Island 1 (+ its demo), Sam & Max games and some Putt-Putt games (little kids like them a lot).
I totally agree, I should add in support for the demo versions.

Other games, it'll be a long way off (for me at least).

In the scumm engine, I ripped out all code not directly needed by MI2, Indy4 or DOTT.
I simply didn't want to waste cycles, or program space, on all these runtime checks for scumm versions or specific stuff regarding games I don't support. It's not much but everything counts a little.
I figured the older scumm v4 games were already released on Atari officially. Scumm v7 stuff is also ripped out (The Dig, Full throttle)
I haven't had the heart to rip out the Sam'n'Max stuff even though there is a fair bit of code that is only used by that game.. it's staying for now just in case.

Anyhow, getting rid of all non-essentials reduces the amount of code I need to rewrite/optimize also. I'm not really trying to optimizing the scummvm common layer. I'm approaching it at the angle of making the scumm v5 and v6 engines "talk Atari" more or less directly.

Adding in something else, say Sierra SCI1, would require quite a bit of similar work again but in the sierra game engine of course.
I'm mentioning Sierra SCI1 because if I am not bored with all this after I'm done then that's what I want to do next.. There were a bunch of SCI1 games we never got on Atari but I imagine would run well - plus they already have 16 color EGA versions!


This is somewhat an aggressive "port" in the sense that it's not going to make sense putting anything back to the mainline scumm branch.
(Also, it's based on super old 0.6.0 code, with some bits from 0.2.0 which was faster and some midi code from I think 1.2.0)

It's not really trying to optimise the existing way of doing things but rather changing the way it does things, in a way that wouldn't make sense in a proper ScummVM port.
It's going to be fast simply because it has the benefit of not having to care about all these different game engines or being able to run on all the different platforms scummvm supports.
I know the exact inputs (MI2/Indy4/Dott) and the one single output (Atari) and thus I can make that specific case pretty fast (I hope)

I think official ScummVM as such is really well designed in that it's easy to add support for new game engines, as well as easy to add new platforms provided they are not ancient. Sacrificing performance to facilitate that is absolutely what I would have done as well and I think all things considered, it runs really well on all the relevant platforms for it.
User avatar
Estrayk
Captain Atari
Captain Atari
Posts: 274
Joined: Mon Nov 23, 2015 2:52 pm
Location: Spain

Re: WIP: ScummVM-Lite Atari

Post by Estrayk »

Great work agranlund. Time to test it in my STe , MegaSTE and Falcon.!!!
・Falcon ct60e・Atari MegaSTE ・Atari STe ・MIST ・MISTer・
User avatar
shoggoth
Nature
Nature
Posts: 1014
Joined: Tue Aug 01, 2006 9:21 am
Location: Halmstad, Sweden
Contact:

Re: WIP: ScummVM-Lite Atari

Post by shoggoth »

agranlund wrote:Thanks for the details about issues with MagiC.

There were some mentions in the thread about Mint also.
I want it to work on these systems of course, maybe not as a first priority but I feel it's certainly worthwhile making sure it runs fine on these - I don't know of course, but I really can't imagine it being that much work.

Regarding MINT, is Freemint a good option for testing?
There was a ready made distribution I was able to get running in Hatari and could verify that keyboard was indeed not working. Also noticed the initial console wasn't really showing properly (not a big deal, that options thing is highly temporary and will be replaced with something proper anyway)
I am completely out of the loop on MagiC and MiNT :)
To get things running smooth on a multitasking system, be it FreeMiNT or MagiC, you usually just have to:

1. Don't touch the logical screen; keep it intact where it is. Only change the physical location of the screen, i.e. Setscreen(-1,buffer,-1).
2. Don't change any LineA/VDI variables whatsoever (since other running applications may rely on them). On the Falcon, that means using VsetMode(modecode). I guess Setscreen(-1,-1,mode) works on the TT/ST/E. Obviously you can't use these APIs on your own private screen, since they're tied to the "hidden" logical screen where the VDI/AES is.
3. Enforce keyboard focus by using a custom IKBD routine. I usually rip the one from Patrice Mandins Cleancode-project and rewrite it to my needs.
4. Set the "Super" flag in the program header.

In my experience, this works. You can achieve it in other ways obviously; you can for example achieve (3) using the AES too by opening a window or dialog and locking the screen using wind_update etc, but there be dragons.

As long as you've allocated memory properly, you should be fine even with memory protection enabled.
Ain't no space like PeP-space.
mikro
Hardware Guru
Hardware Guru
Posts: 2218
Joined: Sat Sep 10, 2005 11:11 am
Location: Kosice, Slovakia
Contact:

Re: WIP: ScummVM-Lite Atari

Post by mikro »

Yup, IKBD hooks is the only non-clean thing which you should need the Super flag for. Everything else (incl. double/triple buffering) can be done in user code with zero Super/Supexec calls.

So programming in FreeMiNT + memory protection actually makes you a better programmer. ;-)
Playmobil
Captain Atari
Captain Atari
Posts: 186
Joined: Fri Nov 13, 2015 7:40 pm

Re: WIP: ScummVM-Lite Atari

Post by Playmobil »

Tested under Aranym, Emutos, Beekey setup... Just don't work... Need to try under Hatari...
User avatar
Eero Tamminen
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2189
Joined: Sun Jul 31, 2011 1:11 pm

Re: WIP: ScummVM-Lite Atari

Post by Eero Tamminen »

agranlund wrote: I simply didn't want to waste cycles, or program space, on all these runtime checks for scumm versions or specific stuff regarding games I don't support. It's not much but everything counts a little.
I figured the older scumm v4 games were already released on Atari officially. Scumm v7 stuff is also ripped out (The Dig, Full throttle)
I haven't had the heart to rip out the Sam'n'Max stuff even though there is a fair bit of code that is only used by that game.. it's staying for now just in case.
...
Adding in something else, say Sierra SCI1, would require quite a bit of similar work again but in the sierra game engine of course.
I'm mentioning Sierra SCI1 because if I am not bored with all this after I'm done then that's what I want to do next.. There were a bunch of SCI1 games we never got on Atari but I imagine would run well - plus they already have 16 color EGA versions!
Sounds good!

Btw. According to Wikipedia Putt-putt games weren't released for Atari: https://en.wikipedia.org/wiki/Putt-Putt_(series)

But if they need another engine, I guess that's out of question.
agranlund wrote: Anyhow, getting rid of all non-essentials reduces the amount of code I need to rewrite/optimize also. I'm not really trying to optimizing the scummvm common layer. I'm approaching it at the angle of making the scumm v5 and v6 engines "talk Atari" more or less directly.
...
It's not really trying to optimise the existing way of doing things but rather changing the way it does things, in a way that wouldn't make sense in a proper ScummVM port.
It's going to be fast simply because it has the benefit of not having to care about all these different game engines or being able to run on all the different platforms scummvm supports.
I know the exact inputs (MI2/Indy4/Dott) and the one single output (Atari) and thus I can make that specific case pretty fast (I hope)
Could you add debug symbols to the binaries so that they can be profiled with Hatari?

Playmobil wrote:Tested under Aranym, Emutos, Beekey setup... Just don't work... Need to try under Hatari...
It works fine with EmuTOS, under Hatari.
User avatar
Marakatti
Atari God
Atari God
Posts: 1372
Joined: Sat Jun 18, 2005 9:58 am
Location: Finland
Contact:

Re: WIP: ScummVM-Lite Atari

Post by Marakatti »

Many thanks for these ports! Plays very well on stock Falcon already. Need to test how it runs on Mega STe next.

Keep up the good work,
Marko
-------------< Member of Atarimania >-----------
-< ST / STe / Falcon030 / TT030 archiver >-
-------------> www.atarimania.com <-------------
User avatar
Estrayk
Captain Atari
Captain Atari
Posts: 274
Joined: Mon Nov 23, 2015 2:52 pm
Location: Spain

Re: WIP: ScummVM-Lite Atari

Post by Estrayk »

Works like a charm in my MegaSTE:

https://www.youtube.com/watch?v=wYOLUJahYgM
・Falcon ct60e・Atari MegaSTE ・Atari STe ・MIST ・MISTer・
User avatar
dma
Atari God
Atari God
Posts: 1117
Joined: Wed Nov 20, 2002 11:22 pm
Location: France
Contact:

Re: WIP: ScummVM-Lite Atari

Post by dma »

Wow, it seems indeed playable already!
User avatar
AtariCrypt
Captain Atari
Captain Atari
Posts: 411
Joined: Fri Mar 14, 2014 5:04 pm
Location: Lancashire, England
Contact:

Re: WIP: ScummVM-Lite Atari

Post by AtariCrypt »

I was thinking the same. What a great project Anders. I must try this myself!! :D
AtariCrypt game website
https://ataricrypt.blogspot.com
User avatar
ST Graveyard
Obsessed with homicide
Obsessed with homicide
Posts: 2179
Joined: Fri Apr 26, 2002 11:53 pm
Location: Belgium
Contact:

Re: WIP: ScummVM-Lite Atari

Post by ST Graveyard »

Would it be possible to run later version of Sierra games with this as well? Like Kings Quest 5 and Larry 5?
We are Atari Legend.

Visit us at : http://www.atarilegend.com

Youtube
Facebook
Twitter

Sister site :
Stonish.net
User avatar
rondc
Atari maniac
Atari maniac
Posts: 95
Joined: Tue Apr 30, 2019 9:59 pm
Location: Spain
Contact:

Re: WIP: ScummVM-Lite Atari

Post by rondc »

absolutely amazing. Thanks for this awesome gift !
User avatar
Cyprian
10 GOTO 10
10 GOTO 10
Posts: 1949
Joined: Fri Oct 04, 2002 11:23 am
Location: Warsaw, Poland

Re: WIP: ScummVM-Lite Atari

Post by Cyprian »

agranlund wrote:I'm working on a very stripped down and specialised/bastardised version of ScummVM for Atari.

great work @agranlund

Larry is also based on Scumm. Woludn't be possible then use its engine to run other Scumm games?
Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
Hatari / Steem SSE / Aranym / Saint
http://260ste.appspot.com/
User avatar
shoggoth
Nature
Nature
Posts: 1014
Joined: Tue Aug 01, 2006 9:21 am
Location: Halmstad, Sweden
Contact:

Re: WIP: ScummVM-Lite Atari

Post by shoggoth »

I think you guys are confusing Sierra with Lucasarts.

That's herecy!
Ain't no space like PeP-space.
User avatar
nanard
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 141
Joined: Mon Apr 04, 2016 2:11 pm

Re: WIP: ScummVM-Lite Atari

Post by nanard »

would it be possible to go beyond the 16 colors by changing the palette on each line, or maybe every 8 lines or so ?
4MB STE + CosmosEx /|\ MegaST4 + MegaFile 44 /|\ Stacy 4
User avatar
tjlazer
Atari Super Hero
Atari Super Hero
Posts: 650
Joined: Mon Feb 02, 2004 4:00 am
Location: Tacoma, WA USA
Contact:

Re: WIP: ScummVM-Lite Atari

Post by tjlazer »

Awesome! Keep up the great work!
Atari Computer Collector since 1984

From the 8-bit Atari 400 to the 32-bit Atari TT030!
User avatar
Jinroh
Atarian
Atarian
Posts: 9
Joined: Sat Mar 18, 2017 4:30 pm
Location: USA
Contact:

Re: WIP: ScummVM-Lite Atari

Post by Jinroh »

Amazing! Thank you for your hard work Agranlund!

Indiana Jones Demo works swimmingly on my MegaST4 - with the T16 Booster.
http://www.youtube.com/watch?v=79ePQFucqcU

I tried the Day of the Tentacle demo, but it kept looping forever, with no speech. Eventually it crashed to 2 Bombs.

Super amazing! <3 Never thought I would be playing my childhood PC adventures on the ST. :3

EDIT: Messing around with STEEM, I have not been able to get voices and digitized sound effects on DOTT with less than 2.06 TOS.
User avatar
ST Graveyard
Obsessed with homicide
Obsessed with homicide
Posts: 2179
Joined: Fri Apr 26, 2002 11:53 pm
Location: Belgium
Contact:

Re: WIP: ScummVM-Lite Atari

Post by ST Graveyard »

This is all so amazing! And if you ever get those sc1 sierra games to work....so much to look forward to. Who would have thought we would see games like DOTT run on an ST?? :-o
We are Atari Legend.

Visit us at : http://www.atarilegend.com

Youtube
Facebook
Twitter

Sister site :
Stonish.net
User avatar
AdamK
Captain Atari
Captain Atari
Posts: 327
Joined: Wed Aug 21, 2013 8:44 am

Re: WIP: ScummVM-Lite Atari

Post by AdamK »

There is an Amiga project to develop ScummVM compatibile engine https://github.com/betajaen/Parrot Maybe it would be possible to join forces?
Atari: FireBee, Falcon030 + CT60e + SuperVidel + SvEthlana, TT, 520ST + 4MB ST RAM + 8MB TT RAM + CosmosEx + SC1435, 1040STFM + UltraSatan + SM124, 1040STE 4MB ST RAM + 8MB TT RAM + CosmosEx + NetUSBee + SM144 + SC1224, 65XE + U1MB + VBXE + SIDE2, Jaguar, Lynx II, 2 x Portfolio (HPC-006)

Adam Klobukowski [adamklobukowski@gmail.com]
agranlund
Atari nerd
Atari nerd
Posts: 49
Joined: Sun Aug 04, 2019 1:49 pm

Re: WIP: ScummVM-Lite Atari

Post by agranlund »

I am happy to say that with the latest version I think I've reached my original goal of getting Monkey Island 2 playable on stock a stock 8 Mhz ST!
(Stock as in CPU speed, you still need a hard drive and 4MB RAM, you may get away with only 2MB)

For what it is, the performance is quite decent on such machines. Very similar to how the official Lucasarts releases played on the ST.
With the caveat that I've only played Scabb Island so far and don't know how the rest of the game plays out :)

Mega STE will probably run all three of the games at enjoyable framerate. Stock Falcon for good framerate in the intro for Day of the Tentacle.


You can grab the latest version from here:
http://www.happydaze.se/scummvm-lite-atari/

I have some known bugs and issues written down already but I still really appreciate feedback on what is broken as I'm mainly testing the beginnings of each of the games between doing changes.


Some notes:
- Disabling sound/speech helps performance on slower machines.
- I heard DMA sound may not be playing properly/at all on real Falcon hardware.
- Some TT's are having trouble with YM music in Day of the Tentacle, and some plays it fine.
- It will reinstall at first launch even if you already installed a previous version.
(installation takes ~30 minutes on a stock 8Mhz ST, and a minute or so on my 68030 accelerated ST)

The plan for now is to revisit sound and music playback.
Mainly to improve performance, but also hoping to get DMA sound working on real Falcons - it's hard to know since it plays fine in the emulator.
Then fix the currently known bugs and generally improve performance some more for a better experience with Fate of Atlantis on stock 8 Mhz machines.

And then Sierra SCI1 games..
marss
Captain Atari
Captain Atari
Posts: 155
Joined: Thu Nov 07, 2002 12:29 pm

Re: WIP: ScummVM-Lite Atari

Post by marss »

Thanks ;)
marss
Captain Atari
Captain Atari
Posts: 155
Joined: Thu Nov 07, 2002 12:29 pm

Re: WIP: ScummVM-Lite Atari

Post by marss »

Thanks ;)
User avatar
AdamK
Captain Atari
Captain Atari
Posts: 327
Joined: Wed Aug 21, 2013 8:44 am

Re: WIP: ScummVM-Lite Atari

Post by AdamK »

Great :D. Is there a chance for 256 colors version for Falcon/TT? Or maybe even 640x480x256 vesrion? (I remember Indy4 for Mac 68k had 640x240x256 version)
Atari: FireBee, Falcon030 + CT60e + SuperVidel + SvEthlana, TT, 520ST + 4MB ST RAM + 8MB TT RAM + CosmosEx + SC1435, 1040STFM + UltraSatan + SM124, 1040STE 4MB ST RAM + 8MB TT RAM + CosmosEx + NetUSBee + SM144 + SC1224, 65XE + U1MB + VBXE + SIDE2, Jaguar, Lynx II, 2 x Portfolio (HPC-006)

Adam Klobukowski [adamklobukowski@gmail.com]
agranlund
Atari nerd
Atari nerd
Posts: 49
Joined: Sun Aug 04, 2019 1:49 pm

Re: WIP: ScummVM-Lite Atari

Post by agranlund »

AdamK wrote: Mon Jun 22, 2020 8:47 am Great :D. Is there a chance for 256 colors version for Falcon/TT? Or maybe even 640x480x256 vesrion? (I remember Indy4 for Mac 68k had 640x240x256 version)
A 256 colour mode for Falcon or TT could certainly be possible down the road, it'll require a fair amount of work making a new set of most drawing code but there's no major showstoppers I can think of.
I wouldn't tackle higher resolution though, there's just too much that assumes 320x200.
Post Reply

Return to “Games - General”