WIP: ScummVM-Lite Atari
Moderators: simonsunnyboy, Mug UK, Doctor Bob Gordon, ICS, Moderator Team
WIP: ScummVM-Lite Atari
I'm working on a very stripped down and specialised/bastardised version of ScummVM for Atari.
The main goal is to eventually be able to run Monkey Island 2 on an 8Mhz ST, but Indy4 and Day of the Tentacle are tagging along for the ride. These are the only three games supported.
There are already fully featured ports of ScummVM for (fast) Ataris and this is not trying to reinvent that wheel.
As I am just about to start ripping apart and rewriting the internal scummvm drawing routines in a more Atari friendly way I thought I'd at least post this preview alpha build before starting that rather large task:
http://www.happydaze.se/scummvm-lite-atari/
Keep in mind this is a very early build, and still far from playable on stock ST, but it should run fine on stock TT or similar (My TF534 accelerated 520ST runs Day of the Tentacle pretty much flawless - 68030@50Mhz, 4MB TT-RAM)
It would be interesting to hear if and how it runs on a stock Falcon. Especially MI2 or Indy4 - I'm pretty certain the DoTT intro is not going to be pleasant on stock Falcon.
I am targeting 4MB RAM but this build might work with 2MB.
(It greatly benefits from it being TT-RAM if you have it)
You need a HDD of some sort of course since the game files are big.
Video mode is 16 color ST-Low resolution.
It plays music through YM chip or Midi (MT32 or GM) - MT32 sounds best.
It plays speech/sfx using the YM chip or DMA - DMA sounds best and is faster.
There are experimental options for the B.A.T. cartridge or LPT DACs such as Covox Speech Thing but as I'm still waiting on delivery these have not yet been tested on real hardware - try on your own risk!)
I have only tested it with EmuTOS and Atari TOS. Don't know if it works with MiNT, MagiC etc..
It may (most likely will) have crashes.
I'm mostly at the Exxos forum and the WIP thread is there:
https://www.exxoshost.co.uk/forum/viewt ... =61&t=2644
Cheers and have fun!
--Anders
The main goal is to eventually be able to run Monkey Island 2 on an 8Mhz ST, but Indy4 and Day of the Tentacle are tagging along for the ride. These are the only three games supported.
There are already fully featured ports of ScummVM for (fast) Ataris and this is not trying to reinvent that wheel.
As I am just about to start ripping apart and rewriting the internal scummvm drawing routines in a more Atari friendly way I thought I'd at least post this preview alpha build before starting that rather large task:
http://www.happydaze.se/scummvm-lite-atari/
Keep in mind this is a very early build, and still far from playable on stock ST, but it should run fine on stock TT or similar (My TF534 accelerated 520ST runs Day of the Tentacle pretty much flawless - 68030@50Mhz, 4MB TT-RAM)
It would be interesting to hear if and how it runs on a stock Falcon. Especially MI2 or Indy4 - I'm pretty certain the DoTT intro is not going to be pleasant on stock Falcon.
I am targeting 4MB RAM but this build might work with 2MB.
(It greatly benefits from it being TT-RAM if you have it)
You need a HDD of some sort of course since the game files are big.
Video mode is 16 color ST-Low resolution.
It plays music through YM chip or Midi (MT32 or GM) - MT32 sounds best.
It plays speech/sfx using the YM chip or DMA - DMA sounds best and is faster.
There are experimental options for the B.A.T. cartridge or LPT DACs such as Covox Speech Thing but as I'm still waiting on delivery these have not yet been tested on real hardware - try on your own risk!)
I have only tested it with EmuTOS and Atari TOS. Don't know if it works with MiNT, MagiC etc..
It may (most likely will) have crashes.
I'm mostly at the Exxos forum and the WIP thread is there:
https://www.exxoshost.co.uk/forum/viewt ... =61&t=2644
Cheers and have fun!
--Anders
Re: WIP: ScummVM-Lite Atari
Amazing, just tried it on a stock Falcon setup (Hatari I'm afraid), and performance is on par or better with native MI1. Nice achievement!
As long as you don't do anything dirty it should work well on FreeMiNT too. And if you do, it can usually be fixed.
As long as you don't do anything dirty it should work well on FreeMiNT too. And if you do, it can usually be fixed.
Ain't no space like PeP-space.
Re: WIP: ScummVM-Lite Atari
btw what's your input/data source for the YM music?
Ain't no space like PeP-space.
Re: WIP: ScummVM-Lite Atari
Great work Agranlund
, i don't have a fast ST but i know a little TT who will be happy to try a new game 


Re: WIP: ScummVM-Lite Atari
The original midi music. It tries to be semi-clever at prioritising and fitting the input notes to the three YM channels as it plays.shoggoth wrote:btw what's your input/data source for the YM music?
As far as Scumm is concerned it's just a native midi backend.
A lot could probably be done to make it sound better (it treats all instruments exactly the same at the moment)
Edit: now that I think about it, this is probably one of the few things that could be easily integrated into the official ScummVM branch, it's generic enough and would probably work with any ScummVM game that plays midi.
Re: WIP: ScummVM-Lite Atari
Great !
I will test this after dinner, and post several results :
-Stock Falcon 030
-CT 60 Falcon
-Midi and MT 32, since i never managed to use these with regular Scummvm builds.
-Tos/Mint
I really think official Mint ports are not really optimized, since they are really slow on a CT60.
Someone sent me a special recompiled version that works really great, but unfortunately it's based on version 1.3 I think, and thus does not support as many games as the latest version does.
I will test this after dinner, and post several results :
-Stock Falcon 030
-CT 60 Falcon
-Midi and MT 32, since i never managed to use these with regular Scummvm builds.
-Tos/Mint
I really think official Mint ports are not really optimized, since they are really slow on a CT60.
Someone sent me a special recompiled version that works really great, but unfortunately it's based on version 1.3 I think, and thus does not support as many games as the latest version does.
Re: WIP: ScummVM-Lite Atari
Just for fun, i used the demo version of the games (not supported by Agranlund)
On my STe (4mb + hard drive + MT32) and they launch more or less long before intro freezing or crashing.
There is plenty of time to see what gives the 16 colors visual adaptation and the soundscape.
On my STe (4mb + hard drive + MT32) and they launch more or less long before intro freezing or crashing.
There is plenty of time to see what gives the 16 colors visual adaptation and the soundscape.

Re: WIP: ScummVM-Lite Atari
OK, here are the results of my tests :
-DOTT Falcon 030 14MB Ram, Tos
Runs fine from VGA res (no need to switch to ST res first). Intro is a bit slow but perfectly playable. And....MT32 works !!! Wow ! Never managed to get it to run on regular Scummvm builds ! MT32 volume is a bit low.
No ingame speech tho, got speech in the intro, chose dma option.
-Indy Falcon 030, Tos
Runs fine from VGA res. Intro is ok, faster than DOTT. MT32 Works too ! No speech ingame (not sure if there was originally)
-MI2 Falcon 030 Tos. Intro runs very well, MT32 works ! No speech ingame, same as above.
-DOTT Falcon 060, 512 MB Ram Tos
Runs perfectly, got speech this time.
-Indy Falcon 060, Tos
Runs perfectly, no speech.
-MI2 Falcon 060
Runs perfectly, no speech.
DOTT Falcon 060, Mint
Runs perfectly. Can't skip intro using escape key. No ingame speech (weird since it worked with 060 Tos). Can't use F5 key ingame to load/save.
Indy Falcon 060, Mint
Runs perfectly, can't skip intro, can't use ingame keys, no speech.
MI2 Falcon 060, Mint
Keys not working, so I did not manage to pass copy protection test.
This is a great achievement, and a tremendous work, thank you ! I think you could make that run on a stock st with additional ram, problematic parts would be the intro, but should run ok ingame. Is the Falcon really faster than the ST when you don't use the DSP ? :p
And you proved me that MT32 is not supported in official Scummvm port, despite they say it is, maybe you could tell what may cause this or have a quick look when you have time
Thanks again for the hard work, i'll try to test this on my unaccelerated 4MB STE if you want. I can finally listen to those wonderful MT32 musics on my Atari !
-DOTT Falcon 030 14MB Ram, Tos
Runs fine from VGA res (no need to switch to ST res first). Intro is a bit slow but perfectly playable. And....MT32 works !!! Wow ! Never managed to get it to run on regular Scummvm builds ! MT32 volume is a bit low.
No ingame speech tho, got speech in the intro, chose dma option.
-Indy Falcon 030, Tos
Runs fine from VGA res. Intro is ok, faster than DOTT. MT32 Works too ! No speech ingame (not sure if there was originally)
-MI2 Falcon 030 Tos. Intro runs very well, MT32 works ! No speech ingame, same as above.
-DOTT Falcon 060, 512 MB Ram Tos
Runs perfectly, got speech this time.
-Indy Falcon 060, Tos
Runs perfectly, no speech.
-MI2 Falcon 060
Runs perfectly, no speech.
DOTT Falcon 060, Mint
Runs perfectly. Can't skip intro using escape key. No ingame speech (weird since it worked with 060 Tos). Can't use F5 key ingame to load/save.
Indy Falcon 060, Mint
Runs perfectly, can't skip intro, can't use ingame keys, no speech.
MI2 Falcon 060, Mint
Keys not working, so I did not manage to pass copy protection test.
This is a great achievement, and a tremendous work, thank you ! I think you could make that run on a stock st with additional ram, problematic parts would be the intro, but should run ok ingame. Is the Falcon really faster than the ST when you don't use the DSP ? :p
And you proved me that MT32 is not supported in official Scummvm port, despite they say it is, maybe you could tell what may cause this or have a quick look when you have time

Thanks again for the hard work, i'll try to test this on my unaccelerated 4MB STE if you want. I can finally listen to those wonderful MT32 musics on my Atari !
Last edited by Sturm on Fri May 01, 2020 11:00 pm, edited 3 times in total.
Re: WIP: ScummVM-Lite Atari
Edit : tried DOTT a second time in 030 mode, YM music, dma, and got speech this time. This seems to be random in this game.
Re: WIP: ScummVM-Lite Atari
Pretty amazing idea you got here, i'm eager to see it running on a ST(e). 

-= Personal pages hub = YM-Rockerz =-
Re: WIP: ScummVM-Lite Atari
THIS IS AWESOME 
STE (4MB RAM) results:
Monkey: works up to the Scabb panorama with a fire (then it seems to freeze), some graphic glitches in the intro
Atlantis: after I select sound outputs, only white screen
DOTT: I could get ingame
I've also tried it with MV16 cartridge, and I got sound
(but a bit noisy, compared to STE DAC)
All works under hatari (and I could get to gameplay), so it is not that my game data is somehow corrupted
I belive you really know what you're doing, but I'd suggest preprocessing game data (and saving it to disk, so it would be done only once) into ST friendly format, so You do not have to do that ingame. I'd also suggest using diffrent dithering algorithm for each game, as they are very diffrent in style, and current seems to work quite well for Monkey Island 2, but not that great for DOTT,
Listening to Your YM MT-32 emulation now I understand how some companies created music for their ST releases

STE (4MB RAM) results:
Monkey: works up to the Scabb panorama with a fire (then it seems to freeze), some graphic glitches in the intro
Atlantis: after I select sound outputs, only white screen

DOTT: I could get ingame

I've also tried it with MV16 cartridge, and I got sound

All works under hatari (and I could get to gameplay), so it is not that my game data is somehow corrupted
I belive you really know what you're doing, but I'd suggest preprocessing game data (and saving it to disk, so it would be done only once) into ST friendly format, so You do not have to do that ingame. I'd also suggest using diffrent dithering algorithm for each game, as they are very diffrent in style, and current seems to work quite well for Monkey Island 2, but not that great for DOTT,
Listening to Your YM MT-32 emulation now I understand how some companies created music for their ST releases

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]
Adam Klobukowski [adamklobukowski@gmail.com]
Re: WIP: ScummVM-Lite Atari
I wrote an entire PC (286 + MCGA + Tandy sound) emulator just to play Monkey Island 1 in 256 colours on my Falcon.
@agranlund: Tandy/PCjr sound can easily be emulated using the YM, and it sounds more or less just like the original. If MI2 contains Tandy music, I think I have some very rudimentary YM-wrapper code for it. Note that I'm not bashing your MIDI->YM achievement, it's a rather neat feature that could potentially be the best option if you pursue that and develop it further. The Tandy road would be more of a shortcut.
Hats off for this thing. Looking forward to seeing more of it.
@agranlund: Tandy/PCjr sound can easily be emulated using the YM, and it sounds more or less just like the original. If MI2 contains Tandy music, I think I have some very rudimentary YM-wrapper code for it. Note that I'm not bashing your MIDI->YM achievement, it's a rather neat feature that could potentially be the best option if you pursue that and develop it further. The Tandy road would be more of a shortcut.
Hats off for this thing. Looking forward to seeing more of it.
Ain't no space like PeP-space.
-
- Atari Super Hero
- Posts: 926
- Joined: Thu Sep 11, 2003 10:49 pm
- Location: UK
Re: WIP: ScummVM-Lite Atari
What?!shoggoth wrote:I wrote an entire PC (286 + MCGA + Tandy sound) emulator just to play Monkey Island 1 in 256 colours on my Falcon.
Was this released?? Wish I'd known about this!
Re: WIP: ScummVM-Lite Atari (off topic)
Never released it. A few people have it. It's not very compatible, but it does MI1 very well in 256 colours on a 060 (probably also 040). It's not much fun on a stock machine. (It's about XT speed on a TT). I'd like to write a more efficient CPU core one day (or a hundred days, it's messy work).EvilFranky wrote:What?!shoggoth wrote:I wrote an entire PC (286 + MCGA + Tandy sound) emulator just to play Monkey Island 1 in 256 colours on my Falcon.
Was this released?? Wish I'd known about this!
Ain't no space like PeP-space.
Re: WIP: ScummVM-Lite Atari
Thank you all for the great feedback! It sounds like there are quite a few issues and I'm noting them down so that they can be dealt with 
Super happy to hear it works as well as it does on the stock Falcon. There is a lot that can be done to improve performace and I'm feeling cautiosly optimistic I will be able to get MI2 running fine on an 8Mhz machine.
Also amazing to hear someone tried the MV16 and that it actually worked
likewise for colors, it could do with some specialisation per game. Great suggestions
Again, I really appreciate the feedback and getting to know what works or not - I only have my 520ST to test on

Super happy to hear it works as well as it does on the stock Falcon. There is a lot that can be done to improve performace and I'm feeling cautiosly optimistic I will be able to get MI2 running fine on an 8Mhz machine.
Also amazing to hear someone tried the MV16 and that it actually worked

These are both very good suggestions and it may come down to preprocessing the data at first launch. Eventually, first iterations is going to do it runtime and use a caching system for the Atari friendly graphics. But once things are working and are fast then this is a good approach to take.AdamK wrote: I belive you really know what you're doing, but I'd suggest preprocessing game data (and saving it to disk, so it would be done only once) into ST friendly format, so You do not have to do that ingame. I'd also suggest using diffrent dithering algorithm for each game, as they are very diffrent in style, and current seems to work quite well for Monkey Island 2, but not that great for DOTT
likewise for colors, it could do with some specialisation per game. Great suggestions

Again, I really appreciate the feedback and getting to know what works or not - I only have my 520ST to test on

-
- Fuji Shaped Bastard
- Posts: 2491
- Joined: Sun Aug 03, 2014 5:54 pm
Re: WIP: ScummVM-Lite Atari
You can always use Hatari to do some quick tests. For plain 68k, cycle counting should be almost perfect. For 68030+, it might be not 100% accurate, but at least should give you a hint whether the game is playable or not.
Re: WIP: ScummVM-Lite Atari
Don't bother with Mint problems i'd say, it requires quite a powerful machine (my version only works on 060) and they're not the primary target of your program.
It works really well on Tos, unlike Scummvm.
You should really share your work with Scummvm developpers and explain how you managed to get midi to work, and optimize everything since Scummvm is pretty heavy, even for 060 machines, if you don't want or don't have time to do that yourself
It works really well on Tos, unlike Scummvm.
You should really share your work with Scummvm developpers and explain how you managed to get midi to work, and optimize everything since Scummvm is pretty heavy, even for 060 machines, if you don't want or don't have time to do that yourself

Re: WIP: ScummVM-Lite Atari
I'd have to disagree completely. Usually, it's not a big deal to make things work on MiNT, even with memory protection. Most problems are an indication that you've solved things the wrong way, and given the size of our platform it makes sense to take care of such things.Sturm wrote:Don't bother with Mint problems i'd say, it requires quite a powerful machine (my version only works on 060) and they're not the primary target of your program.
It works really well on Tos, unlike Scummvm.
You should really share your work with Scummvm developpers and explain how you managed to get midi to work, and optimize everything since Scummvm is pretty heavy, even for 060 machines, if you don't want or don't have time to do that yourself
@agranlund: If you need/want input on FreeMiNT compatibility vs this type of (fullscreen/game) application, feel free to PM or post here, I'll be happy to help out (and so will others).
Ain't no space like PeP-space.
- Eero Tamminen
- Fuji Shaped Bastard
- Posts: 3094
- Joined: Sun Jul 31, 2011 1:11 pm
Re: WIP: ScummVM-Lite Atari
MiNT issue
I think it's more about working nicely with other multitasked applications, than under MiNT. AFAIK there's no good low level support for applications that install their own IKBD handlers and want to write directly to the display for performance reasons, so that it would work nicely with other (similar) apps running in parallel, and when switching between them.
Games
If I rename the Atlantis & DOTT demos to use file names that ScummVM programs try to load, they seem to work fine:
playfate -> atlantis:
dottdemo -> tentacle:
=> Maybe if the full version file name isn't found from current folder, you could check for the demo file names?
After similar renaming, Monkey Island 2 DOS demo [1] fails in the same place it fails with the your version, as it seems to fail with full (Linux) ScummVM, so it's not a problem in your version. I'm pretty sure it worked with some earlier ScummVM version, but it not working (anymore?) is actually documented on ScummVM site: https://www.scummvm.org/demos/#lec
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).
---
[1] I had bough full Monkey Island 1 & 2 games many years ago, but have newer tried v2 it as it was Windows special edition. I've now installed it with wine, but unfortunately its *.pak files [2] contain classic game files only for Monkey Island 1 (which I already had), v2 .pak file contains only *.dxt (texture?) files. :-/
[2] https://github.com/timfel/monkey/blob/m ... tractpak.c
I think it's more about working nicely with other multitasked applications, than under MiNT. AFAIK there's no good low level support for applications that install their own IKBD handlers and want to write directly to the display for performance reasons, so that it would work nicely with other (similar) apps running in parallel, and when switching between them.
Games
If I rename the Atlantis & DOTT demos to use file names that ScummVM programs try to load, they seem to work fine:
playfate -> atlantis:
Code: Select all
$ for i in playfate.*; do mv $i atlantis${i#playfate}; done
Code: Select all
for i in dottdemo.*; do mv $i tentacle${i#dottdemo}; done
After similar renaming, Monkey Island 2 DOS demo [1] fails in the same place it fails with the your version, as it seems to fail with full (Linux) ScummVM, so it's not a problem in your version. I'm pretty sure it worked with some earlier ScummVM version, but it not working (anymore?) is actually documented on ScummVM site: https://www.scummvm.org/demos/#lec
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).
---
[1] I had bough full Monkey Island 1 & 2 games many years ago, but have newer tried v2 it as it was Windows special edition. I've now installed it with wine, but unfortunately its *.pak files [2] contain classic game files only for Monkey Island 1 (which I already had), v2 .pak file contains only *.dxt (texture?) files. :-/
[2] https://github.com/timfel/monkey/blob/m ... tractpak.c
Re: WIP: ScummVM-Lite Atari
This is a great project!
I tested the 200501 version on my stock Falcon with 14MB running MagiC using the YM + DMA option.
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.
- The games crash with 2 bombs when I start them as is under MagiC. But they work fine, when I run them in MagiC's Single Mode.
Indy 4 CD
- Works great and rather smooth complete with voice over and SFX!
- The scrolling is a bit jerky but otherwise very responsive and fully playable
- Only real performance drag so far was the scene with the statue at the beginning, which takes ages to play out
DOTT CD
- Works great with voice over and SFX as well
- Cutscenes are extremely slow as you predicted
- The game itself is fully playable though!
Monkey Island 2
- Some gfx errors in the intro but works great otherwise and is fully playable as well
I only really checked the intros and first few rooms. But all in all very impressive so far!
Any chance to add VGA support on TT and Falcon?
I tested the 200501 version on my stock Falcon with 14MB running MagiC using the YM + DMA option.
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.

- The games crash with 2 bombs when I start them as is under MagiC. But they work fine, when I run them in MagiC's Single Mode.
Indy 4 CD
- Works great and rather smooth complete with voice over and SFX!
- The scrolling is a bit jerky but otherwise very responsive and fully playable
- Only real performance drag so far was the scene with the statue at the beginning, which takes ages to play out
DOTT CD
- Works great with voice over and SFX as well
- Cutscenes are extremely slow as you predicted
- The game itself is fully playable though!

Monkey Island 2
- Some gfx errors in the intro but works great otherwise and is fully playable as well
I only really checked the intros and first few rooms. But all in all very impressive so far!
Any chance to add VGA support on TT and Falcon?

Re: WIP: ScummVM-Lite Atari
nemodhs wrote:
Any chance to add VGA support on TT and Falcon?


I have to say, it's really impressive to be able to run those games and their intros on unaccelerated Falcons, as you really need a powerful machine to run them with Scummvm.
Of course, i'd really like to have Vga support too, because it's either Scummvm with 256 colors but no midi/MT32, or your version with midi/MT32 but with 16 colors

Btw, how do you convert those VGA games to 16 colors ?
Re: WIP: ScummVM-Lite Atari
Edit 2 : Speech in Fate of Atlantis now works :
I checked the sound files, my version had "monster.sof". The right file was not easy to find, it seems every game version online has that "sof" version. I then remembered i had it in my Steam library : Bingo, it had "monster.sou"! I put that one in my game folder along with your .prg and voilà !
I have now a talkie and MT-32 version of Indy and the Fate Of Atlantis
I checked the sound files, my version had "monster.sof". The right file was not easy to find, it seems every game version online has that "sof" version. I then remembered i had it in my Steam library : Bingo, it had "monster.sou"! I put that one in my game folder along with your .prg and voilà !
I have now a talkie and MT-32 version of Indy and the Fate Of Atlantis

Re: WIP: ScummVM-Lite Atari
Indiana Jones 4 and the Fate of Atlantis brings back so many memories. Most of them going over to play them on my friend''s 286. I am still annoyed to this day that there wasn't an ST version...
Re: WIP: ScummVM-Lite Atari
After all these years, the wait is over 
I was about to make a video but saw this on Exxos' forum :
https://www.youtube.com/watch?time_cont ... =emb_title

I was about to make a video but saw this on Exxos' forum :
https://www.youtube.com/watch?time_cont ... =emb_title
Re: WIP: ScummVM-Lite Atari
Brilliant!Sturm wrote:Edit 2 : Speech in Fate of Atlantis now works :
I checked the sound files, my version had "monster.sof". The right file was not easy to find, it seems every game version online has that "sof" version. I then remembered i had it in my Steam library : Bingo, it had "monster.sou"! I put that one in my game folder along with your .prg and voilà !
I have now a talkie and MT-32 version of Indy and the Fate Of Atlantis

I bought Atlantis from GOG to get the full talkie version

Doesn't look like they have the original CD version of DOTT though.. so I'm using the floppy version for testing which at least have some speech in the beginning.
Should really take a look at finding or making a tool for converting the .sof back to .sou at some point.