1
0
mirror of https://github.com/cc65/cc65.git synced 2024-07-10 23:29:05 +00:00
cc65/libsrc/apple2/apple2.inc
cuz 37178d5141 Make screensize() fetch the values dynamically instead of using variables
that are set on startup. This is needed to support the C128, which can switch
the screen size at runtime.


git-svn-id: svn://svn.cc65.org/cc65/trunk@2042 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-04-09 19:34:57 +00:00

108 lines
3.2 KiB
PHP

;-----------------------------------------------------------------------------
; Zero page stuff
MIN_X = $20
MAX_X = $21
MIN_Y = $22
MAX_Y = $23
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
;-----------------------------------------------------------------------------
; 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
CLEAR_KEY_STROBE = $C010
KEY_STROBE = $C000
; Game controller
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...
COLOR = $1C ; Current plot color
HGR2 = $F3D8 ; Initialize and clear hi-res page 2.
HGR = $F3E2 ; Initialize and clear hi-res page 1.
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).
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.
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.
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.
SETHCOL = $F6EC ; Set the hi-res color to (X), where (X)
; must be between 0 and 7.