Skip to content

Latest commit

 

History

History
39 lines (25 loc) · 1.9 KB

AMBRSTAR.md

File metadata and controls

39 lines (25 loc) · 1.9 KB

The main executable for the AtariST AMBRSTAR.68k contains all kind of data.

  • Layout definitions
  • Layout graphics
  • Button graphics
  • Status icons
  • Item graphics
  • Text fragments
  • Spell names
  • Class names
  • Skill names
  • Item type names
  • Other UI graphics
  • And much more

Most of the time the data was integrated by including data files into the code. For an example see https://github.com/jhorneman/amberstar/blob/main/src/LAYOUT/GRAPHICS.ASM.

If you find the offset of the first included data of the source file, you can expect that the other data is directly behind it in the same order you see in the original sources.

For the example of GRAPHICS.ASM you would find the offset of the data for Bot_corners inside AMBRSTAR.68k and can read all the following data in a sequence.

Of course all the source files were merged into one executable so some byte sequence searching might be needed to find the first offsets per source file.

Data formats

As the data comes from data files, their formats should be the same on Amiga and Atari ST. So I will document them here with their data filenames.

Layout definitions

Those were located in the files FRAME.001 to FRAME.011. They define how a layout is assembled.

There are the layout block images which are located inside the file LAYOUT.ICN. These are 16x16 4-bit planar images. The file contains 132 such images.

The layout definitions are a sequence of 220 bytes. Each is the index of a layout block image. Index 1 is the first image, index 132 would be the last one.

There are 20 such images per screen row (20*16 = 320 pixels) and 11 rows. So you have 11*20 images (thus the 220 bytes).

The first row only uses the lower 12 pixels of each image. The last row only uses the upper 7 pixels of each image. The total height is 12+9*16+7 = 163 pixels. So a layout is 320x163 pixels large and is displayed at x=0 and y=37 (right below the portrait area).