Updating Atari ST(E) game running from hard disk (now rather Flash card) - new data access systems
I deal with Atari ST(E) games adapting for playing them from hard disks
(Flash cards) since 1992 (when used first time 40 MB hard disk with my
ST expanded to 2.5 MB). Then I dealt with some games to be able to run
them from hard disk. Much
more activity with it was since 2007, and Steem Debugger was big help
in it - makes whole process (tracing, debugging in first place much
more efficient and faster). So, until now over 1700 games adapted
by me. In meantime developed diverse helping systems for it. One of
most important ones is TOS in RAM. Used TOS 1.04, first only GEMDOS
part of it, and that was good for games starting from AUTO folder, or
with bootsector code. Actually biggest %-age of ST games is such. And
using same TOS version (1.04) helps a lot in compatibity problems too.
Later solved running whole TOS 1.04 in RAM, for games using GEM/AES.
That's HAGE system, and uses ST floppy images, which can be with much
larger capacity - even over 4 MB, so can put content of multiple
floppies in one image. Bye disk swapping :-) HAGA, HAGE, HAG2
uses original TOS (built in Atari) and hard disk driver what is
installed when some disk access needed. And that means need for
swapping RAM content of game and original TOS (what is saved up before
game start). That process is slower, and activates more on machines
with 1 MB RAM. Actually, that concept was used first time in Amiga WHDL
. Then some buggers took concept and made so called ULS for Atari ST.
But there is no any support in it for TOS function using games (about
65% of games) - so where is universality ? Even worse, CJ talks about
that I stole ULS code, and used it in my systems. Sure moron, you
can say whatever you want. Well, I still can improve some things,
instead talking BS and attacking those who can do it better.
And now introducing latest development - HAGE without accessing disk by
using built in TOS, so no need for huge RAM content swaps. How it
is possible ? There is special shorter TOS 1.04 part in high RAM,
only for hard disk access. I actually used that system since 2009 in
Gamex system, and it was pretty fast and straight. Now it is
combined with HAGE, HAG2 and HAGA . This works only with my
driver, and no plans to make it using other drivers - the reason is low
RAM usage of my driver and some special features (like fully
relocatible code) . So, when disk access is needed, will activate
that short TOS in RAM for getting needed data - usually from ST floppy
image with game files, data. It goes very fast and no need
for cache . So, it can work very fast even on machines with 1 MB RAM.
And yes, it us used for state saves too. No more fading/flashing by
disk access. Here to add that this disk
access short TOS in RAM is actually iTOS expanded, so can handle even
larger partitions (max 1 GB and max 30 of them), so good for iTOS (with
proper driver) . From now images with plenty of adaptations
will be with this new systems - well, of course not all games. I will
gradually add new system versions - some may need only minimal
corrections, some more of it ...
Couple demo videos - running new system with only 1 MB RAM in Atari :
Video playback with Atari STE - there is page about it on my site: Video pb So,
I came on idea to add videos of gameplay to compilation - well,
probably will do it mostly for less known games, so people can see how
it looks, plays .. LAVP2 should be good for it, and I tested with
new SD card adapters SD4ST and ACSI2STM. Sadly, they are not
enough fast for 320x200 px, 16 colors and 25 fps . Actually, even
UltraSatan was not good with all SD cards. So, I decided to go on 12.5 fps instead 25 - that's still pretty good for 99% games (screen refresh rate is not so high). Modded
player program for Atari STE (btw. it works on STs too, just no sound)
. Also modded program for putting together LAV file (version 4 - for
12.5 fps and 6.258 KHz audio), made 4 videos of gameplay, and it works
fine on real Mega STE . More time went on solving good
quality, sharp 320x200 px vid with 16 colors (in 1 frame).
Capturing Atari's analog video output is not good way, because no
clear separation of pixels. When want to convert it back to 16 colors
per frame colors are just not proper, mostly saturation is low, and not
so clean pic. Not unexpected. So, I went on capturing from
emulator in Windows - Steem, of course. New problem: what screen
capturing SW ? I used Fraps earlier, but it works not in W8.1. Looked
some freeware Win screen capture SW, and it was just that none worked
well, some even could not set to capture sound. So, I
remembered that I have Virtual Dub screen capture , and tried with it -
and yess ! it works very well - little harder to set all properly, but
then - it is practically perfect. Just to add that emulator is
set unusually to not stretching low res video, so pic. is pretty small
on hi-res monitor. And can crop very well just Atari screen part when
processing video with VDub - details about it are on page linked above.
Also extracting audio, what then can be converted to proper sample rate
and format with Audacity, for instance. All in all, little more
work, as need to use diverse programs, conversions. But at the and
quality is really good, colors are faithful. How it looks can see: