TGI_HDR_INSTALL = TGI_HDR_JUMPTAB+0 ; INSTALL routine
TGI_HDR_DEINSTALL = TGI_HDR_JUMPTAB+2 ; DEINSTALL routine
TGI_HDR_INIT = TGI_HDR_JUMPTAB+4 ; INIT routine
-TGI_HDR_POST = TGI_HDR_JUMPTAB+6 ; POST routine
+TGI_HDR_DONE = TGI_HDR_JUMPTAB+6 ; DONE routine
TGI_HDR_CONTROL = TGI_HDR_JUMPTAB+8 ; CONTROL routine
TGI_HDR_CLEAR = TGI_HDR_JUMPTAB+10 ; CLEAR routine
TGI_HDR_SETCOLOR = TGI_HDR_JUMPTAB+12 ; SETCOLOR routine
.global _tgi_drv ; Pointer to driver
.global _tgi_error ; Last error code
+ .global _tgi_mode ; Graphics mode or zero
;------------------------------------------------------------------------------
; Driver entry points
.global tgi_install
.global tgi_deinstall
.global tgi_init
- .global tgi_post
+ .global tgi_done
.global tgi_control
.global tgi_clear
.global tgi_setcolor
/* End graphics mode, switch back to text mode. Will NOT unload the driver! */
unsigned char __fastcall__ tgi_geterror (void);
-/* Return the error code for the last operation. */
+/* Return the error code for the last operation. This will also clear the
+ * error.
+ */
void __fastcall__ tgi_clear (void);
/* Clear the screen */
* new end point.
*/
-void __fastcall__ tgi_circle (int x, int y, unsigned radius);
+void __fastcall__ tgi_circle (int x, int y, unsigned char radius);
/* Draw a circle in the current drawing color */
void __fastcall__ tgi_outtext (int x, int y, const char* text);
void* install; /* INSTALL routine */
void* deinstall; /* DEINSTALL routine */
void* init; /* INIT routine */
- void* post; /* POST routine */
+ void* done; /* DONE routine */
void* control; /* CONTROL routine */
void* clear; /* CLEAR routine */
void* setcolor; /* SETCOLOR routine */
/* TGI kernel variables */
extern tgi_drv_header tgi_drv; /* Pointer to driver */
extern unsigned char tgi_error; /* Last error code */
+extern unsigned char tgi_mode; /* Graphics mode or zero */
+
C_OBJS =
S_OBJS = tgi-kernel.o \
+ tgi_bar.o \
tgi_circle.o \
tgi_clear.o \
tgi_done.o \
tgi_geterror.o \
tgi_getmaxx.o \
tgi_getmaxy.o \
+ tgi_getpixel.o \
tgi_getxres.o \
tgi_getyres.o \
tgi_init.o \
tgi_line.o \
tgi_map_mode.o \
+ tgi_setcolor.o \
+ tgi_setpixel.o \
tgi_unload.o
--- /dev/null
+;
+; Ullrich von Bassewitz, 21.06.2002
+;
+; void __fastcall__ tgi_bar (int x1, int y1, int x2, int y2);
+; /* Draw a bar (a filled rectangle) using the current color */
+
+
+ .include "tgi-kernel.inc"
+
+ .import popax
+ .importzp ptr1, ptr2, ptr3, ptr4
+ .export _tgi_bar
+
+_tgi_bar:
+ sta ptr4 ; Get the coordinates
+ stx ptr4+1
+ jsr popax
+ sta ptr3
+ stx ptr3+1
+ jsr popax
+ sta ptr2
+ stx ptr2+1
+ jsr popax
+ sta ptr1
+ stx ptr1+1
+
+ jmp tgi_line ; Call the driver
+
+
--- /dev/null
+;
+; Ullrich von Bassewitz, 21.06.2002
+;
+; unsigned char __fastcall__ tgi_getpixel (int x, int y);
+; /* Get the color value of a pixel */
+
+
+ .include "tgi-kernel.inc"
+
+ .import popax
+ .importzp ptr1, ptr2
+ .export _tgi_getpixel
+
+_tgi_getpixel:
+ sta ptr2 ; Get the coordinates
+ stx ptr2+1
+ jsr popax
+ sta ptr1
+ stx ptr1+1
+
+ jmp tgi_getpixel ; Call the driver
+
+
+
--- /dev/null
+;
+; Ullrich von Bassewitz, 21.06.2002
+;
+; void __fastcall__ tgi_setcolor (unsigned char color);
+; /* Set the current drawing color */
+
+
+ .include "tgi-kernel.inc"
+
+ .export _tgi_setcolor
+
+_tgi_setcolor = tgi_setcolor ; Call the driver
+
+
--- /dev/null
+;
+; Ullrich von Bassewitz, 21.06.2002
+;
+; void __fastcall__ tgi_setpixel (int x, int y);
+; /* Plot a point in the current drawing color */
+
+
+ .include "tgi-kernel.inc"
+
+ .import popax
+ .importzp ptr1, ptr2
+ .export _tgi_setpixel
+
+_tgi_setpixel:
+ sta ptr2 ; Get the coordinates
+ stx ptr2+1
+ jsr popax
+ sta ptr1
+ stx ptr1+1
+
+ jmp tgi_setpixel ; Call the driver
+