From ce02b5668c807dd89cc749990146d8942cdd8aa1 Mon Sep 17 00:00:00 2001 From: uz Date: Fri, 6 Nov 2009 16:00:43 +0000 Subject: [PATCH 1/1] Added an include file for TGI vector fonts. git-svn-id: svn://svn.cc65.org/cc65/trunk@4453 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- asminc/tgi-kernel.inc | 17 ++++++++-- asminc/tgi-vectorfont.inc | 70 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 84 insertions(+), 3 deletions(-) create mode 100644 asminc/tgi-vectorfont.inc diff --git a/asminc/tgi-kernel.inc b/asminc/tgi-kernel.inc index aca55de56..1d5f93db9 100644 --- a/asminc/tgi-kernel.inc +++ b/asminc/tgi-kernel.inc @@ -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 index 000000000..b70adcd51 --- /dev/null +++ b/asminc/tgi-vectorfont.inc @@ -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 + + + -- 2.39.2