2 ; Oric Telemon definition
3 ; Telemon 2.4 & Telemon 3.x
4 ; For telemon 3.x check http://orix.oric.org
8 ; ---------------------------------------------------------------------------
11 SCREEN_XSIZE = 40 ; screen columns
12 SCREEN_YSIZE = 28 ; screen rows
16 FNAME_LEN = 11 ; maximum length of file-name
18 ; ---------------------------------------------------------------------------
20 ; theses identifers are used for channel management
26 XRSS = $90 ; RS232 out
29 ; ---------------------------------------------------------------------------
32 ; ---------------------------------------------------------------------------
46 PTR_READ_DEST := $2C ; used for XFREAD and XWRITE only in telemon 3.x
61 ; 1111 => 19200 bps (please note that telestrat can't handle this speed without stopping all IRQ except ACIA's one)
62 ; 1100 => 9600 bps (default from telemon)
71 ; b4 : 0 external clock, 1 internal clock
84 ; b7-b6 : 00 in/out parity odd
85 ; : 01 on/out parity even
86 ; : 10 parity sent, answer not tested
87 ; : 11 SPACE SENT, reception not tested
91 ; ---------------------------------------------------------------------------
93 IRQVec := $02FB ; "fast" interrupt vector
97 ; ---------------------------------------------------------------------------
101 .struct VIA ; Versatile Interface Adapter
103 PRB .byte ; Port Register B
104 PRA .byte ; Port Register A
105 DDRB .byte ; Data Direction Register B
106 DDRA .byte ; Data Direction Register A
108 T1L .word ; Timer 1 Latch
110 SR .byte ; Shift Register
111 ACR .byte ; Auxiliary Control Register
112 PCR .byte ; Peripheral Control Register
113 IFR .byte ; Interrupt Flags Register
114 IER .byte ; Interrupt Enable Register
115 PRA2 .byte ; Port Register A without handshaking
119 .struct VIA2 ; Versatile Interface Adapter
121 PRB .byte ; Port Register B
122 PRA .byte ; Port Register A
123 DDRB .byte ; Data Direction Register B
124 DDRA .byte ; Data Direction Register A
126 T1L .word ; Timer 1 Latch
128 SR .byte ; Shift Register
129 ACR .byte ; Auxiliary Control Register
130 PCR .byte ; Peripheral Control Register
131 IFR .byte ; Interrupt Flags Register
132 IER .byte ; Interrupt Enable Register
133 PRA2 .byte ; Port Register A without handshaking
137 .struct ACIA ; Asynchronous Communications Interface Adapter
141 CMD .byte ; Command register
142 CTRL .byte ; Control register
148 ; ---------------------------------------------------------------------------
151 ; telemon primitives (2.4 & 3.x)
155 XWSTR0 = $14 ; write a string in text mode
160 XVARS = $24 ; only in TELEMON 3.x, in telemon 2.4, it's XNOMFI ($24)
161 XFREAD = $27 ; only in TELEMON 3.x
162 XOPEN = $30 ; only in TELEMON 3.x
163 XCOSCR = $34 ; switch off cursor
164 XCSSCR = $35 ; switch on cursor
165 XCLOSE = $3A ; only in TELEMON 3.x Close file
166 XFWRITE = $3B ; only in TELEMON 3.x write file
168 XOUPS = $42 ; send Oups sound into PSG
174 XSOUT = $67 ; send A register to RS232, available in telemon 2.4 & 3.x
175 XHRSSE = $8C ; set hires position cursor
176 XDRAWA = $8D ; draw a line
177 XDRAWR = $8E ; draw a line
187 XSCHAR = $98 ; draw a string in hires
191 ; ---------------------------------------------------------------------------
192 ; ROM entries variables
196 ; ---------------------------------------------------------------------------
202 HRSPAT := $2AA ; hires pattern : it's used to draw pattern for a line or a circle
206 ; ---------------------------------------------------------------------------
212 MAX_BUFEDT_LENGTH=110
216 CH376_COMMAND := $341
220 .macro BRK_TELEMON value