Gaming from hard disk on Atari ST and compatibles
This is not something special - using modern storage
with old micros is 'in' in last decade. Spreading of Flash
storage medias as Compact Flash and SD cards just uplifted it.
So, we have now diverse interfaces for all popular old micros.
Myself designed first 8-bit IDE IF for Sinclair Spectrum, some
Atari ST hard disk interfaces and later CF version of 8-bit IF.
With Atari ST serial Satandisk and UltraSatan are most popular.
While US is not too cheap, cards are - you can buy for 10 Euros
4GB SD or CF card. Enough for all Atari ST games, believe me.
But above is just theory - most of games will not work from
your SD card. Well, situation is actually better: most of quality
games WILL work - because they are already fixed (adapted, patched)
for running from some hard disk.
Whole gaming from hard disk issue is pretty complex matter, and I
will try to give here some clues, for people interested about more
than just "is it work on my Atari" .
Why it is so complicated on Atari ST, TT, Falcon ?
Because most of games were coded for working from floppies
only. Because of changes in TOS versions, bad coding and even
bugs in games etc. TT, Falcon is special problem: they are not
100% compatible - CPU is main difference, but there are others too.
Little statistic: about 67 % of Atari ST games use TOS calls for
disk access and rest 33% use own code for as said floppy only
access. Some people claimed different ratio, but what I wrote is
based on examining about 600 games.
We could expect that by TOS calling games we can simple copy
all files on hard disk and run them. It works in couple % only.
Even after removing all copy protections. Usual reasons are:
files are prefixed with A:\ or similar. Code is not relocatible in
RAM, and will crash if there is hard disk driver (or just higher
TOS version, taking more low RAM) . So, we need to do some
measures. It can be changing gamecode self - what is hardest
and slowest way. Better is to give same environment to game,
as it is when runs from floppy. It includes freeing low RAM for
game, assign hard disk partitions to logical A, etc.
Floppy Image Runner is SW what can install floppy image (ST, MSA)
as RAMdisk assigned to A, so many games will then run from hard disk.
But it is not good for multifloppy games.
I developed more advanced solution, called GOS. It is actually TOS 1.04
core, modded and reassembled so that can run in High RAM, with hard
disk driver also in High RAM. It solves RAM conflict and TOS compatibility
problems. There is Falcon, TT version of it. Only real flaw is that no support
of 1GB Falcon partitions, as TOS 1.04 can max 512MB.
So much about TOS calling games. Games with direct floppy access need
more work in most of cases. Work from hard disk is possible only by changes
in gamecode. It may be relative easy, but may be pretty hard - I saw a lot
of very strange, inefficient, overcomplicated floppy loaders.
Then, copy protections, checksums make it even harder. And we have RAM
conflict too. TOS has hardcoded workspace for lowest RAM space - it is
about 40KB, but higher TOS versions take more. To achieve disk access during
gameplay we need to resolve RAM conflict and some other problems as interrupts,
MFP etc. I will not go here in more details and all possible solutions. All what can
say is that there are more ways. Every has its goods and bads.
More can read at -
http://forum.8bitchip.info FAQ section.
Development is not finished: I working currently on HAGA (HArddisk Gaming Atari).
The goal is to give solution for most of people, configurations. In way somekind similar
to WHDLoad - by using few library files for common functions (by WHDLaad it is Master).
I started with it already by GOS. The benefits are smaller launchers, easier to code, and
easier update - you need only to replace 1 file in libDIR.
So far, you can play Space Ace, Dragon's Lair serial on your ST(E), Mega ST(E), TT,
Falcon, with any decent hard disk driver, 1GB Falcon partitions too. With fast loadings,
even with only 1MB RAM.
Future plans for HAGA are: TOS dep. game support, statesaves, and of course more games.
I could finish this here. However, experiences say that we can expect here some writings
about data loss, stolen code and similar crap. Or that my SW damaged some machine. But we know that SW can not damage HW. I can say to people involved in such: prove it, give concrete evidences. Improve your solutions, instead spreading crap and poisoning community.
We are most likely in last decade of using old Atari machines. They will stop working gradually. Or become unreliable (2 of my Ataris are already such). And we can not do much against. So, enjoy until can, and try to learn little while...