]> git.sur5r.net Git - cc65/blob - asminc/telestrat.inc
adding some vars
[cc65] / asminc / telestrat.inc
1 ;
2 ; Oric Telemon definition
3 ; Telemon 2.4 & Telemon 3.0
4 ; For telemon 3.0 check http://orix.oric.org
5 ;
6
7
8 ; ---------------------------------------------------------------------------
9 ; Constants
10
11 SCREEN_XSIZE    = 40            ; screen columns
12 SCREEN_YSIZE    = 28            ; screen rows
13
14 FUNCTKEY        = $A5
15
16 FNAME_LEN       = 11            ; maximum length of file-name
17
18
19 ; ---------------------------------------------------------------------------
20 ; Zero page
21
22 ; ---------------------------------------------------------------------------
23 ; Page 00
24 RES             := $00
25 RESB            := $02
26
27 TR0             := $0C
28 TR1             := $0D
29 TR2             := $0E
30 TR3             := $0F
31 TR4             := $10
32 TR5             := $11
33 TR6             := $12
34 TR7             := $13
35
36
37
38
39 PTR_READ_DEST   := $2C           ; used for XFREAD and XWRITE only in telemon 3.0
40
41 HRSX            := $46
42 HRSY            := $47
43
44 HRS1            := $4D
45 HRS2            := $4F
46 HRS3            := $51
47 HRS4            := $53
48 HRS5            := $55
49
50
51
52 ; ---------------------------------------------------------------------------
53 ; Low memory
54
55
56
57
58 ; ---------------------------------------------------------------------------
59 ; I/O locations
60
61 ; 6522
62 .struct VIA                     ; Versatile Interface Adapter
63         .res    $0300
64 PRB     .byte                   ; Port Register B
65 PRA     .byte                   ; Port Register A
66 DDRB    .byte                   ; Data Direction Register B
67 DDRA    .byte                   ; Data Direction Register A
68 T1      .word                   ; Timer 1
69 T1L     .word                   ; Timer 1 Latch
70 T2      .word                   ; Timer 2
71 SR      .byte                   ; Shift Register
72 ACR     .byte                   ; Auxiliary Control Register
73 PCR     .byte                   ; Peripheral Control Register
74 IFR     .byte                   ; Interrupt Flags Register
75 IER     .byte                   ; Interrupt Enable Register
76 PRA2    .byte                   ; Port Register A without handshaking
77 .endstruct
78
79
80 .struct VIA2                     ; Versatile Interface Adapter
81         .res    $0320
82 PRB     .byte                   ; Port Register B
83 PRA     .byte                   ; Port Register A
84 DDRB    .byte                   ; Data Direction Register B
85 DDRA    .byte                   ; Data Direction Register A
86 T1      .word                   ; Timer 1
87 T1L     .word                   ; Timer 1 Latch
88 T2      .word                   ; Timer 2
89 SR      .byte                   ; Shift Register
90 ACR     .byte                   ; Auxiliary Control Register
91 PCR     .byte                   ; Peripheral Control Register
92 IFR     .byte                   ; Interrupt Flags Register
93 IER     .byte                   ; Interrupt Enable Register
94 PRA2    .byte                   ; Port Register A without handshaking
95 .endstruct
96
97 ; 6551
98 .struct ACIA                    ; Asynchronous Communications Interface Adapter
99         .res    $031C
100 DATA    .byte
101 STATUS  .byte
102 CMD     .byte                   ; Command register
103 CTRL    .byte                   ; Control register
104 .endstruct
105
106 SCREEN          := $BB80
107
108
109 ; ---------------------------------------------------------------------------
110 ; ROM entries
111
112 ; primitives telemon 2.4 
113 XRD0             = $08
114 XRDW0            = $0C
115 XWR0             = $10 
116 XWSTR0           = $14 
117 XTEXT            = $19
118 XHIRES           = $1A
119 XFILLM           = $1C
120 XMINMA           = $1F
121 XVARS            = $24          ; only in TELEMON 3.0, in telemon 2.4, it's XNOMFI ($24)
122 XFREAD           = $27          ; only in TELEMON 3.0
123 XOPEN            = $30          ; only in TELEMON 3.0
124 XCOSCR           = $34          ; switch off cursor
125 XCSSCR           = $35          ; switch on cursor
126 XCLOSE           = $3A          ; only in TELEMON 3.0 Close file
127 XFWRITE          = $3B          ; only in TELEMON 3.0 write file
128 XSONPS           = $40
129 XOUPS            = $42
130 XPLAY            = $43
131 XSOUND           = $44 
132 XMUSIC           = $45 
133 XZAP             = $46
134 XSHOOT           = $47
135 XCIRCL           = $8F
136 XCURSE           = $90
137 XPAPER           = $92
138 XINK             = $93
139 XEXPLO           = $9C 
140 XPING            = $9D
141
142 ; ---------------------------------------------------------------------------
143 ; Page $200
144 SCRX             := $220
145 SCRY             := $224
146 ADSCRL           := $218
147 ADSCRH           := $21C
148
149
150 ; ---------------------------------------------------------------------------
151 ; Page $500
152
153 BUFNOM           := $517
154 BUFEDT           := $590
155
156 MAX_BUFEDT_LENGTH=110
157
158 ; Hardware
159 CH376_DATA       := $340
160 CH376_COMMAND    := $341
161
162 ; MACRO 
163
164 .macro  BRK_TELEMON   value
165         .byte $00,value
166 .endmacro