author: bocianu bocianu@gmail.com
Set of useful constants and methods, to customize display lists for the Atari 8-bit.
This library is a part of 'blibs' - set of custom Mad-Pascal libraries.
https://gitlab.com/bocianu/blibs
| name: | value: | description: |
|---|---|---|
| DL_BLANK1 | 0 | 1 blank line |
| DL_BLANK2 | %00010000 | 2 blank lines |
| DL_BLANK3 | %00100000 | 3 blank lines |
| DL_BLANK4 | %00110000 | 4 blank lines |
| DL_BLANK5 | %01000000 | 5 blank lines |
| DL_BLANK6 | %01010000 | 6 blank lines |
| DL_BLANK7 | %01100000 | 7 blank lines |
| DL_BLANK8 | %01110000 | 8 blank lines |
| DL_DLI | %10000000 | Order to run DLI |
| DL_LMS | %01000000 | Order to set new memory address |
| DL_VSCROLL | %00100000 | Turn on vertical scroll on this line |
| DL_HSCROLL | %00010000 | Turn on horizontal scroll on this line |
| DL_MODE_40x24T2 | 2 | Antic Modes |
| DL_MODE_40x24T5 | 4 | |
| DL_MODE_40x12T5 | 5 | |
| DL_MODE_20x24T5 | 6 | |
| DL_MODE_20x12T5 | 7 | |
| DL_MODE_40x24G4 | 8 | |
| DL_MODE_80x48G2 | 9 | |
| DL_MODE_80x48G4 | $A | |
| DL_MODE_160x96G2 | $B | |
| DL_MODE_160x192G2 | $C | |
| DL_MODE_160x96G4 | $D | |
| DL_MODE_160x192G4 | $E | |
| DL_MODE_320x192G2 | $F | |
| DL_JMP | %00000001 | Order to jump |
| DL_JVB | %01000001 | Jump to begining |
| name: | type: | description: |
|---|---|---|
| DL_address | word | contains memory of Display List |
| DL_cursor | byte | contains position of modification cursor |
| name: | description: |
|---|---|
| DL_Init | procedure DL_Init(address:word);Initializes new empty Display List at desired address. Sets DL_cursor at 0.
parameters: |
| DL_Push | procedure DL_Push(value:byte);overload;Pushes single byte value into Display List at DL_cursor position. Moves cursor one byte forward. Use it to set with mode lines and blanks.
parameters: |
| DL_Push | procedure DL_Push(value, count:byte);overload;Pushes multple bytes with single value into Display List at DL_cursor position. Moves cursor to position of first byte after added values. Use it to set multiple mode lines and blanks.
parameters: |
| DL_Push | procedure DL_Push(address: word);overload;Pushes address value into Display List at DL_cursor position. Moves cursor two bytes forward.
parameters: |
| DL_Push | procedure DL_Push(value: byte; address: word);overload;Pushes byte value and address value into Display List at DL_cursor position. Moves cursor three bytes forward. Use with DL_LMS and jump orders.
parameters: |
| DL_Start | procedure DL_Start;Order ANTIC to use currently defined Display List. |
| DL_Attach | function DL_Attach:word;Attaches to current (system) Display List. Sets modification pointer at 0, so next DL_Push overwrites first byte of Display List.
returns: |
| DL_Seek | function DL_Seek(offset:byte):byte;Moves DL_cursor to desired position, and returns byte value stored at this offset.
parameters:returns: |
| DL_SeekW | function DL_SeekW(offset:byte):word;Moves DL_cursor to desired position, and returns word value stored at this offset.
parameters:returns: |
| DL_Find | function DL_Find(val: byte):byte;Tries to find desired value in Display List starting from DL_cursor. It checks only first 255 bytes of DL. Returns offset of first found element, or $ff (255) if not found.
parameters:returns: |
| DL_Poke | procedure DL_Poke(offset: byte; val: byte);Moves DL_cursor to desired position, and puts a byte value at this offset.
parameters: |
| DL_PokeW | procedure DL_PokeW(offset: byte; val: word);Moves DL_cursor to desired position, and puts a word value at this offset.
parameters: |