]> git.sur5r.net Git - cc65/blobdiff - libsrc/apple2/apple2.inc
added sleep() implementation
[cc65] / libsrc / apple2 / apple2.inc
index 458d78a2ef8211e17c2963c4c2ba4ff71733affd..b4ce8c4d9aeae0e028ac84d92a48dc3b8d98e737 100644 (file)
@@ -1,22 +1,7 @@
-; Break vector
-BRKVec  = $03F0
 
-; Goto Dos
-RESTOR =       $03D0
+;-----------------------------------------------------------------------------
+; Zero page stuff
 
-; Soft switches
-;
-; write to USEROM to enable apple rom C000-CFFF
-USEROM =       $C007
-; 80 column card switches
-C80ON  =       $C00C
-C80OFF =       $C00D
-RD80COL        =       $C01F
-PG2OFF =       $C054
-PG2ON  =       $C055
-RDPAGE2        =       $C01C
-
-; Text routines
 MIN_X  =       $20
 MAX_X  =       $21
 MIN_Y  =       $22
@@ -25,10 +10,37 @@ CH  =       $24
 CV     =       $25
 BASL   =       $28
 TEXTTYP        =       $32
+RNDL    =       $4E             ; Random value, low byte
+RNDH    =       $4F             ; Random value, high byte
 MEMSIZE        =       $73             ; Highest free RAM location
-HOME   =       $FC58
-VTABZ  =       $FC24
-COUT    =      $FDED
+
+;-----------------------------------------------------------------------------
+; Vectors
+
+BRKVec  =       $03F0           ; Break vector
+RESTOR =       $03D0           ; Goto Dos
+
+; ---------------------------------------------------------------------------
+; Screen size
+
+XSIZE           = 40
+YSIZE           = 24
+
+;-----------------------------------------------------------------------------
+; Hardware
+
+; Soft switches
+;
+; Write to USEROM to enable apple rom C000-CFFF
+USEROM =       $C007
+
+; 80 column card switches
+C80ON  =       $C00C
+C80OFF =       $C00D
+RD80COL        =       $C01F
+PG2OFF =       $C054
+PG2ON  =       $C055
+RDPAGE2        =       $C01C
 
 ; Keyboard entries
 RDKEY  =       $FD0C
@@ -36,52 +48,62 @@ CLEAR_KEY_STROBE = $C010
 KEY_STROBE       = $C000
 
 ; Game controller
-OPEN_APPLE = $C061
-CLOSED_APPLE = $C062
+OPEN_APPLE =    $C061
+CLOSED_APPLE =  $C062
+
+;-----------------------------------------------------------------------------
+; ROM routines
+
+; Text output and helpers
+HOME   =       $FC58
+VTABZ  =       $FC24
+COUT    =      $FDED
+
+; Graphics entry points, by cbmnut (applenut??) cbmnut@hushmail.com
+WHITE   = $01           ; White for $1c, I think...
 
-;Graphics entry points, by cbmnut (applenut??) cbmnut@hushmail.com
-WHITE   = $01     ;white for $1c, I think...
+COLOR   = $1C           ; Current plot color
 
-COLOR   = $1C     ;Current plot color
+HGR2    = $F3D8         ; Initialize and clear hi-res page 2.
 
-HGR2    = $F3D8   ;Initialize and clear hi-res page 2.
+HGR     = $F3E2         ; Initialize and clear hi-res page 1.
 
-HGR     = $F3E2   ;Initialize and clear hi-res page 1.
+HCLR    = $F3F2         ; Clear the current hi-res screen to black.
 
-HCLR    = $F3F2   ;Clear the current hi-res screen to black.
+BKGND   = $F3F6         ; Clear the current hi-res screen to the
+                        ; last plotted color (from ($1C).
 
-BKGND   = $F3F6   ;Clear the current hi-res screen to the
-                 ;last plotted color (from ($1C).
+HPOSN   = $F411         ; Positions the hi-res cursor without
+                        ; plotting a point.
+                        ; Enter with (A) = Y-coordinate, and
+                        ; (Y,X) = X-coordinate.
 
-HPOSN   = $F411  ;Positions the hi-res cursor without
-                 ;plotting a point.
-                 ;Enter with (A) = Y-coordinate, and
-                 ;(Y,X) = X-coordinate.
+HPLOT   = $F457         ; Calls HPOSN and tries to plot a dot at
+                        ; the cursor's position.  If you are
+                        ; trying to plot a non-white color at
+                        ; a complementary color position, no
+                        ; dot will be plotted.
 
-HPLOT   = $F457  ;Calls HPOSN and tries to plot a dot at
-                 ;the cursor's position.  If you are
-                 ;trying to plot a non-white color at
-                 ;a complementary color position, no
-                 ;dot will be plotted.
+HLIN    = $F53A         ; Draws a line from the last plotted
+                        ; point or line destination to:
+                        ; (X,A) = X-coordinate, and
+                        ; (Y) = Y-coordinate.
 
-HLIN    = $F53A  ;Draws a line from the last plotted
-                 ;point or line destination to:
-                 ;(X,A) = X-coordinate, and
-                 ;(Y) = Y-coordinate.
+HFIND   = $F5CB         ; Converts the hi-res coursor's position
+                        ; back to X- and Y-coordinates; stores
+                        ; X-coordinate at $E0,E1 and Y-coordinate
+                        ; at $E2.
 
-HFIND   = $F5CB  ;Converts the hi-res coursor's position
-                 ;back to X- and Y-coordinates; stores
-                 ;X-coordinate at $E0,E1 and Y-coordinate
-                 ;at $E2.
+DRAW    = $F601         ; Draws a shape.  Enter with (Y,X) = the
+                        ; address of the shape table, and (A) =
+                        ; the rotation factor.  Uses the current
+                        ; color.
 
-DRAW    = $F601  ;Draws a shape.  Enter with (Y,X) = the
-                 ;address of the shape table, and (A) =
-                 ;the rotation factor.  Uses the current
-                 ;color.
+XDRAW   = $F65D         ; Draws a shape by inverting the existing
+                        ; color of the dots the shape draws over.
+                        ; Same entry parameters as DRAW.
 
-XDRAW   = $F65D  ;Draws a shape by inverting the existing
-                 ;color of the dots the shape draws over.
-                 ;Same entry parameters as DRAW.
+SETHCOL = $F6EC         ; Set the hi-res color to (X), where (X)
+                        ; must be between 0 and 7.
 
-SETHCOL = $F6EC  ;Set the hi-res color to (X), where (X)
-                 ;must be between 0 and 7.
+PREAD   = $FB1E         ; Read paddle in X, return AD conv. value in Y