diff --git a/libsrc/tgi/Makefile b/libsrc/tgi/Makefile index 1371089d0..e6978e7e3 100644 --- a/libsrc/tgi/Makefile +++ b/libsrc/tgi/Makefile @@ -14,6 +14,8 @@ C_OBJS = S_OBJS = tgi-kernel.o \ + tgi_circle.o \ + tgi_clear.o \ tgi_done.o \ tgi_geterror.o \ tgi_getmaxx.o \ @@ -21,6 +23,7 @@ S_OBJS = tgi-kernel.o \ tgi_getxres.o \ tgi_getyres.o \ tgi_init.o \ + tgi_line.o \ tgi_map_mode.o \ tgi_unload.o diff --git a/libsrc/tgi/tgi_circle.s b/libsrc/tgi/tgi_circle.s new file mode 100644 index 000000000..12bc41740 --- /dev/null +++ b/libsrc/tgi/tgi_circle.s @@ -0,0 +1,24 @@ +; +; Ullrich von Bassewitz, 21.06.2002 +; +; void __fastcall__ tgi_circle (int x, int y, unsigned char radius); +; /* Draw a circle in the current drawing color */ + + .include "tgi-kernel.inc" + + .import popax + .importzp ptr1, ptr2, tmp1 + .export _tgi_circle + +_tgi_circle: + sta tmp1 ; Get the coordinates + jsr popax + sta ptr2 + stx ptr2+1 + jsr popax + sta ptr1 + stx ptr1+1 + + jmp tgi_circle ; Call the driver + + diff --git a/libsrc/tgi/tgi_clear.s b/libsrc/tgi/tgi_clear.s new file mode 100644 index 000000000..558f4ca09 --- /dev/null +++ b/libsrc/tgi/tgi_clear.s @@ -0,0 +1,17 @@ +; +; Ullrich von Bassewitz, 21.06.2002 +; +; void __fastcall__ tgi_clear (void); +; /* Clear the screen */ + + .include "tgi-kernel.inc" + + .export _tgi_clear + +_tgi_clear = tgi_clear ; Call the driver + + + + + + diff --git a/libsrc/tgi/tgi_line.s b/libsrc/tgi/tgi_line.s new file mode 100644 index 000000000..3f90ef5a2 --- /dev/null +++ b/libsrc/tgi/tgi_line.s @@ -0,0 +1,29 @@ +; +; Ullrich von Bassewitz, 21.06.2002 +; +; void __fastcall__ tgi_line (int x1, int y1, int x2, int y2); +; /* Draw a line in the current drawing color */ + + + .include "tgi-kernel.inc" + + .import popax + .importzp ptr1, ptr2, ptr3, ptr4 + .export _tgi_line + +_tgi_line: + 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 + +