annotate level1/modules/kbvdio.asm @ 1710:27c3b6b64914

Fixed problem with descriptor
author boisy
date Sat, 14 Aug 2004 20:29:26 +0000
parents f3557a63b11c
children 7bdc60c48533
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1 ********************************************************************
257
c93ecc262253 More source enhancements
boisy
parents: 242
diff changeset
2 * KBVDIO - keyboard/video driver
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
3 *
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
4 * $Id$
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
5 *
1499
6cd590fc076f Fixed comments
boisy
parents: 1287
diff changeset
6 * Edt/Rev YYYY/MM/DD Modified by
6cd590fc076f Fixed comments
boisy
parents: 1287
diff changeset
7 * Comment
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
8 * ------------------------------------------------------------------
1499
6cd590fc076f Fixed comments
boisy
parents: 1287
diff changeset
9 * ????/??/??
6cd590fc076f Fixed comments
boisy
parents: 1287
diff changeset
10 * Original Dragon Data distribution version
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
11 *
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
12 * 2004/01/04 Rodney Hamilton
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
13 * Recoded anonymous fcb arrays, added some comments
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
14
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
15 nam KBVDIO
1499
6cd590fc076f Fixed comments
boisy
parents: 1287
diff changeset
16 ttl keyboard/video driver
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
17
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
18 * Disassembled 02/04/21 22:37:57 by Disasm v1.6 (C) 1988 by RML
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
19
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
20 ifp1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
21 use defsfile
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
22 endc
257
c93ecc262253 More source enhancements
boisy
parents: 242
diff changeset
23
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
24 tylg set Drivr+Objct
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
25 atrv set ReEnt+rev
1287
10957d54bf16 Made all modules rev 0
boisy
parents: 1114
diff changeset
26 rev set $00
257
c93ecc262253 More source enhancements
boisy
parents: 242
diff changeset
27 edition set 4
c93ecc262253 More source enhancements
boisy
parents: 242
diff changeset
28
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
29 mod eom,name,tylg,atrv,start,size
257
c93ecc262253 More source enhancements
boisy
parents: 242
diff changeset
30
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
31 u0000 rmb 2
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
32 u0002 rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
33 u0003 rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
34 u0004 rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
35 u0005 rmb 4
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
36 u0009 rmb 2
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
37 u000B rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
38 u000C rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
39 u000D rmb 11
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
40 u0018 rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
41 u0019 rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
42 u001A rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
43 u001B rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
44 u001C rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
45 u001D rmb 2
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
46 u001F rmb 2
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
47 u0021 rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
48 u0022 rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
49 u0023 rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
50 u0024 rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
51 u0025 rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
52 u0026 rmb 2
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
53 u0028 rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
54 u0029 rmb 2
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
55 u002B rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
56 u002C rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
57 u002D rmb 2
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
58 u002F rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
59 u0030 rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
60 u0031 rmb 2
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
61 u0033 rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
62 u0034 rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
63 u0035 rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
64 u0036 rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
65 u0037 rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
66 u0038 rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
67 u0039 rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
68 u003A rmb 1
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
69 vhwaddr rmb 2 address of keyboard hardware
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
70 u003D rmb 1 SHIFTLOCK toggle
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
71 u003E rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
72 u003F rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
73 u0040 rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
74 u0041 rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
75 u0042 rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
76 u0043 rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
77 u0044 rmb 1
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
78 u0045 rmb 1 SHIFT key flag
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
79 u0046 rmb 1 CONTROL key flag
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
80 u0047 rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
81 u0048 rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
82 u0049 rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
83 u004A rmb 1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
84 u004B rmb 10
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
85 u0055 rmb 26
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
86 u006F rmb 91
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
87 size equ .
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
88 fcb $07
257
c93ecc262253 More source enhancements
boisy
parents: 242
diff changeset
89
c93ecc262253 More source enhancements
boisy
parents: 242
diff changeset
90 name fcs /KBVDIO/
c93ecc262253 More source enhancements
boisy
parents: 242
diff changeset
91 fcb edition
242
7f477aec20d1 Assembles correctly
roug
parents: 241
diff changeset
92
257
c93ecc262253 More source enhancements
boisy
parents: 242
diff changeset
93 start lbra Init
c93ecc262253 More source enhancements
boisy
parents: 242
diff changeset
94 lbra Read
c93ecc262253 More source enhancements
boisy
parents: 242
diff changeset
95 lbra Write
c93ecc262253 More source enhancements
boisy
parents: 242
diff changeset
96 lbra GetStat
c93ecc262253 More source enhancements
boisy
parents: 242
diff changeset
97 lbra SetStat
c93ecc262253 More source enhancements
boisy
parents: 242
diff changeset
98 lbra Term
c93ecc262253 More source enhancements
boisy
parents: 242
diff changeset
99
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
100 Init lbsr AllocMem allocate video memory
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
101 lbra L002D unsure why this is here.. timing?
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
102 L002D pshs cc save CC
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
103 orcc #IRQMask mask IRQs
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
104 stu >D.KbdSta save our static mem
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
105 ldd >D.IRQ get current IRQ vector address
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
106 std >D.AltIRQ store in Alt. IRQ vector
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
107 leax >OurIRQ,pcr point to our IRQ address
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
108 stx >D.IRQ store in D.IRQ
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
109 ldx #$FF00 get address of PIA
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
110 stx <vhwaddr,u store in statics for IRQ routine
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
111 clra
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
112 clrb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
113 std <u0048,u
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
114 sta $01,x clear $FF01
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
115 sta ,x clear $FF00
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
116 sta $03,x clear $FF03
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
117 comb B = $FF now
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
118 stb <u003D,u
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
119 stb $02,x put $FF in $FF02
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
120 stb <u003F,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
121 stb <u0040,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
122 stb <u0041,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
123 lda #$34
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
124 sta $01,x put $34 in $FF01
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
125 lda #$3F
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
126 sta $03,x put $3F in $FF03
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
127 lda $02,x get byte at $FF02
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
128 puls pc,cc get CC and return
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
129 ldb #E$Write
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
130 orcc #Carry set carry
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
131 rts and return
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
132
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
133 GetStat cmpa #SS.Ready SS.Ready call?
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
134 bne L0082 branch if not
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
135 lda <u0049,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
136 suba <u0048,u
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
137 bne GSOk
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
138 ldb #E$NotRdy
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
139 bra L009A
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
140 L0082 cmpa #SS.EOF End of file?
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
141 beq GSOk branch if so
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
142 cmpa #SS.DStat
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
143 lbeq L04E4
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
144 cmpa #SS.Joy joystick value acquisition?
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
145 lbeq L085F
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
146 cmpa #SS.AlfaS Alfa display status?
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
147 lbeq L04CD branch if so
257
c93ecc262253 More source enhancements
boisy
parents: 242
diff changeset
148
c93ecc262253 More source enhancements
boisy
parents: 242
diff changeset
149 SetStat ldb #E$UnkSvc
c93ecc262253 More source enhancements
boisy
parents: 242
diff changeset
150 L009A orcc #Carry
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
151 rts
257
c93ecc262253 More source enhancements
boisy
parents: 242
diff changeset
152
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
153 Term pshs cc save CC
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
154 orcc #IRQMask mask IRQs
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
155 ldx >D.AltIRQ get Alt. IRQ address
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
156 stx >D.IRQ and restore it to D.IRQ
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
157 puls pc,cc get CC and return
257
c93ecc262253 More source enhancements
boisy
parents: 242
diff changeset
158
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
159 L00A9 incb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
160 cmpb #$7F
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
161 bls L00AF
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
162 GSOk clrb
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
163 L00AF rts
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
164
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
165 * Driver's IRQ Routine
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
166 OurIRQ ldu >D.KbdSta get pointer to driver's statics
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
167 ldx <vhwaddr,u get keyboard hardware address
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
168 lda $03,x get byte
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
169 bmi L00BE branch if hi bit set
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
170 jmp [>D.SvcIRQ] else jump on
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
171 L00BE lda $02,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
172 lda #$FF
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
173 sta $02,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
174 lda ,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
175 coma
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
176 anda #$03
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
177 bne L00D4
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
178 clr $02,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
179 lda ,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
180 coma
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
181 anda #$7F
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
182 bne L00F1
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
183 L00D4 clra
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
184 coma
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
185 sta <u003F,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
186 sta <u0040,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
187 sta <u0041,u
257
c93ecc262253 More source enhancements
boisy
parents: 242
diff changeset
188 L00DF lda >D.DskTmr
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
189 beq L00ED
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
190 deca
257
c93ecc262253 More source enhancements
boisy
parents: 242
diff changeset
191 sta >D.DskTmr
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
192 bne L00ED
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
193 sta >$FF48
257
c93ecc262253 More source enhancements
boisy
parents: 242
diff changeset
194 L00ED jmp [>D.AltIRQ]
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
195 L00F1 bsr L013F
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
196 bmi L00DF
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
197 sta <u0047,u
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
198 cmpa #$1F control-zero?
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
199 bne L0101
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
200 com <u003D,u yes, toggle SHIFTLOCK
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
201 bra L00DF
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
202 L0101 ldb <u0048,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
203 leax <u004A,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
204 abx
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
205 bsr L00A9
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
206 cmpb <u0049,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
207 beq L0112
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
208 stb <u0048,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
209 L0112 sta ,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
210 beq L0132
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
211 cmpa u000D,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
212 bne L0122
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
213 ldx u0009,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
214 beq L0132
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
215 sta $08,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
216 bra L0132
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
217 L0122 ldb #$03
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
218 cmpa u000B,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
219 beq L012E
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
220 ldb #$02
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
221 cmpa u000C,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
222 bne L0132
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
223 L012E lda u0003,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
224 bra L0136
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
225 L0132 ldb #S$Wake
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
226 lda V.WAKE,u
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
227 L0136 beq L013B
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
228 os9 F$Send send signal to process
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
229 L013B clr V.WAKE,u
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
230 bra L00DF
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
231
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
232 L013F clra
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
233 sta <u003E,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
234 sta <u0045,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
235 sta <u0046,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
236 coma
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
237 sta <u0042,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
238 sta <u0043,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
239 sta <u0044,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
240 deca
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
241 sta $02,x strobe column #0 ($FF02)
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
242 L0156 lda ,x read row register ($FF00)
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
243 coma flip bits to active-high
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
244 anda #$7F mask off joystick row
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
245 beq L0169 no keypress in this column
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
246 ldb #$FF
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
247 L015F incb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
248 lsra
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
249 bcc L0165 no key in this row, move along
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
250 bsr L01AF keypress detected, process row & col
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
251 L0165 cmpb #$06 final row checked?
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
252 bcs L015F
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
253 L0169 inc <u003E,u bump column counter
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
254 orcc #Carry
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
255 rol $02,x strobe next column
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
256 bcs L0156
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
257 lbsr L01F8
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
258 bmi L01AE
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
259 suba #$1B
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
260 bcc L0191 not an alpha key
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
261 adda #$1B
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
262 ldb <u0046,u control key pressed?
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
263 bne L0190 yes, return CTRL code
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
264 adda #$40 no, convert to ASCII
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
265 ldb <u0045,u shift key pressed?
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
266 eorb <u003D,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
267 andb #$01
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
268 bne L0190
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
269 adda #$20
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
270 L0190 rts
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
271 L0191 ldb #3 three values per key
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
272 mul
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
273 lda <u0045,u shift key pressed?
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
274 beq L019C
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
275 incb yes, use 2nd value
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
276 bra L01A3
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
277 L019C lda <u0046,u control key pressed?
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
278 beq L01A3
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
279 addb #$02 yes, use 3rd value
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
280 L01A3 pshs x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
281 leax >L023E,pcr
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
282 clra
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
283 lda d,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
284 puls x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
285 L01AE rts
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
286
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
287 * convert row number in B.reg from DRAGON to COCO order
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
288 L01AF pshs b
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
289 cmpb #$06
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
290 beq L01BF
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
291 cmpb #$01
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
292 bhi L01BD
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
293 addb #$04
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
294 bra L01BF
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
295 L01BD subb #$02
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
296 L01BF lslb multiply row * 8
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
297 lslb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
298 lslb
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
299 addb <u003E,u add column. B.reg now = keycode ($00-$37)
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
300 cmpb #$31 is this the CLEAR key?
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
301 bne L01CE
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
302 inc <u0046,u yes, set control pressed flag
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
303 puls pc,b
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
304 L01CE cmpb #$37 is this a SHIFT key?
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
305 bne L01D7
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
306 com <u0045,u yes, set shift pressed flag
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
307 puls pc,b
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
308 L01D7 pshs x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
309 leax <u0042,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
310 bsr L01E2
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
311 puls x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
312 puls pc,b
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
313 L01E2 pshs a
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
314 lda ,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
315 bpl L01EC
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
316 stb ,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
317 puls pc,a
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
318 L01EC lda $01,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
319 bpl L01F4
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
320 stb $01,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
321 puls pc,a
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
322 L01F4 stb $02,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
323 puls pc,a
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
324 L01F8 pshs y,x,b
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
325 leax <u003F,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
326 ldb #$03
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
327 pshs b
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
328 L0201 leay <u0042,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
329 ldb #$03
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
330 lda ,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
331 bmi L021D
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
332 L020A cmpa ,y
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
333 bne L0214
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
334 clr ,y
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
335 com ,y
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
336 bra L021D
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
337 L0214 leay $01,y
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
338 decb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
339 bne L020A
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
340 lda #$FF
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
341 sta ,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
342 L021D leax $01,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
343 dec ,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
344 bne L0201
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
345 leas $01,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
346 leax <u0042,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
347 lda #$03
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
348 L022A ldb ,x+
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
349 bpl L0235
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
350 deca
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
351 bne L022A
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
352 orcc #Negative
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
353 puls pc,y,x,b
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
354
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
355 L0235 leax <u003F,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
356 bsr L01E2
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
357 tfr b,a
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
358 puls pc,y,x,b
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
359
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
360 *RVH: the following is a non-alpha key lookup table with
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
361 *normal/shift/control codes for each key (1D,1E,7F missing)
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
362 L023E fcb $0C,$1C,$13 UP-ARROW (FF| FS|DC3)
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
363 L0241 fcb $0A,$1A,$12 DN-ARROW (LF|SUB|DC2)
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
364 L0244 fcb $08,$18,$10 LF-ARROW (BS|CAN|DLE)
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
365 L0247 fcb $09,$19,$11 RT-ARROW (HT| EM|DC1)
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
366 L024A fcb $20,$20,$20 SPACEBAR
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
367 L024D fcb $30,$30,$1F 0 0 . (1F=shiftlock toggle)
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
368 L0250 fcb $31,$21,$7C 1 ! |
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
369 L0253 fcb $32,$22,$00 2 " null
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
370 L0256 fcb $33,$23,$7E 3 # ~
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
371 L0259 fcb $34,$24,$00 4 $ null
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
372 L025C fcb $35,$25,$00 5 % null
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
373 L025F fcb $36,$26,$00 6 & null
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
374 L0262 fcb $37,$27,$5E 7 ' ^
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
375 L0265 fcb $38,$28,$5B 8 ( [
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
376 L0268 fcb $39,$29,$5D 9 ) ]
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
377 L026B fcb $3A,$2A,$00 : * null
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
378 L026E fcb $3B,$2B,$00 ; + null
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
379 L0271 fcb $2C,$3C,$7B , < {
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
380 L0274 fcb $2D,$3D,$5F - = _
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
381 L0277 fcb $2E,$3E,$7D . > }
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
382 L027A fcb $2F,$3F,$5C / ? \
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
383 L027D fcb $0D,$0D,$0D ENTER
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
384 L0280 fcb $00,$00,$00 CLEAR?
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
385 L0283 fcb $05,$03,$1B BREAK (ENQ|ETX|ESC)
257
c93ecc262253 More source enhancements
boisy
parents: 242
diff changeset
386
c93ecc262253 More source enhancements
boisy
parents: 242
diff changeset
387 Read leax <u004A,u
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
388 ldb <u0049,u
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
389 orcc #IRQMask
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
390 cmpb <u0048,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
391 beq L029F
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
392 abx
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
393 lda ,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
394 lbsr L00A9
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
395 stb <u0049,u
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
396 andcc #^(IRQMask+Carry)
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
397 rts
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
398
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
399 L029F lda V.BUSY,u
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
400 sta V.WAKE,u
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
401 andcc #^IRQMask
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
402 ldx #$0000
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
403 os9 F$Sleep
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
404 clr V.WAKE,u
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
405 ldx <u004B
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
406 L02AF ldb <$36,x
257
c93ecc262253 More source enhancements
boisy
parents: 242
diff changeset
407 beq Read
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
408 cmpb #$04
257
c93ecc262253 More source enhancements
boisy
parents: 242
diff changeset
409 L02B6 bcc Read
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
410 coma
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
411 rts
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
412
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
413 * Allocate video memory on a 512 byte boundary
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
414 AllocMem pshs y,x
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
415 clr <u0025,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
416 clr <u002C,u
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
417 L02C2 pshs u save static mem pointer
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
418 ldd #768
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
419 L02C7 os9 F$SRqMem get 768 bytes
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
420 tfr u,d put pointer into D
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
421 tfr u,x and X
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
422 bita #$01 odd or even page?
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
423 beq L02D8 branch if even
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
424 leax >256,x else memory not on 512 byte boundary
242
7f477aec20d1 Assembles correctly
roug
parents: 241
diff changeset
425 L02D6 bra L02DC
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
426 L02D8 leau >512,u free last page
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
427 L02DC ldd #256 get page amount
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
428 os9 F$SRtMem and return page to system
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
429 puls u get static mem pointer
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
430 stx <u001D,u save pointer to page
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
431 clra
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
432 clrb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
433 bsr L0303
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
434 stx <u0021,u
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
435 leax >512,x
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
436 stx <u001F,u
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
437 lbsr L0459 clear screen
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
438 lda #$60
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
439 sta <u0023,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
440 sta <u002B,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
441 clrb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
442 puls pc,y,x
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
443
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
444 L0303 pshs x,a
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
445 lda >$FF22
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
446 anda #$07
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
447 ora ,s+
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
448 sta >$FF22
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
449 tstb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
450 bne L0320
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
451 stb >$FFC0
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
452 stb >$FFC2
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
453 stb >$FFC4
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
454 lda <u001D,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
455 bra L032C
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
456 L0320 stb >$FFC0
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
457 stb >$FFC3
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
458 stb >$FFC5
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
459 lda <u002D,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
460 L032C ldb #$07
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
461 ldx #$FFC6
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
462 lsra
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
463 L0332 lsra
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
464 bcs L033B
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
465 sta ,x+
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
466 leax $01,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
467 bra L033F
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
468 L033B leax $01,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
469 sta ,x+
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
470 L033F decb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
471 bne L0332
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
472 clrb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
473 puls pc,x
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
474
257
c93ecc262253 More source enhancements
boisy
parents: 242
diff changeset
475 Write ldb <u0025,u
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
476 bne L0387
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
477 tsta
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
478 bmi L0371
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
479 cmpa #$1F
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
480 bls L03BC
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
481 cmpa #$7C
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
482 bne L0359
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
483 lda #$61
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
484 bra L0371
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
485 L0359 cmpa #$7E
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
486 bne L0361
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
487 lda #$6D
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
488 bra L0371
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
489 L0361 cmpa #$60
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
490 bcs L036B
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
491 suba #$20
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
492 ora #$40
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
493 bra L0371
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
494 L036B cmpa #$40
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
495 bcs L0371
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
496 suba #$40
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
497 L0371 ldx <u0021,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
498 eora #$40
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
499 sta ,x+
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
500 stx <u0021,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
501 cmpx <u001F,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
502 bcs L0382
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
503 bsr L039C
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
504 L0382 lbsr L0415
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
505 clrb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
506 rts
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
507 L0387 cmpb #$01
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
508 beq L0394
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
509 clr <u0025,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
510 sta <u0029,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
511 jmp [<u0026,u]
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
512 L0394 sta <u0028,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
513 inc <u0025,u
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
514 * no operation entry point
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
515 L039A clrb
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
516 rts
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
517 L039C ldx <u001D,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
518 leax <$20,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
519 L03A2 ldd ,x++
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
520 std <-$22,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
521 cmpx <u001F,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
522 bcs L03A2
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
523 leax <-$20,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
524 stx <u0021,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
525 lda #$20
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
526 ldb #$60
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
527 L03B6 stb ,x+
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
528 deca
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
529 bne L03B6
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
530 L03BB rts
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
531 L03BC cmpa #27
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
532 bcc L03BB
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
533 cmpa #$10
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
534 bcs L03CE
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
535 ldb <u002C,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
536 bne L03CE
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
537 ldb #E$NotRdy
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
538 orcc #Carry
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
539 rts
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
540
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
541 L03CE leax <L03D6,pcr
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
542 lsla
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
543 ldd a,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
544 jmp d,x
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
545
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
546 * dispatch table for display function codes
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
547 L03D6 fdb L039A-L03D6 $FFC4 00: no-op
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
548 fdb L0467-L03D6 $0091 01: home cursor
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
549 fdb L047B-L03D6 $00A5 02: cursor xy
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
550 fdb L04A6-L03D6 $00D0 03: erase line
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
551 fdb L039A-L03D6 $FFC4 04: no-op
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
552 fdb L039A-L03D6 $FFC4 05: no-op
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
553 fdb L044B-L03D6 $0075 06: cursor right
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
554 fdb L039A-L03D6 $FFC4 07: no-op
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
555 fdb L043D-L03D6 $0067 08: cursor left
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
556 fdb L04B8-L03D6 $00E2 09: cursor up
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
557 fdb L0424-L03D6 $004E 0A: cursor down
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
558 fdb L039A-L03D6 $FFC4 0B: no-op
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
559 fdb L0459-L03D6 $0083 0C: clear screen
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
560 fdb L040C-L03D6 $0036 0D: return cursor to start of line
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
561 fdb L04C8-L03D6 $00F2 0E: display alpha
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
562 fdb L0520-L03D6 $014A 0F: display graphics
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
563 fdb L0604-L03D6 $022E 10: preset screen to specific color
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
564 fdb L05DF-L03D6 $0209 11: set color
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
565 fdb L05F3-L03D6 $021D 12: end graphics
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
566 fdb L0624-L03D6 $024E 13: erase graphics
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
567 fdb L062F-L03D6 $0259 14: home graphics cursor
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
568 fdb L0648-L03D6 $0272 15: Set Graphics Cursor
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
569 fdb L06B5-L03D6 $02DF 16: Draw Line
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
570 fdb L06B0-L03D6 $02DA 17: Erase Line
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
571 fdb L065F-L03D6 $0289 18: Set Point
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
572 fdb L065A-L03D6 $0284 19: Erase Point
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
573 fdb L077E-L03D6 $03A8 1A: Draw Circle
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
574
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
575 * $0D - return cursor to start of line (carriage return)
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
576 L040C bsr L0472
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
577 tfr x,d
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
578 andb #$E0
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
579 stb <u0022,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
580 L0415 ldx <u0021,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
581 lda ,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
582 sta <u0023,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
583 lda #$20
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
584 sta ,x
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
585 andcc #^Carry
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
586 rts
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
587
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
588 * $0A - cursor down
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
589 L0424 bsr L0472
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
590 leax <$20,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
591 cmpx <u001F,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
592 bcs L0438
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
593 leax <-$20,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
594 pshs x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
595 lbsr L039C
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
596 puls x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
597 L0438 stx <u0021,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
598 bra L0415
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
599
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
600 * $08 - cursor left
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
601 L043D bsr L0472
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
602 cmpx <u001D,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
603 bls L0449
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
604 leax -$01,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
605 stx <u0021,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
606 L0449 bra L0415
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
607
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
608 * $06 - cursor right
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
609 L044B bsr L0472
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
610 leax $01,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
611 cmpx <u001F,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
612 bcc L0457
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
613 stx <u0021,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
614 L0457 bra L0415
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
615
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
616 * $0C - clear screen
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
617 L0459 bsr L0467
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
618 lda #$60
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
619 L045D sta ,x+
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
620 cmpx <u001F,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
621 bcs L045D
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
622 lbra L0415
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
623
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
624 * $01 - home cursor
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
625 L0467 bsr L0472
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
626 ldx <u001D,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
627 stx <u0021,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
628 lbra L0415
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
629 L0472 ldx <u0021,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
630 lda <u0023,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
631 sta ,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
632 rts
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
633
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
634 * $02 XX YY - cursor xy (move cursor to XX-32,YY-32)
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
635 L047B leax <L0481,pcr
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
636 lbra L064B
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
637 L0481 bsr L0472
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
638 ldb <u0029,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
639 subb #$20
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
640 lda #$20
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
641 mul
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
642 addb <u0028,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
643 adca #$00
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
644 subd #$0020
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
645 addd <u001D,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
646 cmpd <u001F,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
647 bcc L04A3
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
648 std <u0021,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
649 lbsr L0415
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
650 clrb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
651 L04A3 lbra L0415
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
652
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
653 * $03 - erase line
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
654 L04A6 lbsr L040C do a CR
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
655 ldb #$20 32 chars per line
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
656 lda #$60 space char for VDG screen
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
657 ldx <u0021,u
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
658 L04B0 sta ,x+ fill screen line with 'space'
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
659 decb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
660 bne L04B0
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
661 lbra L0415
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
662
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
663 * $09 - cursor up
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
664 L04B8 bsr L0472
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
665 leax <-$20,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
666 cmpx <u001D,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
667 bcs L04C5
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
668 stx <u0021,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
669 L04C5 lbra L0415
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
670
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
671 * $0E - display alpha
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
672 L04C8 clra
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
673 clrb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
674 lbra L0303
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
675 L04CD ldx $06,y
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
676 ldd <u001D,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
677 std $04,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
678 ldd <u0021,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
679 std $06,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
680 ldb <u003D,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
681 stb $01,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
682 clrb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
683 rts
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
684
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
685 * 4-color mode color table
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
686 L04E0 fcb $00,$55,$AA,$FF
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
687
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
688 L04E4 lda <u002C,u
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
689 bne L04EE
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
690 L04E9 ldb #E$NotRdy
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
691 orcc #Carry
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
692 rts
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
693
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
694 L04EE ldd <u0034,u
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
695 lbsr L0684
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
696 tfr a,b
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
697 andb ,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
698 L04F8 bita #$01
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
699 bne L0507
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
700 lsra
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
701 lsrb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
702 tst <u0024,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
703 bmi L04F8
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
704 lsra
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
705 lsrb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
706 bra L04F8
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
707 L0507 pshs b
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
708 ldb <u003A,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
709 andb #$FC
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
710 L050E orb ,s+
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
711 ldx $06,y
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
712 stb $01,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
713 ldd <u0034,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
714 std $06,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
715 ldd <u002D,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
716 std $04,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
717 clrb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
718 rts
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
719
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
720 * $0F - display graphics
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
721 L0520 leax <L0526,pcr
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
722 lbra L064B
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
723 L0526 ldb <u002C,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
724 bne L0566
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
725 pshs u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
726 ldd #$1900
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
727 os9 F$SRqMem
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
728 tfr u,d
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
729 puls u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
730 bcs L0585
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
731 tfr a,b
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
732 bita #$01
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
733 beq L0543
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
734 adda #$01
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
735 bra L0545
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
736 L0543 addb #$18
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
737 L0545 pshs u,a
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
738 tfr b,a
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
739 clrb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
740 tfr d,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
741 ldd #$0100
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
742 os9 F$SRtMem
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
743 puls u,a
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
744 bcs L0585
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
745 clrb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
746 std <u002D,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
747 addd #$1800
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
748 std <u002F,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
749 inc <u002C,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
750 lbsr L0624
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
751 L0566 lda <u0029,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
752 sta <u003A,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
753 anda #$03
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
754 leax >L04E0,pcr
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
755 lda a,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
756 sta <u0036,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
757 sta <u0037,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
758 lda <u0028,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
759 cmpa #$01
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
760 bls L0586
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
761 ldb #E$BMode illegal mode
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
762 orcc #Carry
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
763 L0585 rts
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
764
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
765 L0586 tsta
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
766 beq L05A6
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
767 ldd #$C003
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
768 std <u0038,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
769 lda #$01
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
770 sta <u0024,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
771 lda #$E0
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
772 ldb <u0029,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
773 andb #$08
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
774 beq L059F
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
775 lda #$F0
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
776 L059F ldb #$03
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
777 leax <L05D3,pcr
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
778 bra L05BE
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
779 L05A6 ldd #$8001
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
780 std <u0038,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
781 lda #$FF
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
782 sta <u0036,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
783 sta <u0037,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
784 sta <u0024,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
785 lda #$F0
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
786 ldb #$07
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
787 leax <L05D7,pcr
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
788 L05BE stb <u0033,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
789 stx <u0031,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
790 ldb <u0029,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
791 andb #$04
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
792 lslb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
793 pshs b
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
794 ora ,s+
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
795 ldb #$01
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
796 lbra L0303
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
797
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
798 * 4-color mode pixel masks
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
799 L05D3 fcb $C0,$30,$0C,$03
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
800
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
801 * 2-color mode pixel masks
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
802 L05D7 fcb $80,$40,$20,$10,$08,$04,$02,$01
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
803
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
804 * $11 - set color
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
805 L05DF leax <L05E5,pcr
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
806 lbra L0781
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
807 L05E5 clr <u0028,u
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
808 lda <u0024,u
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
809 bmi L05F0
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
810 inc <u0028,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
811 L05F0 lbra L0566
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
812
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
813 * $12 - end graphics
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
814 L05F3 pshs u
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
815 ldu <u002D,u
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
816 ldd #6144 size of graphics screen
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
817 os9 F$SRtMem
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
818 puls u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
819 clr <u002C,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
820 rts
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
821
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
822 * $10 - preset screen to specified color
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
823 L0604 leax <L060A,pcr
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
824 lbra L0781
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
825 L060A lda <u0029,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
826 tst <u0024,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
827 bpl L061A
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
828 ldb #$FF
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
829 anda #$01
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
830 beq L0624
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
831 bra L0625
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
832 L061A anda #$03
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
833 leax >L04E0,pcr
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
834 ldb a,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
835 bra L0625
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
836
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
837 * $13 - erase graphics
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
838 L0624 clrb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
839 L0625 ldx <u002D,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
840 L0628 stb ,x+
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
841 cmpx <u002F,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
842 bcs L0628
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
843
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
844 * $14 - home graphics cursor
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
845 L062F clra
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
846 clrb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
847 std <u0034,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
848 rts
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
849 L0635 ldd <u0028,u
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
850 cmpb #192
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
851 bcs L063E
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
852 ldb #192-1
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
853 L063E tst <u0024,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
854 bmi L0644
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
855 lsra
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
856 L0644 std <u0028,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
857 rts
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
858
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
859 * $15 - set graphics cursor
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
860 L0648 leax <L0653,pcr
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
861 L064B stx <u0026,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
862 inc <u0025,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
863 clrb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
864 rts
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
865 L0653 bsr L0635
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
866 std <u0034,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
867 clrb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
868 rts
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
869
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
870 * $19 - erase point
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
871 L065A clr <u0036,u
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
872 bra L065F
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
873
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
874 * $18 - set point
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
875 L065F leax <L0664,pcr
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
876 bra L064B
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
877 L0664 bsr L0635
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
878 std <u0034,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
879 bsr L0673
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
880 lda <u0037,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
881 sta <u0036,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
882 clrb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
883 rts
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
884 L0673 bsr L0684
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
885 tfr a,b
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
886 comb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
887 andb ,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
888 stb ,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
889 anda <u0036,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
890 ora ,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
891 sta ,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
892 rts
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
893 L0684 pshs y,b,a
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
894 ldb <u0024,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
895 bpl L068C
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
896 lsra
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
897 L068C lsra
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
898 lsra
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
899 pshs a
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
900 ldb #$BF
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
901 subb $02,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
902 lda #$20
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
903 mul
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
904 addb ,s+
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
905 adca #$00
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
906 ldy <u002D,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
907 leay d,y
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
908 lda ,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
909 sty ,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
910 anda <u0033,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
911 ldx <u0031,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
912 lda a,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
913 puls pc,y,x
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
914
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
915 * $17 - erase line
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
916 L06B0 clr <u0036,u
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
917 bra L06B5
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
918
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
919 * $16 - draw line
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
920 L06B5 leax <L06BA,pcr
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
921 bra L064B
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
922 L06BA lbsr L0635
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
923 leas -$0E,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
924 std $0C,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
925 bsr L0684
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
926 stx $02,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
927 sta $01,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
928 ldd <u0034,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
929 bsr L0684
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
930 sta ,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
931 clra
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
932 clrb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
933 std $04,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
934 lda #$BF
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
935 suba <u0035,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
936 sta <u0035,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
937 lda #$BF
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
938 suba <u0029,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
939 sta <u0029,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
940 lda #$FF
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
941 sta $06,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
942 clra
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
943 ldb <u0034,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
944 subb <u0028,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
945 sbca #$00
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
946 bpl L06F7
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
947 nega
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
948 negb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
949 sbca #$00
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
950 neg $06,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
951 L06F7 std $08,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
952 bne L0700
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
953 ldd #$FFFF
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
954 std $04,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
955 L0700 lda #$E0
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
956 sta $07,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
957 clra
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
958 ldb <u0035,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
959 subb <u0029,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
960 sbca #$00
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
961 bpl L0715
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
962 nega
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
963 negb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
964 sbca #$00
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
965 neg $07,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
966 L0715 std $0A,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
967 bra L0721
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
968 L0719 sta ,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
969 ldd $04,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
970 subd $0A,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
971 std $04,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
972 L0721 lda ,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
973 tfr a,b
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
974 anda <u0036,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
975 comb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
976 andb ,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
977 pshs b
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
978 ora ,s+
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
979 sta ,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
980 cmpx $02,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
981 bne L073B
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
982 lda ,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
983 cmpa $01,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
984 beq L076F
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
985 L073B ldd $04,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
986 bpl L0749
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
987 addd $08,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
988 std $04,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
989 lda $07,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
990 leax a,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
991 bra L0721
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
992 L0749 lda ,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
993 ldb $06,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
994 bpl L075F
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
995 lsla
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
996 ldb <u0024,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
997 bmi L0756
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
998 lsla
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
999 L0756 bcc L0719
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1000 lda <u0039,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1001 leax -$01,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1002 bra L0719
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1003 L075F lsra
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1004 ldb <u0024,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1005 bmi L0766
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1006 lsra
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1007 L0766 bcc L0719
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1008 lda <u0038,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1009 leax $01,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1010 bra L0719
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1011 L076F ldd $0C,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1012 std <u0034,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1013 leas $0E,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1014 lda <u0037,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1015 sta <u0036,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1016 clrb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1017 rts
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
1018
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
1019 * $1A - draw circle
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
1020 L077E leax <L0789,pcr
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1021 L0781 stx <u0026,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1022 com <u0025,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1023 clrb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1024 rts
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1025 L0789 leas -$04,s
1512
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
1026 ldb <u0029,u get radius
f3557a63b11c Rodney's improvements
boisy
parents: 1499
diff changeset
1027 stb $01,s stack it
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1028 clra
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1029 sta ,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1030 addb $01,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1031 adca #$00
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1032 nega
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1033 negb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1034 sbca #$00
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1035 addd #$0003
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1036 std $02,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1037 L07A0 lda ,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1038 cmpa $01,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1039 bcc L07D2
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1040 ldb $01,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1041 bsr L07E0
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1042 clra
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1043 ldb $02,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1044 bpl L07BA
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1045 ldb ,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1046 lslb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1047 rola
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1048 lslb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1049 rola
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1050 addd #$0006
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1051 bra L07CA
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1052 L07BA dec $01,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1053 clra
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1054 ldb ,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1055 subb $01,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1056 sbca #$00
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1057 lslb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1058 rola
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1059 lslb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1060 rola
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1061 addd #$000A
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1062 L07CA addd $02,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1063 std $02,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1064 inc ,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1065 bra L07A0
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1066 L07D2 lda ,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1067 cmpa $01,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1068 bne L07DC
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1069 ldb $01,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1070 bsr L07E0
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1071 L07DC leas $04,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1072 clrb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1073 rts
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1074 L07E0 leas -$08,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1075 sta ,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1076 clra
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1077 std $02,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1078 nega
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1079 negb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1080 sbca #$00
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1081 std $06,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1082 ldb ,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1083 clra
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1084 std ,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1085 nega
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1086 negb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1087 sbca #$00
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1088 std $04,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1089 ldx $06,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1090 bsr L0829
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1091 ldd $04,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1092 ldx $02,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1093 bsr L0829
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1094 ldd ,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1095 ldx $02,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1096 bsr L0829
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1097 ldd ,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1098 ldx $06,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1099 bsr L0829
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1100 ldd $02,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1101 ldx ,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1102 bsr L0829
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1103 ldd $02,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1104 ldx $04,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1105 bsr L0829
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1106 ldd $06,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1107 ldx $04,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1108 bsr L0829
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1109 ldd $06,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1110 ldx ,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1111 bsr L0829
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1112 leas $08,s
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1113 rts
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1114 L0829 pshs b,a
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1115 ldb <u0035,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1116 clra
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1117 leax d,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1118 cmpx #$0000
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1119 bmi L083B
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1120 cmpx #$00BF
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1121 ble L083D
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1122 L083B puls pc,b,a
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1123 L083D ldb <u0034,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1124 clra
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1125 tst <u0024,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1126 bmi L0848
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1127 lslb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1128 rola
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1129 L0848 addd ,s++
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1130 tsta
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1131 beq L084E
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1132 rts
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1133 L084E pshs b
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1134 tfr x,d
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1135 puls a
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1136 tst <u0024,u
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1137 lbmi L0673
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1138 lsra
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1139 lbra L0673
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1140 L085F ldx $06,y
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1141 pshs y,cc
1114
86af8d633dce Work on porting kbvdio continues
boisy
parents: 257
diff changeset
1142 orcc #IRQMask
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1143 lda #$FF
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1144 clr >$FF02
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1145 ldb >$FF00
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1146 ldy $04,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1147 bne L0878
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1148 andb #$01
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1149 bne L087C
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1150 bra L087D
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1151 L0878 andb #$02
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1152 beq L087D
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1153 L087C clra
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1154 L087D sta $01,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1155 lda >$FF03
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1156 ora #$08
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1157 ldy $04,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1158 bne L088B
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1159 anda #$F7
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1160 L088B sta >$FF03
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1161 lda >$FF01
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1162 anda #$F7
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1163 bsr L08AA
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1164 std $04,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1165 lda >$FF01
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1166 ora #$08
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1167 bsr L08AA
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1168 pshs b,a
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1169 ldd #$003F
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1170 subd ,s++
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1171 std $06,x
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1172 clrb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1173 puls pc,y,cc
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1174 L08AA sta >$FF01
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1175 clrb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1176 bsr L08BA
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1177 bsr L08BA
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1178 bsr L08BA
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1179 bsr L08BA
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1180 lsrb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1181 lsrb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1182 clra
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1183 rts
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1184 L08BA pshs b
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1185 lda #$7F
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1186 tfr a,b
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1187 L08C0 lsrb
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1188 cmpb #$03
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1189 bhi L08CC
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1190 lsra
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1191 lsra
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1192 tfr a,b
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1193 addb ,s+
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1194 rts
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1195 L08CC addb #$02
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1196 andb #$FC
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1197 pshs b
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1198 anda #$FC
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1199 sta >$FF20
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1200 tst >$FF00
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1201 bpl L08E0
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1202 adda ,s+
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1203 bra L08C0
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1204 L08E0 suba ,s+
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1205 bra L08C0
257
c93ecc262253 More source enhancements
boisy
parents: 242
diff changeset
1206
241
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1207 emod
16748cbd3fd5 Forgot kbvdio
roug
parents:
diff changeset
1208 eom equ *
257
c93ecc262253 More source enhancements
boisy
parents: 242
diff changeset
1209 end
c93ecc262253 More source enhancements
boisy
parents: 242
diff changeset
1210