]> git.sur5r.net Git - cc65/blob - asminc/atmos.inc
un-remove TABs in doc/using-make.sgml
[cc65] / asminc / atmos.inc
1 ;
2 ; Oric Atmos definitions
3 ; BASIC 1.1 addresses
4 ;
5
6
7 ; ---------------------------------------------------------------------------
8 ; Constants
9
10 SCREEN_XSIZE    = 40            ; screen columns
11 SCREEN_YSIZE    = 28            ; screen rows
12
13 FUNCTKEY        = $A5
14
15 FNAME_LEN       = 16            ; maximum length of file-name
16
17
18 ; ---------------------------------------------------------------------------
19 ; Zero page
20
21 SCRPTR          := $12
22 BASIC_BUF       := $35
23 CHARGOT         := $E8
24 TXTPTR          := $E9
25
26
27 ; ---------------------------------------------------------------------------
28 ; Low memory
29
30 MODEKEY         := $0209
31 CAPSLOCK        := $020C        ; $7F = not locked, $FF = locked
32 PATTERN         := $0213
33 IRQVec          := $0245        ; "fast" interrupt vector
34 JOINFLAG        := $025A        ; 0 = don't joiu, $4A = join BASIC programs
35 VERIFYFLAG      := $025B        ; 0 = load, 1 = verify
36 CURS_Y          := $0268
37 CURS_X          := $0269
38 STATUS          := $026A
39 BACKGRND        := $026B
40 FOREGRND        := $026C
41 TIMER3          := $0276
42 CFILE_NAME      := $027F
43 CFOUND_NAME     := $0293
44 FILESTART       := $02A9
45 FILEEND         := $02AB
46 AUTORUN         := $02AD        ; $00 = only load, $C7 = autorun
47 LANGFLAG        := $02AE        ; $00 = BASIC, $80 = machine code
48 LOADERR         := $02B1
49 KEYBUF          := $02DF
50 PARMERR         := $02E0
51 PARAM1          := $02E1        ; & $02E2
52 PARAM2          := $02E3        ; & $02E4
53 PARAM3          := $02E5        ; & $02E6
54 BANGVEC         := $02F5
55
56
57 ; ---------------------------------------------------------------------------
58 ; I/O locations
59
60 ; 6522
61 .struct VIA                     ; Versatile Interface Adapter
62         .res    $0300
63 PRB     .byte                   ; Port Register B
64 PRA     .byte                   ; Port Register A
65 DDRB    .byte                   ; Data Direction Register B
66 DDRA    .byte                   ; Data Direction Register A
67 T1      .word                   ; Timer 1
68 T1L     .word                   ; Timer 1 Latch
69 T2      .word                   ; Timer 2
70 SR      .byte                   ; Shift Register
71 ACR     .byte                   ; Auxiliary Control Register
72 PCR     .byte                   ; Peripheral Control Register
73 IFR     .byte                   ; Interrupt Flags Register
74 IER     .byte                   ; Interrupt Enable Register
75 PRA2    .byte                   ; Port Register A without handshaking
76 .endstruct
77
78 ; 6551
79 .struct ACIA                    ; Asynchronous Communications Interface Adapter
80         .res    $031C
81 DATA    .byte
82 STATUS  .byte
83 CMD     .byte                   ; Command register
84 CTRL    .byte                   ; Control register
85 .endstruct
86
87 SCREEN          := $BB80
88
89
90 ; ---------------------------------------------------------------------------
91 ; ROM entries
92
93 GETLINE         := $C592
94 TEXT            := $EC21
95 HIRES           := $EC33
96 CURSET          := $F0C8
97 CURMOV          := $F0FD
98 DRAW            := $F110
99 CHAR            := $F12D
100 POINT           := $F1C8
101 PAPER           := $F204
102 INK             := $F210
103 PRINT           := $F77C
104
105 ; Sound Effects
106 PING            := $FA9F
107 PING1           := $FA85
108 SHOOT           := $FAB5
109 SHOOT1          := $FA9B
110 EXPLODE         := $FACB
111 EXPLODE1        := $FAB1
112 ZAP             := $FAE1
113 ZAP1            := $FAC7
114 TICK            := $FB14
115 TICK1           := $FAFA
116 TOCK            := $FB2A
117 TOCK1           := $FB10