IN:
DE = (optional) "dynamic" pointer to banner (if banner pointer in definition block is 0)
BHL = pointer to 7 byte window definition block (if B=0, then local pointer)
Window Defintion Block offsets:
0: A = window ID (bits 0-3). The ID is in range 1-8
bit 7=1, 6=1: Draw left & right bars, shelf brackets, banner text, bottom line
bit 7=1, 6=0: Draw left & right bars, shelf brackets, banner text
bit 7=0, 6=1: Draw left & right bars
bit 7=0, 6=0: Just create window space (no visible borders)
bit 5=1: 8 pixel inverted top banner (only evaluated with bit 7=1)
bit 5=0: 7 pixel inverted top banner (only evaluated with bit 7=1)
bit 4=1: For all windows: grey screen, then draw window to get a pop-up effect.
1: X coordinate (upper left corner) of Window (255 to center window)
2: Y coordinate (upper left corner) of Window (255 to center window)
3: WIDTH of Window (inclusive banner & bottom line)
4: HEIGHT of Window (inclusive banner & bottom line)
5: low byte, high byte address of window banner text
Only specified if bit 7 of window ID is enabled.
Set pointer to 0, if using a dynamic bannerÂ
(window with different banner each time)
OUT:
Fc = 0
Registers changed after return:
A.BCDEHL/IXIY same
.F....../.... different |