2 ; Oric TELEMON definition
3 ; TELEMON 2.4 & TELEMON 3.x
4 ; For TELEMON 3.x check http://orix.oric.org
7 ; ---------------------------------------------------------------------------
10 SCREEN_XSIZE = 40 ; Screen columns
11 SCREEN_YSIZE = 28 ; Screen rows
15 FNAME_LEN = 11 ; Maximum length of file-name
17 ; ---------------------------------------------------------------------------
19 ; Theses identifers are used for channel management
25 XRSS = $90 ; RS232 out
27 ; ---------------------------------------------------------------------------
30 ; ---------------------------------------------------------------------------
44 PTR_READ_DEST := $2C ; Used for XFREAD and XWRITE only in TELEMON 3.x
59 ; 1111 => 19200 bps (please note that telestrat can't handle this speed without stopping all IRQ except ACIA's one)
60 ; 1100 => 9600 bps (default from TELEMON)
69 ; b4 : 0 external clock, 1 internal clock
82 ; b7-b6 : 00 in/out parity odd
83 ; : 01 on/out parity even
84 ; : 10 parity sent, answer not tested
85 ; : 11 SPACE SENT, reception not tested
89 ; ---------------------------------------------------------------------------
91 IRQVec := $02FB ; "fast" interrupt vector
93 ; ---------------------------------------------------------------------------
97 .struct VIA ; Versatile Interface Adapter
99 PRB .byte ; Port Register B
100 PRA .byte ; Port Register A
101 DDRB .byte ; Data Direction Register B
102 DDRA .byte ; Data Direction Register A
104 T1L .word ; Timer 1 Latch
106 SR .byte ; Shift Register
107 ACR .byte ; Auxiliary Control Register
108 PCR .byte ; Peripheral Control Register
109 IFR .byte ; Interrupt Flags Register
110 IER .byte ; Interrupt Enable Register
111 PRA2 .byte ; Port Register A without handshaking
115 .struct VIA2 ; Versatile Interface Adapter
117 PRB .byte ; Port Register B
118 PRA .byte ; Port Register A
119 DDRB .byte ; Data Direction Register B
120 DDRA .byte ; Data Direction Register A
122 T1L .word ; Timer 1 Latch
124 SR .byte ; Shift Register
125 ACR .byte ; Auxiliary Control Register
126 PCR .byte ; Peripheral Control Register
127 IFR .byte ; Interrupt Flags Register
128 IER .byte ; Interrupt Enable Register
129 PRA2 .byte ; Port Register A without handshaking
133 .struct ACIA ; Asynchronous Communications Interface Adapter
137 CMD .byte ; Command register
138 CTRL .byte ; Control register
144 ; ---------------------------------------------------------------------------
147 ; TELEMON primitives (2.4 & 3.x)
149 ; all values are used to call bank 7 of telestrat cardridge. It works with 'brk value'
153 XWSTR0 = $14 ; Write a string in text mode
158 XVARS = $24 ; Only in TELEMON 3.x, in TELEMON 2.4, it's XNOMFI ($24)
159 XCRLF = $25 ; Jump a line and return to the beginning of the line
160 XFREAD = $27 ; Only in TELEMON 3.x (bank 7 of Orix)
161 XOPEN = $30 ; Only in TELEMON 3.x (bank 7 of Orix)
162 XCOSCR = $34 ; Switch off cursor
163 XCSSCR = $35 ; Switch on cursor
164 XCLOSE = $3A ; Only in TELEMON 3.x close file (bank 7 of Orix)
165 XFWRITE = $3B ; Only in TELEMON 3.x write file (bank 7 of Orix)
167 XOUPS = $42 ; Send Oups sound into PSG
173 XMKDIR = $4B ; Create a folder. Only available in TELEMON 3.x (bank 7 of Orix)
174 XRM = $4D ; Remove a folder or a file. Only available in TELEMON 3.x (bank 7 of Orix)
175 XMALLOC = $5B ; Only in TELEMON 3.x (bank 7 of Orix)
176 XFREE = $62 ; Only in TELEMON 3.x (bank 7 of Orix)
177 XSOUT = $67 ; Send accumulator value (A) to RS232, available in TELEMON 2.4 & 3.x : if RS232 buffer is full, the Oric Telestrat freezes
178 XHRSSE = $8C ; Set hires position cursor
179 XDRAWA = $8D ; Draw a line
180 XDRAWR = $8E ; Draw a line
190 XSCHAR = $98 ; Draw a string in hires
194 ; ---------------------------------------------------------------------------
195 ; ROM entries variables
199 ; ---------------------------------------------------------------------------
205 HRSPAT := $2AA ; Hires pattern : it's used to draw pattern for a line or a circle
209 ; ---------------------------------------------------------------------------
215 MAX_BUFEDT_LENGTH=110
217 ; ---------------------------------------------------------------------------
220 CH376_COMMAND := $341
222 ; ---------------------------------------------------------------------------
225 .macro BRK_TELEMON value