Page 1 of 1

Playing from hard disk

Posted: Mon Sep 22, 2008 12:59 pm
by ppera
This is related with compatibility or is in some way compatibility issue too.

So, you want to get rid of from bothering with floppies, as you have some hard disk, memory card adapter with your ST(E), Falcon. But in most cases there is lot of problems, and except few games (mostly some later editions) copying from floppies to hard disk works not, or you even don't see any files on floppies.

The situations:
Best case is when game is on regular floppy, without protection, so you can simple copying files to some DIR on hard disk, and run from there.
Well, simple copying and successful running is not same: in many cases it will not work.
The problems: 1: game still wants to read files from floppy or finds not it's files
2: game crashes right after start or at some point
Reason for first is usually that game uses absolute paths pointing to drive A instead relative ones. Solution is simple in some cases: just edit executable and remove A:\ before filenames.
Similar case is when no drive letter, just backslash \ before filenames - it means that game will run only from ROOT dir of some partition. Cure is again editing of executable + directory names by need.
I did so in couple cases as Star Wars or Defender of Crown. Editing may be done with some good hex editor as HxD (free).

If you see that game reads floppy, and runs not, complains about missing main floppy or similar, there is some protection in question, most likely. Then solution may be to look for some cracked version.
Or to adapt game by self :coffe:

Usual reason for second (crash, freezing and similar) is that game is made to run from low RAM, which is occupied with hard disk driver. It happens mostly by older games. But similar problem happens too because of TOS versions. Later TOS versions use more (low) RAM, so game overwrites system what results usually in crash. It happens especially often by Falcon, which has most low RAM usage.
Solutions: running game from AUTO folder. Lowering hard disk driver cache, or using such which can run from high RAM. Using different TOS version. Using Hole.
If nothing helps some patches must be done with game.
Examples: Flight Simulator II (Sublogic) it is on unprotected floppy, and can be copied on hard drive simple, and will run from any DIR. However, it uses lower RAM, and may fail on Falcon or TOS 2.06. Running from AUTO folder is one solution

There are no files visible on floppy, or is just few of them, short ones (Sundog for example) : game is stored in non-standard way. Solution requires expert who can transfer disk content to file(s). Of course, many of such games is already filed.
But even if we copy such filed cracks to hard disk in some DIR may happen that will not work. Usual reason is that despite filing crack still uses low level floppy disk access (reason is that games 'kill' TOS in many cases due memory requirements, protection). Other reasons may be those described above.

The hard part: doing adaptations

Well, it is usually hard, and requires time, machine code knowledge, architecture (not that, but of Atari machines, TOS) knowledge.
In rare cases may be simpler.

The situations and solutions from my experience:

