REMINDER - Stay logged in for at least 2 hours a week to get whitelisted.
Also it helps build a picture where our "good traffic" is coming from for detection scripts.
:o)

WIP Atari ST ScummVM-lite

Our top picks of ST games!
User avatar
exxos
Site Admin
Site Admin
Posts: 28601
Joined: 16 Aug 2017 23:19
Location: UK

Re: WIP Atari ST ScummVM-lite

Post by exxos »

agranlund wrote: 18 Apr 2020 19:08 Speech and digital sound effects through the YM2149 :geek:
That is pretty sweet! :thumbup:
terriblefire
Admin sponsor
Admin sponsor
Posts: 5687
Joined: 28 Aug 2017 22:56
Location: Glasgow, UK

Re: WIP Atari ST ScummVM-lite

Post by terriblefire »

Can I get a copy?
———
"It is not necessarily a supply voltage at no load, but the amount of current it can provide when touched that
indicates how much hurting you shall receive."
User avatar
PhilC
Moderator
Moderator
Posts: 7494
Joined: 23 Mar 2018 20:22

Re: WIP Atari ST ScummVM-lite

Post by PhilC »

terriblefire wrote: 18 Apr 2020 20:08 Can I get a copy?
Yeah, its rude not to share :lol: :dualthumbup:
If it ain't broke, test it to Destruction.
wietze
Posts: 57
Joined: 07 Oct 2018 17:27

Re: WIP Atari ST ScummVM-lite

Post by wietze »

This is very interesting and fun! How realistic is it to hope for a stock 4mb STE version?
terriblefire
Admin sponsor
Admin sponsor
Posts: 5687
Joined: 28 Aug 2017 22:56
Location: Glasgow, UK

Re: WIP Atari ST ScummVM-lite

Post by terriblefire »

wietze wrote: 19 Apr 2020 06:59 This is very interesting and fun! How realistic is it to hope for a stock 4mb STE version?
It looks like its struggling in places @50 Mhz and 6Mb of RAM. I dont think its even worth trying for stock.
———
"It is not necessarily a supply voltage at no load, but the amount of current it can provide when touched that
indicates how much hurting you shall receive."
User avatar
agranlund
Site sponsor
Site sponsor
Posts: 1763
Joined: 18 Aug 2019 22:43
Location: Sweden

Re: WIP Atari ST ScummVM-lite

Post by agranlund »

terriblefire wrote: 18 Apr 2020 20:08 Can I get a copy?
Absolutely. It's not really ready for github but I can for sure share some binaries for download in a day or so. With the usual caveat that it's far from done and expect issues etc etc..

I'm putting in some way of toggling some options at least, up until now I've just recompiled when testing different things.
terriblefire
Admin sponsor
Admin sponsor
Posts: 5687
Joined: 28 Aug 2017 22:56
Location: Glasgow, UK

Re: WIP Atari ST ScummVM-lite

Post by terriblefire »

agranlund wrote: 20 Apr 2020 10:35
terriblefire wrote: 18 Apr 2020 20:08 Can I get a copy?
Absolutely. It's not really ready for github but I can for sure share some binaries for download in a day or so. With the usual caveat that it's far from done and expect issues etc etc..

I'm putting in some way of toggling some options at least, up until now I've just recompiled when testing different things.
Send me a PM.. Also interested in how to get the TF into the ST and shut the case. My STFM has the CPU right down the front by the keyboard.
———
"It is not necessarily a supply voltage at no load, but the amount of current it can provide when touched that
indicates how much hurting you shall receive."
User avatar
agranlund
Site sponsor
Site sponsor
Posts: 1763
Joined: 18 Aug 2019 22:43
Location: Sweden

Re: WIP Atari ST ScummVM-lite

Post by agranlund »

