File: apple2.inc

package info (click to toggle)
cc65 2.19-2
  • links: PTS
  • area: main
  • in suites: forky, sid, trixie
  • size: 20,268 kB
  • sloc: ansic: 117,151; asm: 66,339; pascal: 4,248; makefile: 1,009; perl: 607
file content (70 lines) | stat: -rw-r--r-- 2,541 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70

;-----------------------------------------------------------------------------
; Zero page stuff

WNDLFT  :=      $20     ; Text window left
WNDWDTH :=      $21     ; Text window width
WNDTOP  :=      $22     ; Text window top
WNDBTM  :=      $23     ; Text window bottom+1
CH      :=      $24     ; Cursor horizontal position
CV      :=      $25     ; Cursor vertical position
BASL    :=      $28     ; Text base address low
BASH    :=      $29     ; Text base address high
INVFLG  :=      $32     ; Normal/inverse(/flash)
PROMPT  :=      $33     ; Used by GETLN
RNDL    :=      $4E     ; Random counter low
RNDH    :=      $4F     ; Random counter high
HIMEM   :=      $73     ; Highest available memory address+1

;-----------------------------------------------------------------------------
; Vectors

DOSWARM :=      $03D0   ; DOS warmstart vector
BRKVec  :=      $03F0   ; Break vector
SOFTEV  :=      $03F2   ; Vector for warm start
PWREDUP :=      $03F4   ; This must be = EOR #$A5 of SOFTEV+1

;-----------------------------------------------------------------------------
; Hardware

; Keyboard input
KBD     :=      $C000   ; Read keyboard
KBDSTRB :=      $C010   ; Clear keyboard strobe

; 80 column video switches
CLR80COL:=      $C000   ; Disable 80 column store
SET80COL:=      $C001   ; Enable 80 column store
RD80COL :=      $C018   ; >127 if 80 column store enabled
RD80VID :=      $C01F   ; >127 if 80 column video enabled

; Character set switches
CLRALTCHAR :=   $C00E   ; Normal Apple II char set
SETALTCHAR :=   $C00F   ; Norm/inv LC, no flash
ALTCHARSET :=   $C01E   ; >127 if alt charset switched in

; Language card switches
RDLCBNK2:=      $C011   ; >127 if LC bank 2 in use
RDLCRAM :=      $C012   ; >127 if LC is read enabled
ROMIN   :=      $C081   ; Swap in D000-FFFF ROM
LCBANK2 :=      $C083   ; Swap in LC bank 2
LCBANK1 :=      $C08B   ; Swap in LC bank 1

; Video mode switches
TXTCLR     :=   $C050   ; Display graphics
TXTSET     :=   $C051   ; Display text
MIXCLR     :=   $C052   ; Disable 4 lines of text
MIXSET     :=   $C053   ; Enable 4 lines of text
LOWSCR     :=   $C054   ; Page 1
HISCR      :=   $C055   ; Page 2
LORES      :=   $C056   ; Lores graphics
HIRES      :=   $C057   ; Hires graphics
DHIRESON   :=   $C05E   ; Enable double-width graphics
DHIRESOFF  :=   $C05F   ; Disable double-width graphics

; Game controller
BUTN0   :=      $C061   ; Open-Apple Key
BUTN1   :=      $C062   ; Closed-Apple Key

; IOU
IOUDISON   :=   $C07E   ; Disable IOU
IOUDISOFF  :=   $C07F   ; Enable IOU