Games without files on floppies: need to disassemble boot sector and see what it and further parts load, where. In simple case game will load whole content at once and starts. Such was Virus. Additional problem may be copy or manual (asking for some words from manual) protection, but I will not go here about it. Then need to make loader which will place whole content at right place in RAM and start game. Examples: Carrier Command, Jimmy White Snooker.
Harder is with those ones which load from floppy during gameplay. As we don't want to bother with floppies must solve it somehow: usual way is to use RAMdisk - placing floppy content into RAM, and modifying game's loader so that it will read from RAMdisk instead floppy drive. It requires some more RAM, but it is usually not problem for hard disk owners. Examples: Xenon 2, Battle Command.
Next one is when game is on 2 or more floppies. Then we can again use RAMdisk (and need more RAM), but with additional task: finding how game knows and asks which floppy. It can be done unvisible for user, so game will never ask for floppy change (F1GP adaptation, for instance).
I curently work on new system: using part of hard disk as game cache. There we copy image file(s) of game floppies, but not under FAT filesystem, just RAW. Then with simple ACSI or IDE disk reader can load required sectors during gameplay (instead from RAMdisk). So far I did F1 GP (works with only 512KB RAM) and Purple Saturn Day- But it is easy to adapt those already RAMdisked.
Of course it requires special partitioning and some pointers to know where is reserved area on drive. It is now part of driver/partitioner under work. Benefit is lower RAM requirement (1MB should be enough for most) and possibility to run games distributed on lot of floppies (who said Dragon's Lair ? :D ).

Few words about ULS: it is shortage of Universal Loading System, and according to CJ, latest version (3.1) allows hard disk adaptation of games in 10 minutes. Well, it is not so universal - good for some cracks, using so called DMA loader - actually such cracks where original low level floppy read is replaced with load of files. But it is not suitable for games which are cracked different, and even less suitable for games which use regular Trap functions. Whole point of ULS is RAM swap, and usage of hard disk driver even if low RAM is occupied with game. It is all fine, and good for many cracks and games not using TOS, but there is a lot of games which requires different hard disk adaptation. Many game runs in low RAM and does not only file calls but other TOS calls, but ULS supports not them. So, name is too pretendious.
I constantly need some new systems to make games hard disk playable - always find some new, often stoopid, weird loading systems.

WEBpage version of this: http://ppera.07x/atari/playfhd.html

Some RAM allocation diagrams and other, related: http://ppera.07x/atari/plafh.html

Re: Playing from hard disk

Posted: Fri Oct 17, 2008 12:03 pm
by ppera
Just to add here that we have a lot of hard disk playable games from old times (1992) - thanx to Superior.
Look their menu disks, especially those with # over 110. More about it is in thread about FFLS.

How to make things easier - partitions, settings

Posted: Mon Nov 10, 2008 2:14 pm
by ppera
Reading diverse posts on diverse forums about problems with running from hard drives reminded me :

For gaming from hard disk very important is to have clean machine, with only absolutely necessary SW installed (loaded in RAM). That means that no any ACC, diverse CPX. mouse accelerators and similar to be in AUTO folder and ROOT DIR of active partition. Games just like clean low RAM. Even hard disk driver needs to occupy as less RAM ass possible - so set cache to minimum (it will make not faster things with modern drives anyway).
Bad way is to have only 1 partition on hard disk. Bad way is to have more partitions, but booting only from one (C).
As Atari ST boots pretty fast, it is much easier to reset machine and boot from some other partition than changing configuration by moving, renaming, deleting ACCessories, AUTO folder programs.
Hddriver supports boot from any partition, mine drivers too. I don't know about others as AHDI, Hushi, CBHD, but they are little outdated for good work with modern drives, cards.

So, best is to have some 3-14 partitions on drive (especially if drive is larger, as we have partition size limits). Hardcore gamer should have C partition for gaming, and nothing resident on it (ACC, AUTO). So, regular boot will be with clean machine.
Some more serious user may have C set for regular work, appications, and playing games from some upper partition as D, E...
Of course, those D, E ... will become C when boot from them - for that session.

Re: Playing from hard disk

Posted: Sat Mar 28, 2009 9:45 pm
Does anyone know of any games that work straight from Hard Drive without any hassle?
I'm soon to acquire an STE with 4MB and a Hard Drive ..... so I'm looking at trying to get my games running off HD.

Re: Playing from hard disk

Posted: Sun Mar 29, 2009 8:34 am
by StickHead
Hey Woodster!

I have around 150 games on my Hard Disk and only a handful need to be loaded at boot up (using a launcher program). All the others run from the desktop no problems. You can grab loads of HD games from the following:

D-Bug's ULS games (Go to 'patches')
PPera's adaptations

Many good games were HD compatible out of the box, for example: Sierra, Delphine and LucasArts point and clicks, Championship Manager, Civilization.

Other games will work providing you can find the right crack. As mentioned earlier SuperGAU were particularly good for this. If there's anything specific you want just drop me a line and I'll see if I can get my hands on a working version.

Re: Playing from hard disk

Posted: Sun Mar 29, 2009 6:55 pm
StickHead wrote:Other games will work providing you can find the right crack. As mentioned earlier SuperGAU were particularly good for this. If there's anything specific you want just drop me a line and I'll see if I can get my hands on a working version.
Thanks for that!
I'll have a look at what ST and STE games I like (and have) and get back to you on that one.
However, some that I do want to get running from HD are:

Lotus Esprit Turbo Challenge
Lotus Turbo II
Head Over Heels
Space Harrier II
Defender Of The Crown
Rainbow Islands
Super Hang On

.... so basically, the usual suspects.

Re: Playing from hard disk

Posted: Sun Mar 21, 2010 2:09 pm
by doctor_shred
There's a program called Image runner that lets you run .MSA and .ST images from a hard disk on the Atari. That way you can either make your own disk images from your original floppies or find the games online. There's a different version of the program depending on your computers TOS.