]> git.sur5r.net Git - cc65/blob - libsrc/apple2/apple2.inc
Make screensize() fetch the values dynamically instead of using variables
[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 ; Screen size
25
26 XSIZE           = 40
27 YSIZE           = 24
28
29 ;-----------------------------------------------------------------------------
30 ; Hardware
31
32 ; Soft switches
33 ;
34 ; Write to USEROM to enable apple rom C000-CFFF
35 USEROM  =       $C007
36
37 ; 80 column card switches
38 C80ON   =       $C00C
39 C80OFF  =       $C00D
40 RD80COL =       $C01F
41 PG2OFF  =       $C054
42 PG2ON   =       $C055
43 RDPAGE2 =       $C01C
44
45 ; Keyboard entries
46 RDKEY   =       $FD0C
47 CLEAR_KEY_STROBE = $C010
48 KEY_STROBE       = $C000
49
50 ; Game controller
51 OPEN_APPLE =    $C061
52 CLOSED_APPLE =  $C062
53
54 ;-----------------------------------------------------------------------------
55 ; ROM routines
56
57 ; Text output and helpers
58 HOME    =       $FC58
59 VTABZ   =       $FC24
60 COUT    =       $FDED
61
62 ; Graphics entry points, by cbmnut (applenut??) cbmnut@hushmail.com
63 WHITE   = $01           ; White for $1c, I think...
64
65 COLOR   = $1C           ; Current plot color
66
67 HGR2    = $F3D8         ; Initialize and clear hi-res page 2.
68
69 HGR     = $F3E2         ; Initialize and clear hi-res page 1.
70
71 HCLR    = $F3F2         ; Clear the current hi-res screen to black.
72
73 BKGND   = $F3F6         ; Clear the current hi-res screen to the
74                         ; last plotted color (from ($1C).
75
76 HPOSN   = $F411         ; Positions the hi-res cursor without
77                         ; plotting a point.
78                         ; Enter with (A) = Y-coordinate, and
79                         ; (Y,X) = X-coordinate.
80
81 HPLOT   = $F457         ; Calls HPOSN and tries to plot a dot at
82                         ; the cursor's position.  If you are
83                         ; trying to plot a non-white color at
84                         ; a complementary color position, no
85                         ; dot will be plotted.
86
87 HLIN    = $F53A         ; Draws a line from the last plotted
88                         ; point or line destination to:
89                         ; (X,A) = X-coordinate, and
90                         ; (Y) = Y-coordinate.
91
92 HFIND   = $F5CB         ; Converts the hi-res coursor's position
93                         ; back to X- and Y-coordinates; stores
94                         ; X-coordinate at $E0,E1 and Y-coordinate
95                         ; at $E2.
96
97 DRAW    = $F601         ; Draws a shape.  Enter with (Y,X) = the
98                         ; address of the shape table, and (A) =
99                         ; the rotation factor.  Uses the current
100                         ; color.
101
102 XDRAW   = $F65D         ; Draws a shape by inverting the existing
103                         ; color of the dots the shape draws over.
104                         ; Same entry parameters as DRAW.
105
106 SETHCOL = $F6EC         ; Set the hi-res color to (X), where (X)
107                         ; must be between 0 and 7.