D-Bug ULSv3 (c) 2005-2009 D-Bug
Introduction1.1 What is ULS?
1.2 System Requirements
Understanding ULS2.1 Concept
2.2 ULSv3 Functions
2.3 Assembly equates
2.4 Patching into a game
Trouble Shooting3.1 Troubleshooting crashes & errors
3.2 Known problems
3.3 Revision List
1.1 What is ULS?U.L.S. (Universal Loading System) is a means by which Atari ST applications can request disk access, or system function calls when TOS is not available, as is the case with most games and demos, and therefor run from any media (Including Hard Disks). Late in 2005 D-Bug released the first few ULS patched games, and then the system went into a bit of a slumber as we continued with Falcon patching. In August 2008, the ULS code was completely re-written from the ground up, adding new functionality, using less memory, running quicker, with more stability and making it much easier to implement.
It is hoped that the release of this code will kick-start the ST hard disk adaption scene, in much the same way WHDLoad has done for the Amiga. Indeed, ULS can perform many of the functions of WHDLoad, and offer serveral exciting new ones that were previously only seem in emulators!
1.2 System RequirementsThe basic system requirements are:
An Atari of any type (ST/STF/STFm/STe/Mega/Mega2/MSTe/F030/TT)
An ST disk media of any type (ACSI, SCSI, IDE, Floppy....)
A minimum of 1mb of memory (some titles will require more)
2.1 ConceptThe basic concept of ULS is "Let GEMDOS do it all". At the start of the stubloader a "snapshot" of the lower chunk of memory is taken along with several system variables and hardware registers. ULS is then installed which then takes care of all disk access from that point on using standard GEMDOS commands to replace the low level access in the application. Hard disk access is performed via the installed driver, making ULS work with multiple drivers without requiring repartitioning or device setup.
2.2 ULSv3 Functions