]> git.sur5r.net Git - cc65/blob - libsrc/apple2/apple2.inc
78f323dd0059b9c713c0b156916916406ca21c40
[cc65] / libsrc / apple2 / apple2.inc
1
2 ;-----------------------------------------------------------------------------
3 ; Zero page stuff
4
5 MIN_X   =       $20
6 MAX_X   =       $21
7 MIN_Y   =       $22
8 MAX_Y   =       $23
9 CH      =       $24
10 CV      =       $25
11 BASL    =       $28
12 TEXTTYP =       $32
13 RNDL    =       $4E             ; Random value, low byte
14 RNDH    =       $4F             ; Random value, high byte
15 MEMSIZE =       $73             ; Highest free RAM location
16
17 ;-----------------------------------------------------------------------------
18 ; Vectors
19
20 BRKVec  =       $03F0           ; Break vector
21 RESTOR  =       $03D0           ; Goto Dos
22
23 ;-----------------------------------------------------------------------------
24 ; Hardware
25
26 ; Soft switches
27 ;
28 ; Write to USEROM to enable apple rom C000-CFFF
29 USEROM  =       $C007
30
31 ; 80 column card switches
32 C80ON   =       $C00C
33 C80OFF  =       $C00D
34 RD80COL =       $C01F
35 PG2OFF  =       $C054
36 PG2ON   =       $C055
37 RDPAGE2 =       $C01C
38
39 ; Keyboard entries
40 RDKEY   =       $FD0C
41 CLEAR_KEY_STROBE = $C010
42 KEY_STROBE       = $C000
43
44 ; Game controller
45 OPEN_APPLE =    $C061
46 CLOSED_APPLE =  $C062
47
48 ;-----------------------------------------------------------------------------
49 ; ROM routines
50
51 ; Text output and helpers
52 HOME    =       $FC58
53 VTABZ   =       $FC24
54 COUT    =       $FDED
55
56 ; Graphics entry points, by cbmnut (applenut??) cbmnut@hushmail.com
57 WHITE   = $01           ; White for $1c, I think...
58
59 COLOR   = $1C           ; Current plot color
60
61 HGR2    = $F3D8         ; Initialize and clear hi-res page 2.
62
63 HGR     = $F3E2         ; Initialize and clear hi-res page 1.
64
65 HCLR    = $F3F2         ; Clear the current hi-res screen to black.
66
67 BKGND   = $F3F6         ; Clear the current hi-res screen to the
68                         ; last plotted color (from ($1C).
69
70 HPOSN   = $F411         ; Positions the hi-res cursor without
71                         ; plotting a point.
72                         ; Enter with (A) = Y-coordinate, and
73                         ; (Y,X) = X-coordinate.
74
75 HPLOT   = $F457         ; Calls HPOSN and tries to plot a dot at
76                         ; the cursor's position.  If you are
77                         ; trying to plot a non-white color at
78                         ; a complementary color position, no
79                         ; dot will be plotted.
80
81 HLIN    = $F53A         ; Draws a line from the last plotted
82                         ; point or line destination to:
83                         ; (X,A) = X-coordinate, and
84                         ; (Y) = Y-coordinate.
85
86 HFIND   = $F5CB         ; Converts the hi-res coursor's position
87                         ; back to X- and Y-coordinates; stores
88                         ; X-coordinate at $E0,E1 and Y-coordinate
89                         ; at $E2.
90
91 DRAW    = $F601         ; Draws a shape.  Enter with (Y,X) = the
92                         ; address of the shape table, and (A) =
93                         ; the rotation factor.  Uses the current
94                         ; color.
95
96 XDRAW   = $F65D         ; Draws a shape by inverting the existing
97                         ; color of the dots the shape draws over.
98                         ; Same entry parameters as DRAW.
99
100 SETHCOL = $F6EC         ; Set the hi-res color to (X), where (X)
101                         ; must be between 0 and 7.