The programmer made many attempts to prevent Captive from being illegally copied. One method used was to create his own disk operating system called Ratt-DOS which reads and writes data to the storage media. Not relying on the DOS integrated into the system, this gave the programmer the complete freedom to access the files any way he wanted. But still, the files had to be found somehow in order to be retrieved. When trying to see the floppy disk directory directly from the computer, the user would receive an error instead. That's because Captive's custom directory can only be found and used by Ratt-DOS and nothing else. Captive has its directory stored and encrypted on sector 1 of the floppy disk and is 1,392 bytes long. Each disk has a checksum, label, a sort of track cluster table and file allocation table (FAT). The DirectoryThe following table is the directory of the first floppy disk for the Atari ST. The columns are defined as follow: File Name: Name of the file. The name of the file cannot exceed 12 characters.Track: The track number onto which the file starts. Ratt-DOS doesn't work by sector, so there is indeed a bit of space wasted. Side: The side number onto which the file starts. Track Span: The number of tracks occupied by the file. File Size: The size of the file once it's decompressed.
The Checksums
Master disk - Disk 1: 0x1ce20047 The same checksums are used for Captive version 1.0 and version 1.2. Captive's demo has no disk directory, therefore has no checksum. The FilesThe files are either graphics, code or a mix of both. fed_BootFileThis is the first file loaded by the system. It...
Fed_CreditsThis is the first image that appears. It is displayed while the "Bouncing lines" introduction is being loaded.This bitmap is the same on the Amiga and Atari, even though there are no music tracks on the Atari. fed_DemoThis file holds the code and images used by the "bouncing lines" introduction sequence.It's interesting to understand how the bouncing lines demo basically works. The system uses a table to know the current position of each lines (the table has 146 values, one for each line of the image) and changes the position of a line depending on the current speed of it as stored in another table (146 values as well). While the line is falling, it compares its position with the line right under it (it doesn't care less about any other line). If its position is greater, the movement speed sign of both lines is inversed; this makes the falling line (the one on top) bounce upward and the bouncing line (the one under) bounce downward because, when colliding, the line on top is always going down while the one under is always going up. Of course, the first line will also bounce at the bottom of the screen. When all lines are done bouncing, an incremental counter kicks in to determine what to do at each screen update. Case.picThe animation sequence of the case. Actually, this file has a ".pic" extension probably because 99% of it is the bitmap frames of the animation and only 1% of it is the code that handles them. The animation sequence consists of 9 frames of 320x200 each.When Captive plays this animation, it plays the following 37 frames sequence for an animation of 5.3 seconds: 9, 9, 9, 9, 9, 9, 9, 9, 8, 7, 6, 5, 5, 5, 5, 6, 7, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 7, 6, 5, 4, 3, 2, 1. fed_MapGenThe code of the map generator module.fed_MapViewThe module used while we're in space. It handles everything inside the Holamap.FederationThe code of the main module. This is where everything is happening while being on a moon or planet (inside or outside).Fed_SoundsThe sound file. Read the sound page for more information regarding this file.fed2-*.picGraphics for the doors, camera, puzzles, buttons and wall decorations. There are two different sets; set "A" is used 4 bases in a row, then set "B" for the next 4 bases.
fed3-*.picThe "A" set is for the generators, computers, shops, water, fire, wall rollers (for pushable walls) and unlockers. The "B" set is mainly identical except that the graphics are used when being outside. The lower-left side is reserved for the sky which is obviously only in the "B" set.
fed4.picThe main screen.fed5.picA bit of everything. Notice the bottom-right corner that seems to be nothing but a big yellow square. This region is used by the system to manipulate animated graphics, such as opening/closing doors or the red pixels that appear after bumping fire.fed6-*.picThe encounters.
fed7-*.picThe graphics that make up the interior of a base.
fed8.picThe graphics used to draw the droids, weapons and items.As seen here, the high organisation of the graphics allows to pack many separate graphics into a single file. Every single object, wall, encounters, or whatever visual has to be drawn depending on its location in the droids' field of view. In fact, a total of 957 different graphics are handled by the game. fed9.picThe ceilings.fed10.picThe left side is used when entering text such as droid names and computer passwords. The right side is used when showing an animation.FedAnni1.piThe frames of the animation when the droids have been destroyed.FedAnni2.piThe frames of the animation when the base has been destroyed.FedAnni3.piThe frames of the animation when Trill is rescued. |