]> git.sur5r.net Git - cc65/commitdiff
support for assert.h in GEOS, conio bugfixes
authorizydorst <izydorst@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Sat, 27 Oct 2001 23:04:18 +0000 (23:04 +0000)
committerizydorst <izydorst@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Sat, 27 Oct 2001 23:04:18 +0000 (23:04 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@1094 b7a2c559-68d2-44c3-8de9-860c34a00d81

doc/geos.sgml
libsrc/geos/common/Makefile
libsrc/geos/common/_afailed.c [new file with mode: 0644]
libsrc/geos/conio/cursor.inc
libsrc/geos/conio/kbhit.s
libsrc/geos/conio/where.s

index 8afc08c7d653b6f9249a383b775b96fdabfb3513..a782901679dfda544b242dc1d0f4e378364c9d67 100644 (file)
@@ -47,8 +47,8 @@ will not always return the same values. In fact <tt/gotoxy/ sets current positio
 you would expect on a normal 40x25 screen, not a position that would regard current font's
 height. Both 40 and 80 columns modes are supported.
 <p>
-It is safe to use these standard includes: <tt/conio.h, dio.h, errno.h, geos.h, joystick.h,
-mouse.h, stdlib.h, string.h/
+It is safe to use these standard includes and its contents:
+<tt/assert.h, conio.h, dio.h, errno.h, geos.h, joystick.h, mouse.h, stdlib.h, string.h/
 <p>
 I am an assembler programmer and GEOSLib was designed in such way that cc65 could emit the best
 available code (well, the best as for machine :). Many of the <tt/void foo (void)/ functions are
@@ -217,7 +217,7 @@ This draws on screen rectangle filled with current pattern.
 <p>
 <tt/void FrameRectangle (char pattern)/
 <p>
-This one draws frame with given line pattern.
+This one draws frame with given bit pattern (not a pattern from GEOS palette).
 
 <sect3>InvertRectangle
 <p>
@@ -273,7 +273,7 @@ number as set in <tt/SetPattern/ but a true bit pattern.
 <tt/void DrawLine (struct window *myWindow)/
 <p>
 <tt/top/ parameters of <tt/struct window/ describe the starting point of the line, while
-<tt/bottom/ are for the ending point. Current pattern is used for drawing.
+<tt/bottom/ are for the ending point. Current pattern from <tt/SetPattern/ is used for drawing.
 
 <sect2>Point Functions
 <p>
index 8bea80e583ae2d79165196f07bfee59af2feaae9..a7f9d5ddd286771325e56de05ff173f9b8a1dbea 100644 (file)
@@ -10,7 +10,7 @@
 %.o:   %.s
        @$(AS) -o $@ $(AFLAGS) $<
 
-C_OBJS = abort.o perror.o
+C_OBJS = _afailed.o abort.o perror.o
 S_OBJS = copydata.o memcpy.o memset.o rand.o
 
 all: $(C_OBJS) $(S_OBJS)
diff --git a/libsrc/geos/common/_afailed.c b/libsrc/geos/common/_afailed.c
new file mode 100644 (file)
index 0000000..1d42d5b
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+ * _afailed.c
+ *
+ * Maciej 'YTM/Elysium' Witkowiak 28.10.2001
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <geos.h>
+
+void _afailed (char* file, unsigned line)
+{
+
+    drawWindow.top = 0;
+    drawWindow.left = 0;
+    drawWindow.bot = 15;
+    drawWindow.right = 150;
+    dispBufferOn = ST_WR_FORE|ST_WR_BACK;
+    SetPattern(0);
+    Rectangle();
+    FrameRectangle(0xff);
+
+    PutString(CBOLDON "file: ", 10, 10);
+    PutString(file, 10, r11);
+    PutString(CBOLDON "  line: ", 10, r11);
+    PutDecimal(0, line, 10, r11);
+
+    DlgBoxOk(CBOLDON "ASSERTION FAILED", "PROGRAM TERMINATED" CPLAINTEXT);
+
+    exit (2);
+}
index 88c61a835f47ec70b62727ff71c3f4e89ce7419e..178c859bbd546b8aceed38da94ec2fc0946a6a80 100644 (file)
@@ -4,7 +4,6 @@
 ;
 ; 27.10.2001
 
-SCREEN_PTR     = $D1           ; Pointer to current char in text screen
 cursor_x       = $D3           ; Cursor column (word)
 cursor_y       = $D5           ; Cursor row
 cursor_flag    = $D6           ; cursor on/off (0-off)
index 4f065cdfee786be539ed411da232f22c28a1006f..5786d0aeec5dd2acc215c864465e3dfbee66f4c2 100644 (file)
@@ -9,7 +9,6 @@
            .export _kbhit
            .import return0, return1
 
-           .include "../inc/jumptab.inc"
            .include "../inc/geossym.inc"
 
 _kbhit:
index 3c5767954ed3283f58768eec4ce841ece5cb3514..8ba44e94efc71287a6dda094d5c1b93c410a72c5 100644 (file)
@@ -17,7 +17,7 @@ _wherex:    lda cursor_x
            sta tmp1
            lda cursor_x+1
            sta tmp2
-           lda #tmp1
+           ldx #tmp1
            ldy #3
            jsr DShiftRight
            lda tmp1