]> git.sur5r.net Git - cc65/commitdiff
TGI Implementation
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Fri, 21 Jun 2002 13:39:32 +0000 (13:39 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Fri, 21 Jun 2002 13:39:32 +0000 (13:39 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@1313 b7a2c559-68d2-44c3-8de9-860c34a00d81

libsrc/tgi/Makefile
libsrc/tgi/tgi_circle.s [new file with mode: 0644]
libsrc/tgi/tgi_clear.s [new file with mode: 0644]
libsrc/tgi/tgi_line.s [new file with mode: 0644]

index 1371089d07a8316d9302d26b2ec71a7d374474dd..e6978e7e3da816e29a0d3626f78022a40c8309ef 100644 (file)
@@ -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 (file)
index 0000000..12bc417
--- /dev/null
@@ -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 (file)
index 0000000..558f4ca
--- /dev/null
@@ -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 (file)
index 0000000..3f90ef5
--- /dev/null
@@ -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
+
+