TGI Implementation

git-svn-id: svn://svn.cc65.org/cc65/trunk@1314 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz
2002-06-21 14:16:32 +00:00
parent 2614d20153
commit 7fc24b058a
8 changed files with 103 additions and 5 deletions

View File

@@ -14,17 +14,21 @@
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

29
libsrc/tgi/tgi_bar.s Normal file
View File

@@ -0,0 +1,29 @@
;
; 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

24
libsrc/tgi/tgi_getpixel.s Normal file
View File

@@ -0,0 +1,24 @@
;
; 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

14
libsrc/tgi/tgi_setcolor.s Normal file
View File

@@ -0,0 +1,14 @@
;
; 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

22
libsrc/tgi/tgi_setpixel.s Normal file
View File

@@ -0,0 +1,22 @@
;
; 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