AGI/Specifications/Other/AGI256/Implementation Details

From ScummVM :: Wiki
< AGI‎ | Specifications‎ | Other
Revision as of 22:29, 16 July 2007 by Buddha^ (talk | contribs) (Added info about Nick Sonneveld's IDA databases.)
Jump to navigation Jump to search

In the original PC AGI interpreter v2.936 the engine holds the color and priority/control line information for each pixel in a 160x200 byte buffer. The color data for each pixel is held in the byte's lower 4 bits and the priority/control line data is held in the upper 4 bits.

AGI256 extends this 160x200 byte buffer to a 320x200 byte buffer so that the 256-color data is held in the right 160x200 half of the buffer and the original style 16-color and priority/control line information is held in the left 160x200 half of the buffer.

Used external info

I used Nick Sonneveld's disassemblies of various PC AGI interpreter versions when trying to figure out AGI256. Those IDA databases were highly useful for understanding. Thanks Nick. You can check out the disassemblies if you're interested at the AGI Development Site.