Mercurial > hg > Members > kono > nitros9-code
annotate level1/modules/co80.asm @ 2910:87f2133301b0
Remove execute permissions from files that should not have it
author | Tormod Volden <debian.tormod@gmail.com> |
---|---|
date | Sat, 11 Jan 2014 21:52:42 +0100 |
parents | 6e40b043d3e0 |
children | 987f995993c3 |
rev | line source |
---|---|
0 | 1 ******************************************************************** |
1933 | 2 * CO80 - Mysterious 80 Column Co-Driver for VTIO |
0 | 3 * |
4 * $Id$ | |
5 * | |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
6 * This driver came with OS-9 Level One V2.00, yet it does not |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
7 * seem to be written for the WordPak RS. |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
8 * |
1499 | 9 * Edt/Rev YYYY/MM/DD Modified by |
10 * Comment | |
0 | 11 * ------------------------------------------------------------------ |
1499 | 12 * 2 ????/??/?? |
13 * From Tandy OS-9 Level One VR 02.00.00 | |
1512 | 14 * |
15 * 2003/09/22 Rodney Hamilton | |
16 * recoded dispatch table fcbs | |
0 | 17 |
18 nam CO80 | |
1933 | 19 ttl Mysterious 80 column co-driver for VTIO |
0 | 20 |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
21 BASEADDR equ $FF78 |
0 | 22 |
23 ifp1 | |
24 use defsfile | |
2690
6e40b043d3e0
Removed coco port, added coco1 and coco2 ports.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
1933
diff
changeset
|
25 use cocovtio.d |
0 | 26 endc |
27 | |
28 tylg set Systm+Objct | |
29 atrv set ReEnt+rev | |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
30 rev set $01 |
201 | 31 edition set 2 |
0 | 32 |
33 mod eom,name,tylg,atrv,start,size | |
34 | |
35 u0000 rmb 0 | |
36 size equ . | |
37 fcb $06 | |
38 | |
39 name fcs /CO80/ | |
40 fcb edition | |
41 | |
1512 | 42 start equ * |
1582 | 43 lbra Init |
44 lbra Write | |
45 lbra GetStat | |
46 lbra SetStat | |
47 lbra Term | |
1512 | 48 |
49 * Init | |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
50 Init ldx #BASEADDR |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
51 lda #$06 Vertical Displayed Rows |
0 | 52 sta $01,x |
53 sta ,x | |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
54 lda #$08 Mode Control |
0 | 55 sta $01,x |
56 clr ,x | |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
57 lda #$0E Cursor Position Address |
0 | 58 sta $01,x |
59 clr ,x | |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
60 lbsr CurHome |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
61 lbsr CurOn |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
62 ldd #80*25 |
0 | 63 lbsr L0189 |
1585 | 64 ldb <V.COLoad,u |
2690
6e40b043d3e0
Removed coco port, added coco1 and coco2 ports.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
1933
diff
changeset
|
65 orb #ModCoWP |
0 | 66 bra L004F |
1512 | 67 * Term |
1585 | 68 Term ldb <V.COLoad,u |
2690
6e40b043d3e0
Removed coco port, added coco1 and coco2 ports.
Boisy Pitre <boisy.pitre@nuance.com>
parents:
1933
diff
changeset
|
69 andb #~ModCoWP |
1585 | 70 L004F stb <V.COLoad,u |
0 | 71 clrb |
72 rts | |
1512 | 73 * GetStat |
1585 | 74 GetStat cmpa #SS.Cursr |
1582 | 75 bne SetStat |
1585 | 76 ldy R$Y,y |
0 | 77 clra |
1585 | 78 ldb <V.C80X,u |
0 | 79 addb #$20 |
80 std $06,y | |
1585 | 81 ldb <V.C80Y,u |
0 | 82 addb #$20 |
1585 | 83 std R$X,y |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
84 ldx #BASEADDR |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
85 lda #$0D Display Start Address |
0 | 86 sta $01,x |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
87 lbsr WaitBUSY |
0 | 88 lda ,x |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
89 lbsr WaitBUSY |
0 | 90 lda ,x |
91 sta $01,y | |
1512 | 92 * no operation entry point |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
93 NoOp clrb |
0 | 94 rts |
1512 | 95 * SetStat |
1582 | 96 SetStat ldb #E$UnkSvc |
0 | 97 coma |
98 rts | |
1512 | 99 * Write |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
100 Write ldx #BASEADDR get HW addr in X |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
101 cmpa #$0E $0E? |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
102 bcs L00B6 branch if less than |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
103 cmpa #$1E $1E? |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
104 bcs NoOp branch if less than |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
105 cmpa #C$SPAC space? |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
106 lbcs Check1F branch if less than |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
107 cmpa #$7F $7F? |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
108 bcs ChrOut ASCII char, branch if less than |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
109 cmpa #$C0 $C0? |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
110 bls L00A6 branch if lower or same |
0 | 111 anda #$1F |
112 suba #$01 | |
113 cmpa #$19 | |
114 bhi L00B2 | |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
115 bra ChrOut |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
116 L00A6 cmpa #$AA $AA? |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
117 bcs L00B2 branch if less than |
0 | 118 ora #$10 |
119 anda #$1F | |
120 cmpa #$1A | |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
121 bcc ChrOut |
0 | 122 L00B2 lda #$7F |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
123 bra ChrOut |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
124 |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
125 L00B6 leax >FuncTbl,pcr |
0 | 126 lsla |
127 ldd a,x | |
128 leax d,x | |
129 pshs x | |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
130 ldx #BASEADDR |
0 | 131 rts |
1512 | 132 |
133 * display functions dispatch table | |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
134 FuncTbl fdb NoOp-FuncTbl $00:no-op (null) |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
135 fdb CurHome-FuncTbl $01:HOME cursor |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
136 fdb CurXY-FuncTbl $02:CURSOR XY |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
137 fdb ErLine-FuncTbl $03:ERASE LINE |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
138 fdb ErEOL-FuncTbl $04:ERASE TO EOL |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
139 fdb CurOnOff-FuncTbl $05:CURSOR ON/OFF |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
140 fdb CurRgt-FuncTbl $06:CURSOR RIGHT |
1933 | 141 fdb NoOp-FuncTbl $07:no-op (bel:handled in VTIO) |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
142 fdb CurLft-FuncTbl $08:CURSOR LEFT |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
143 fdb CurUp-FuncTbl $09:CURSOR UP |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
144 fdb CurDown-FuncTbl $0A:CURSOR DOWN |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
145 fdb ErEOS-FuncTbl $0B:ERASE TO EOS |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
146 fdb ClrScrn-FuncTbl $0C:CLEAR SCREEN |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
147 fdb CrRtn-FuncTbl $0D:RETURN |
1512 | 148 |
149 * $08 - cursor left | |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
150 CurLft ldd <V.C80X,u get CO80 X/Y |
1585 | 151 bne L00E8 branch if not at start |
1512 | 152 clrb |
153 rts | |
0 | 154 L00E8 decb |
155 bge L00EE | |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
156 ldb #79 |
0 | 157 deca |
1585 | 158 L00EE std <V.C80X,u |
0 | 159 bra L014F |
1512 | 160 |
161 * $09 - cursor up | |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
162 CurUp lda <V.C80X,u |
0 | 163 beq L00FF |
164 deca | |
1585 | 165 sta <V.C80X,u |
0 | 166 lbra L01CC |
167 L00FF clrb | |
168 rts | |
1512 | 169 |
170 * $0D - move cursor to start of line (carriage return) | |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
171 CrRtn clr <V.C80Y,u |
0 | 172 bra L014C |
1585 | 173 |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
174 * ChrOut - output a readable character |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
175 * Entry: A = ASCII value of character to output |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
176 ChrOut ora <V.Invers,u add inverse video flag |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
177 pshs a save char |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
178 bsr WaitBUSY wait for HW |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
179 puls a restore char |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
180 ldb #$0D Display Start Address |
0 | 181 stb $01,x |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
182 sta ,x write character |
1512 | 183 |
184 * $06 - cursor right | |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
185 CurRgt inc <V.C80Y,u |
1585 | 186 lda <V.C80Y,u |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
187 cmpa #79 |
0 | 188 ble L014C |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
189 bsr CrRtn |
1512 | 190 |
191 * $0A - cursor down (line feed) | |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
192 CurDown lda <V.C80X,u |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
193 cmpa #23 |
0 | 194 bge L012E |
195 inca | |
1585 | 196 sta <V.C80X,u |
0 | 197 bra L014F |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
198 L012E ldd <V.Co80X,u |
0 | 199 lbsr L01DC |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
200 ldd <V.Co80X,u |
1585 | 201 addd #80 |
0 | 202 bsr L0161 |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
203 std <V.Co80X,u |
0 | 204 bsr L018E |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
205 ldd <V.Co80X,u |
0 | 206 bsr L016B |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
207 lda #$08 Mode Control |
0 | 208 sta $01,x |
209 stb ,x | |
1585 | 210 L014C lda <V.C80X,u |
0 | 211 L014F lbra L01CC |
1512 | 212 |
213 * $01 - home cursor | |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
214 CurHome clr <V.C80X,u |
1585 | 215 clr <V.C80Y,u |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
216 ldd <V.Co80X,u |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
217 std <V.ColPtr,u |
0 | 218 lbra L01DC |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
219 L0161 cmpd #80*25 |
0 | 220 blt L016A |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
221 subd #80*25 |
0 | 222 L016A rts |
223 L016B lsra | |
224 rorb | |
225 lsra | |
226 rorb | |
227 lsra | |
228 rorb | |
229 lsra | |
230 rorb | |
231 rts | |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
232 |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
233 * X = address of WordPak |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
234 WaitBUSY lda $01,x |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
235 bpl WaitBUSY |
0 | 236 rts |
1512 | 237 |
238 * $03 - erase line | |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
239 ErLine bsr CrRtn do a CR |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
240 ErEOL lda <V.C80X,u |
0 | 241 inca |
1512 | 242 ldb #80 line length |
0 | 243 mul |
244 bra L0189 | |
1512 | 245 |
246 * $0C - clear screen | |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
247 ClrScrn bsr CurHome do home cursor, then erase to EOS |
1512 | 248 |
249 * $0B - erase to end of screen | |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
250 ErEOS ldd #80*24 |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
251 L0189 addd <V.Co80X,u |
0 | 252 bsr L0161 |
253 L018E bsr L016B | |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
254 bsr WaitBUSY |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
255 lda #$0B Cursor End Line |
0 | 256 sta $01,x |
257 stb ,x | |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
258 lda #$0D Display Start Address |
0 | 259 sta $01,x |
260 lda #$20 | |
261 sta ,x | |
262 L01A0 clrb | |
263 rts | |
1512 | 264 |
265 * $02 XX YY - move cursor to col XX-32, row YY-32 | |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
266 CurXY leax >L01B0,pcr |
0 | 267 ldb #$02 |
1585 | 268 L01A8 stx <V.RTAdd,u |
269 stb <V.NGChr,u | |
0 | 270 clrb |
271 rts | |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
272 L01B0 ldx #BASEADDR get HW address |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
273 lda <V.NChr2,u get char2 in A |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
274 ldb <V.NChar,u and char1 in B |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
275 subb #32 subtract 32 from B |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
276 blt L01A0 if less than 0, we're done |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
277 cmpb #79 compare against greatest column |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
278 bgt L01A0 branch if >79 |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
279 suba #32 else subtract 32 from A |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
280 blt L01A0 if less than 0, we're done |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
281 cmpa #23 compare against greatest row |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
282 bgt L01A0 branch if >23 |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
283 std <V.C80X,u else store A/B in new col/row position |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
284 L01CC ldb #80 multiply A*80 to find new row |
0 | 285 mul |
1585 | 286 addb <V.C80Y,u |
0 | 287 adca #$00 |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
288 addd <V.Co80X,u |
0 | 289 bsr L0161 |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
290 std <V.ColPtr,u |
0 | 291 L01DC pshs b,a |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
292 bsr WaitBUSY |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
293 lda #$0A Cursor Start Line |
0 | 294 sta $01,x |
295 lda ,s+ | |
296 sta ,x | |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
297 lda #$09 Number of Scan Lines |
0 | 298 sta $01,x |
299 lda ,s+ | |
300 sta ,x | |
301 clrb | |
302 rts | |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
303 |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
304 Check1F cmpa #$1F |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
305 bne WritErr |
1585 | 306 lda <V.NChr2,u |
0 | 307 cmpa #$21 |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
308 beq InvOn |
0 | 309 cmpa #$20 |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
310 beq InvOff |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
311 WritErr comb |
0 | 312 ldb #E$Write |
313 rts | |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
314 |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
315 InvOn lda #$80 |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
316 sta <V.Invers,u |
0 | 317 clrb |
318 rts | |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
319 |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
320 InvOff clr <V.Invers,u |
0 | 321 L020F clrb |
322 rts | |
1512 | 323 |
324 * $05 XX - set cursor off/on/color per XX-32 | |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
325 CurOnOff leax >L0219,pcr |
0 | 326 ldb #$01 |
327 bra L01A8 | |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
328 L0219 ldx #BASEADDR |
1585 | 329 lda <V.NChr2,u get next character |
1512 | 330 cmpa #$20 cursor code valid? |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
331 blt WritErr no, error |
0 | 332 beq L022D |
1512 | 333 cmpa #$2A color code in range? |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
334 bgt L020F no, ignore |
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
335 CurOn lda #$05 cursor on (all colors=on) |
0 | 336 bra L022F |
1512 | 337 L022D lda #$45 cursor off |
1738
afae4d350682
Updated source, reset revision to 1 so assembles identical to original
boisy
parents:
1736
diff
changeset
|
338 L022F ldb #$0C |
0 | 339 stb $01,x |
340 sta ,x | |
341 clrb | |
342 rts | |
343 | |
344 emod | |
345 eom equ * | |
346 end |