graf.dat data access operations
The file contains 30 image13h images stored at 33 000 bytes increments. The 6-byte headers present are invalid – they need to be ignored. The dimensions of the images are hardcoded: the first 15 images are 319x100 pixels, the next 15 images are 319x99 pixels. The remaining space within a segment (33 000 - 6 bytes header - 319*100 (or 99) bytes for pixel data) is not used.
The 30 images in the file are actually 15 images, just split in "halves" (the second "half" being 1 pixel shorter): logical image consist of images i and i + 15. There's an exception to this rule: images 9 and 10 (0-based) have their second halves swapped.