]> git.sur5r.net Git - cc65/blobdiff - asminc/tgi-kernel.inc
Fixed _textcolor definition.
[cc65] / asminc / tgi-kernel.inc
index f48eea6d4d1936f16657136a9af590e4351df8f3..fba78afff51d2d0b52dd88cb2a7ea73d84213b1e 100644 (file)
@@ -6,7 +6,7 @@
 ;*                                                                           */
 ;*                                                                           */
 ;*                                                                           */
-;* (C) 2002-2009, Ullrich von Bassewitz                                      */
+;* (C) 2002-2012, Ullrich von Bassewitz                                      */
 ;*                Roemerstrasse 52                                           */
 ;*                D-70794 Filderstadt                                        */
 ;* EMail:         uz@cc65.org                                                */
 .struct TGI_HDR
         ID                  .byte   3   ; Contains 0x74, 0x67, 0x69 ("tgi")
         VERSION             .byte   1   ; Interface version
+        LIBREF              .addr       ; Library reference
         VARS                .struct
             XRES            .word   1   ; X resolution
             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
             UNINSTALL       .addr       ; UNINSTALL routine
             INIT            .addr       ; INIT routine
             DONE            .addr       ; DONE routine
-            GETERROR               .addr       ; GETERROR routine
+            GETERROR        .addr       ; GETERROR routine
             CONTROL         .addr       ; CONTROL routine
             CLEAR           .addr       ; CLEAR routine
             SETVIEWPAGE     .addr       ; SETVIEWPAGE routine
             BAR             .addr       ; BAR routine
             TEXTSTYLE       .addr       ; TEXTSTYLE routine
             OUTTEXT         .addr       ; OUTTEXT routine
-            IRQ             .addr       ; IRQ routine
         .endstruct
 .endstruct
 
 ;------------------------------------------------------------------------------
 ; The TGI API version, stored at TGI_HDR_VERSION
 
-TGI_API_VERSION         = $03
+TGI_API_VERSION         = $06
 
 ;------------------------------------------------------------------------------
-; Color and text constants
+; 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_COLOR_BLACK         = 0
-TGI_COLOR_WHITE         = 1
+TGI_BM_FONT_FINESCALE   = $80           ; Bitmap fonts are fine grained scalable
+
+;------------------------------------------------------------------------------
+; Text constants
 
 TGI_FONT_BITMAP         = 0
 TGI_FONT_VECTOR         = 1
@@ -89,28 +94,55 @@ TGI_FONT_VECTOR         = 1
 TGI_TEXT_HORIZONTAL     = 0
 TGI_TEXT_VERTICAL       = 1
 
+;----------------------------------------------------------------------------
+; Results of tgi_outcode
+
+TGI_CLIP_NONE           = $00
+TGI_CLIP_LEFT           = $01
+TGI_CLIP_RIGHT          = $02
+TGI_CLIP_BOTTOM         = $04
+TGI_CLIP_TOP            = $08
+
+;------------------------------------------------------------------------------
+; ASM accessible color constants
+
+        .global tgi_color_black:zp      ; Target-specific value for black
+        .global tgi_color_white:zp      ; Target-specific value for white
+
 ;------------------------------------------------------------------------------
-; Variables
+; C accessible variables
 
-       .global _tgi_drv                ; Pointer to driver
-       .global _tgi_error              ; Last error code
+        .global _tgi_drv                ; Pointer to driver
+        .global _tgi_error              ; Last error code
         .global _tgi_gmode              ; Flag: graphics mode active
         .global _tgi_curx               ; Current drawing cursor X
         .global _tgi_cury               ; Current drawing cursor Y
         .global _tgi_color              ; Current drawing color
         .global _tgi_font               ; Which font to use
         .global _tgi_textdir            ; Current text direction
+        .global _tgi_vectorfont         ; Pointer to vector font
         .global _tgi_textscalew         ; Text magnification for the width
         .global _tgi_textscaleh         ; Text magnification for the height
         .global _tgi_charwidth          ; Width of scaled system font char
         .global _tgi_charheight         ; Height of scaled system font char
         .global _tgi_xres               ; X resolution of the current mode
         .global _tgi_yres               ; Y resolution of the current mode
+        .global _tgi_xmax               ; Maximum X coordinate
+        .global _tgi_ymax               ; Maximum Y coordinate
         .global _tgi_colorcount         ; Number of available colors
         .global _tgi_pagecount          ; Number of available screen pages
         .global _tgi_fontwidth          ; System font width
         .global _tgi_fontheight         ; System font height
         .global _tgi_aspectratio        ; Aspect ratio, fixed point 8.8
+        .global _tgi_flags              ; TGI driver flags
+
+;------------------------------------------------------------------------------
+; ASM accessible variables
+
+        .global tgi_clip_x1             ; Coordinate for line clipper
+        .global tgi_clip_y1             ; Coordinate for line clipper
+        .global tgi_clip_x2             ; Coordinate for line clipper
+        .global tgi_clip_y2             ; Coordinate for line clipper
 
 ;------------------------------------------------------------------------------
 ; Driver entry points
@@ -119,7 +151,7 @@ TGI_TEXT_VERTICAL       = 1
         .global tgi_uninstall
         .global tgi_init
         .global tgi_done
-       .global tgi_geterror
+        .global tgi_geterror
         .global tgi_control
         .global tgi_clear
         .global tgi_setviewpage
@@ -138,14 +170,18 @@ TGI_TEXT_VERTICAL       = 1
 ;------------------------------------------------------------------------------
 ; ASM functions
 
+        .global tgi_clear_ptr
+        .global tgi_clippedline
+        .global tgi_curtoxy
         .global tgi_getset
+        .global tgi_imulround
         .global tgi_inv_arg
         .global tgi_inv_drv
         .global tgi_linepop
-        .global tgi_set_ptr
+        .global tgi_outcode
         .global tgi_popxy
         .global tgi_popxy2
-        .global tgi_curtoxy
+        .global tgi_set_ptr
 
 ;------------------------------------------------------------------------------
 ; C callable functions
@@ -156,6 +192,7 @@ TGI_TEXT_VERTICAL       = 1
         .global _tgi_clear
         .global _tgi_done
         .global _tgi_ellipse
+        .global _tgi_getaspectratio
         .global _tgi_getcolor
         .global _tgi_getcolorcount
         .global _tgi_getdefpalette
@@ -167,27 +204,30 @@ TGI_TEXT_VERTICAL       = 1
         .global _tgi_getpagecount
         .global _tgi_getpalette
         .global _tgi_getpixel
+        .global _tgi_gettextheight
+        .global _tgi_gettextwidth
         .global _tgi_getxres
         .global _tgi_getyres
         .global _tgi_gotoxy
         .global _tgi_imulround
         .global _tgi_init
         .global _tgi_install
+        .global _tgi_install_vectorfont
         .global _tgi_ioctl
         .global _tgi_line
         .global _tgi_lineto
-        .global _tgi_load
         .global _tgi_load_driver
         .global _tgi_outtext
         .global _tgi_outtextxy
+        .global _tgi_pieslice
+        .global _tgi_setaspectratio
         .global _tgi_setcolor
         .global _tgi_setdrawpage
         .global _tgi_setpalette
         .global _tgi_setpixel
+        .global _tgi_settextdir
+        .global _tgi_settextscale
+        .global _tgi_settextstyle
         .global _tgi_setviewpage
-        .global _tgi_textheight
-        .global _tgi_textscale
-        .global _tgi_textstyle
-        .global _tgi_textwidth
         .global _tgi_uninstall
         .global _tgi_unload