YRES .word 1 ; Y resolution
COLORCOUNT .byte 1 ; Number of available colors
PAGECOUNT .byte 1 ; Number of screens available
- FONTWIDTH .byte 1 ; System font width
- FONTHEIGHT .byte 1 ; System font height
+ FONTWIDTH .byte 1 ; System font width in pixel
+ FONTHEIGHT .byte 1 ; System font height in pixel
ASPECTRATIO .word 1 ; Fixed point 8.8 format
+ FLAGS .byte 1 ; TGI driver flags
.endstruct
JUMPTAB .struct
INSTALL .addr ; INSTALL routine
;------------------------------------------------------------------------------
; The TGI API version, stored at TGI_HDR_VERSION
-TGI_API_VERSION = $03
+TGI_API_VERSION = $04
+
+;------------------------------------------------------------------------------
+; Bitmapped tgi driver flags, stored in TGI_HDR::VARS::FLAGS.
+; Beware: Some of the bits are tested using the BIT instruction, so do not
+; change the values without checking the code!
+
+TGI_BM_FONT_FINESCALE = $80 ; Bitmap fonts are fine grained scalable
;------------------------------------------------------------------------------
; Text constants
.byte 7 ; System font X size
.byte 8 ; System font Y size
.word $00EA ; Aspect ratio (based on 4/3 display)
+ .byte 0 ; TGI driver flags
; Next comes the jump table. With the exception of IRQ, all entries must be
; valid and may point to an RTS for test versions (function not implemented).
.byte 8 ; System font X size
.byte 8 ; System font Y size
.word $0198 ; Aspect ratio (based on 4/3 display)
+ .byte 0 ; TGI driver flags
; Next comes the jump table. With the exception of IRQ, all entries must be
; valid and may point to an RTS for test versions (function not implemented).
; Done, reset the error code
lda #TGI_ERR_OK
beq :+ ; Branch always
-
+
; Done, set the error code
err: lda #TGI_ERR_INV_ARG
: sta ERROR
.byte 8 ; System font X size
.byte 8 ; System font Y size
.word aspect ; Aspect ratio
+ .byte 0 ; TGI driver flags
; Function table
xsize: .byte 6 ; System font X size
.byte 8 ; System font Y size
.word $011C ; Aspect ratio (based on 4/3 display)
+ .byte 0 ; TGI driver flags
; Next comes the jump table. Currently all entries must be valid and may point
; to an RTS for test versions (function not implemented).
.byte 8 ; System font X size
.byte 8 ; System font Y size
.word $006A ; Aspect ratio (based on 4/3 display)
+ .byte 0 ; TGI driver flags
; Next comes the jump table. Currently all entries must be valid and may point
; to an RTS for test versions (function not implemented).
.byte 8 ; System font X size
.byte 8 ; System font Y size
.word $0100 ; Aspect ratio (based on 4/3 display)
+ .byte 0 ; TGI driver flags
; Next comes the jump table. Currently all entries must be valid and may point
; to an RTS for test versions (function not implemented).
.byte 8 ; System font X size
.byte 8 ; System font Y size
.word $00D4 ; Aspect ratio (based on 4/3 display)
+ .byte 0 ; TGI driver flags
; Next comes the jump table. With the exception of IRQ, all entries must be
; valid and may point to an RTS for test versions (function not implemented).
.byte 8 ; System font X size
.byte 8 ; System font Y size
aspect: .word $00D4 ; Aspect ratio (based on 4/3 display)
+ .byte 0 ; TGI driver flags
; Next comes the jump table. With the exception of IRQ, all entries must be
; valid, and may point to an RTS for test versions (function not implemented).
.byte 8 ; System font X size
.byte 8 ; System font Y size
.word $0100 ; Aspect ratio (square pixel LCD)
+ .byte TGI_BM_FONT_FINESCALE ; TGI driver flags
; Next comes the jump table. Currently all entries must be valid and may point
; to an RTS for test versions (function not implemented). A future version may
.byte 2 ; System font X size
.byte 2 ; System font Y size
.word $100 ; Aspect ratio
+ .byte 0 ; TGI driver flags
; Next comes the jump table. Currently all entries must be valid and may point
; to an RTS for test versions (function not implemented).
_tgi_fontwidth: .res 1 ; System font width in pixels
_tgi_fontheight: .res 1 ; System font height in pixels
_tgi_aspectratio: .res 2 ; Aspect ratio in 8.8 fixed point
+_tgi_flags: .res 1 ; TGI driver flags
.data