]> git.sur5r.net Git - cc65/commitdiff
Added an include file for TGI vector fonts.
authoruz <uz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Fri, 6 Nov 2009 16:00:43 +0000 (16:00 +0000)
committeruz <uz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Fri, 6 Nov 2009 16:00:43 +0000 (16:00 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@4453 b7a2c559-68d2-44c3-8de9-860c34a00d81

asminc/tgi-kernel.inc
asminc/tgi-vectorfont.inc [new file with mode: 0644]

index aca55de565eb7f719cab0a75c24ae5bc2061f589..1d5f93db96d0faf242c36248ff3e16e5e72e3efb 100644 (file)
@@ -90,7 +90,7 @@ TGI_TEXT_HORIZONTAL     = 0
 TGI_TEXT_VERTICAL       = 1
 
 ;------------------------------------------------------------------------------
-; Variables
+; C accessible Variables
 
        .global _tgi_drv                ; Pointer to driver
        .global _tgi_error              ; Last error code
@@ -106,12 +106,22 @@ TGI_TEXT_VERTICAL       = 1
         .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
 
+;------------------------------------------------------------------------------
+; 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
 
@@ -138,14 +148,15 @@ TGI_TEXT_VERTICAL       = 1
 ;------------------------------------------------------------------------------
 ; ASM functions
 
+        .global tgi_clippedline
+        .global tgi_curtoxy
         .global tgi_getset
         .global tgi_inv_arg
         .global tgi_inv_drv
         .global tgi_linepop
-        .global tgi_set_ptr
         .global tgi_popxy
         .global tgi_popxy2
-        .global tgi_curtoxy
+        .global tgi_set_ptr
 
 ;------------------------------------------------------------------------------
 ; C callable functions
diff --git a/asminc/tgi-vectorfont.inc b/asminc/tgi-vectorfont.inc
new file mode 100644 (file)
index 0000000..b70adcd
--- /dev/null
@@ -0,0 +1,70 @@
+;*****************************************************************************/
+;*                                                                           */
+;*                            tgi-vectorfont.inc                             */
+;*                                                                           */
+;*                        TGI vector font definitions                        */
+;*                                                                           */
+;*                                                                           */
+;*                                                                           */
+;* (C) 2009,      Ullrich von Bassewitz                                      */
+;*                Roemerstrasse 52                                           */
+;*                D-70794 Filderstadt                                        */
+;* EMail:         uz@cc65.org                                                */
+;*                                                                           */
+;*                                                                           */
+;* This software is provided 'as-is', without any expressed or implied       */
+;* warranty.  In no event will the authors be held liable for any damages    */
+;* arising from the use of this software.                                    */
+;*                                                                           */
+;* Permission is granted to anyone to use this software for any purpose,     */
+;* including commercial applications, and to alter it and redistribute it    */
+;* freely, subject to the following restrictions:                            */
+;*                                                                           */
+;* 1. The origin of this software must not be misrepresented; you must not   */
+;*    claim that you wrote the original software. If you use this software   */
+;*    in a product, an acknowledgment in the product documentation would be  */
+;*    appreciated but is not required.                                       */
+;* 2. Altered source versions must be plainly marked as such, and must not   */
+;*    be misrepresented as being the original software.                      */
+;* 3. This notice may not be removed or altered from any source              */
+;*    distribution.                                                          */
+;*                                                                           */
+;*****************************************************************************/
+
+
+
+;------------------------------------------------------------------------------
+; Vectorfont constants
+
+TGI_VF_VERSION          = $00                   ; File version number
+TGI_VF_FIRSTCHAR        = $20                   ; First char in file
+TGI_VF_LASTCHAR         = $7E                   ; Last char in file
+TGI_VF_CCOUNT           = (TGI_VF_LASTCHAR - TGI_VF_FIRSTCHAR + 1)
+
+;------------------------------------------------------------------------------
+; TCH file header and font data structures
+
+; TCH file header
+.struct TGI_VF_HDR
+        MAGIC           .byte   3               ; "TCH"
+        VERSION         .byte   1               ; Version number
+        SIZE            .word   1               ; Font data size
+.endstruct
+
+; Font data loaded directly from file
+.struct TGI_VECTORFONT
+        TOP             .byte                   ; Height of char
+        BASELINE        .byte                   ; Character baseline
+        BOTTOM          .byte                   ; Descender
+        WIDTHS          .byte   ::TGI_VF_CCOUNT ; Char widths
+        CHARS           .word   ::TGI_VF_CCOUNT ; Pointer to character defs
+        OPS             .byte                   ; Actually dynamic
+.endstruct
+
+;------------------------------------------------------------------------------
+; C callable functions
+
+        .global _tgi_vectorchar
+
+
+