terriblefire wrote: 19 Apr 2020 09:17 It looks like its struggling in places @50 Mhz and 6Mb of RAM. I dont think its even worth trying for stock.
If we're talking about a proper port to Atari, or Amiga for that matter, then I absolutely agree!
Official ports, or ports where you care about not diverging code too much from mainline ScummVM, will always struggle and I would agree it's impossible to get it running on anything but really fast machines.

This is not a fault of ScummVM. It's an incredible software and it's doing things in a very sensible way for something that needs to support a lot of very different game engines, as well as work on a lot of different platforms.

I am taking the mindset of porting a specific game (well, three specific games) to Atari and in a way similar to what we would have done at work a few console generations back if we were porting something to a vastly inferior platform compared to the baseline.
Anything that slows down is fixed no matter the cost in code-cleanliness, portability or if code diverges beyond recognition from mainline.
It becomes a clean break, and it's own thing, with no plan of merging back to main.
I picked version 0.6.0 as a start because the code is faster, but uglier, compared to the newer version. Most code not needed by my three target games were removed for speed and size reasons and some bits were changed to be more like 0.2.0 since that version is faster still.

This way there is a non-moving target in terms of code, a fixed platform, and a fixed input (ok, three, but they are very similar).


ScummVM likes to keep a fixed internal representation of graphics and sound, the different interpreters are responsible for outputting to this format, and the platform layer is responsible for converting to something the target machine understands.

The sound was a good example:

MI2/INDY4/DOTT outputs 11khz,8bit mono sound effects.
ScummVM converts everything to 22khz,16bit stereo at runtime during playback.
Platform layer converts this to something the machine understands.

So my first iteration was to make the atari platform layer, it accepts ~11khz,8bit mono.
Without any other changes this was extremely slow. It had to do this conversion at runtime:
11khz,8bit,mono -> 22khz,16bit,stereo -> 11 khz,8bit,mono (see the sillyness? :D)

With the freedom of being able to do whatever I want, and caring only for these three games, my second iteration was to "simply" make scummvm's internal representation 11khz,8bit,mono, got rid of a bunch of conversion code and we're ending up with just simply copying data instead (here is potential for further optimization to get rid of even that - as well as some mixing code)


But graphics will be the big one.
Similar to sound, it goes Game -> ScummVM common format -> Platform format
The plan is of course to rewrite the ScummVM layer to work with Atari bitplane graphics internally.
Right now, anything moving or animating is doing very costly chunky->planar conversions. As well as very costly game->scumm gfx conversion and chunky drawing in the first place.


But yeah, I wouldn't hold my breath. :)
The chance of success is still very low.


I am happy even if it ends up requiring a fast accelerator.
Even happier if works fine on stock TT.
Incredibly happy if it ends up working fine on stock Falcon.
Stock ST for Monkey2 only, possibly Indy4, is the target - working towards that puts me in a mindset of treating the code in a way that will help reach more of the above goals.

I don't see memory as a problem. 4MB has to be enough and that is what I test with when I run it on an emulator.
But yeah, I'm going to have to log memory usage to be sure.
Atarian Computing
Posts: 581
Joined: 22 Aug 2017 04:27

Re: WIP Atari ST ScummVM-lite

Post by Atarian Computing »

Wow. My 260MB TT + Mach64 is volunteering to test.
User avatar
agranlund
Site sponsor
Site sponsor
Posts: 1763
Joined: 18 Aug 2019 22:43
Location: Sweden

Re: WIP Atari ST ScummVM-lite

Post by agranlund »

Does anyone here have a TT or stock Falcon?
I'd be interested in knowing if it runs on these machines... appears to work in Hatari but I'm not sure how accurate that emulator is.

(Sending you a PM Atarian Computing, but I'd be willing to bet it's not going to display on that Mach64.
It sets ST-Low resolution and grabs the screen pointer from TOS, and I assume that's a bad idea for machines with gfx card? I don't have any experience with gfx-card equipped Ataris)

Return to “GAME ZONE”

Who is online

Users browsing this forum: ClaudeBot and 2 guests