]> git.sur5r.net Git - cc65/blob - libsrc/apple2/apple2.inc
New loadable mouse drivers
[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 MIXOFF  :=      $C052
36 PG2OFF  :=      $C054
37 PG2ON   :=      $C055
38 RDPAGE2 :=      $C01C
39
40 ; Keyboard entries
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 RDKEY   :=      $FD0C
52
53 ; Text output and helpers
54 HOME    :=      $FC58
55 VTABZ   :=      $FC24
56 COUT    :=      $FDED
57
58 ; Graphics entry points, by cbmnut (applenut??) cbmnut@hushmail.com
59 WHITE   = $01           ; White for $1c, I think...
60 COLOR   = $1C           ; Current plot color
61
62 TEXT    := $F399        ; Return to text screen
63 HGR2    := $F3D8        ; Initialize and clear hi-res page 2.
64 HGR     := $F3E2        ; Initialize and clear hi-res page 1.
65 HCLR    := $F3F2        ; Clear the current hi-res screen to black.
66 BKGND   := $F3F6        ; Clear the current hi-res screen to the
67                         ; last plotted color (from ($1C).
68 HPOSN   := $F411        ; Positions the hi-res cursor without
69                         ; plotting a point.
70                         ; Enter with (A) = Y-coordinate, and
71                         ; (Y,X) = X-coordinate.
72 HPLOT   := $F457        ; Calls HPOSN and tries to plot a dot at
73                         ; the cursor's position.  If you are
74                         ; trying to plot a non-white color at
75                         ; a complementary color position, no
76                         ; dot will be plotted.
77 HLIN    := $F53A        ; Draws a line from the last plotted
78                         ; point or line destination to:
79                         ; (X,A) = X-coordinate, and
80                         ; (Y) = Y-coordinate.
81 HFIND   := $F5CB        ; Converts the hi-res coursor's position
82                         ; back to X- and Y-coordinates; stores
83                         ; X-coordinate at $E0,E1 and Y-coordinate
84                         ; at $E2.
85 DRAW    := $F601        ; Draws a shape.  Enter with (Y,X) = the
86                         ; address of the shape table, and (A) =
87                         ; the rotation factor.  Uses the current
88                         ; color.
89 XDRAW   := $F65D        ; Draws a shape by inverting the existing
90                         ; color of the dots the shape draws over.
91                         ; Same entry parameters as DRAW.
92 SETHCOL := $F6EC        ; Set the hi-res color to (X), where (X)
93                         ; must be between 0 and 7.
94 PREAD   := $FB1E        ; Read paddle in X, return AD conv. value in Y