annotate 3rdparty/drivers/disto/cc3disk_sc2_slp.asm @ 399:3ccac8049e18

Added ability to switch base register addresses.
author tlindner
date Wed, 28 Aug 2002 03:57:01 +0000
parents 2c1190feec28
children 15d9dbd6a0e4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
398
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
1 ********************************************************************
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
2 * CC3Disk - Disto No Halt Super Controller II disk driver
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
3 *
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
4 * $Id$
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
5 *
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
6 * Ed. Comments Who YY/MM/DD
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
7 * ------------------------------------------------------------------
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
8 * 02 None.
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
9
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
10 nam CC3Disk
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
11 ttl os9 device driver
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
12
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
13 * Disassembled 02/08/27 11:42:59 by Disasm v1.6 (C) 1988 by RML
399
3ccac8049e18 Added ability to switch base register addresses.
tlindner
parents: 398
diff changeset
14
3ccac8049e18 Added ability to switch base register addresses.
tlindner
parents: 398
diff changeset
15 * Disto's Super Controller II supports two locations for its
3ccac8049e18 Added ability to switch base register addresses.
tlindner
parents: 398
diff changeset
16 * registers: $FF74 and $FF58
3ccac8049e18 Added ability to switch base register addresses.
tlindner
parents: 398
diff changeset
17
3ccac8049e18 Added ability to switch base register addresses.
tlindner
parents: 398
diff changeset
18 nh_base equ $FF74
3ccac8049e18 Added ability to switch base register addresses.
tlindner
parents: 398
diff changeset
19 nh_stat equ nh_base
3ccac8049e18 Added ability to switch base register addresses.
tlindner
parents: 398
diff changeset
20 nh_data equ nh_base+2
3ccac8049e18 Added ability to switch base register addresses.
tlindner
parents: 398
diff changeset
21
398
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
22 ifp1
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
23 use defsfile
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
24 endc
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
25 tylg set Drivr+Objct
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
26 atrv set ReEnt+rev
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
27 rev set $02
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
28 mod eom,name,tylg,atrv,start,size
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
29 u0000 rmb 1
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
30 u0001 rmb 1
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
31 u0002 rmb 1
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
32 u0003 rmb 1
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
33 u0004 rmb 1
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
34 u0005 rmb 2
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
35 u0007 rmb 1
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
36 u0008 rmb 2
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
37 u000A rmb 4
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
38 u000E rmb 1
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
39 u000F rmb 1
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
40 u0010 rmb 2
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
41 u0012 rmb 1
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
42 u0013 rmb 31
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
43 u0032 rmb 24
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
44 u004A rmb 6
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
45 u0050 rmb 47
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
46 u007F rmb 11
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
47 u008A rmb 28
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
48 u00A6 rmb 1
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
49 u00A7 rmb 10
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
50 u00B1 rmb 13
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
51 size equ .
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
52 fcb $FF
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
53 name equ *
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
54 fcs /CC3Disk/
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
55 fcb $A2 "
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
56 start equ *
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
57 lbra L003C
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
58 lbra L0084
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
59 lbra L010E
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
60 lbra L0081
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
61 lbra L030F
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
62 leay >u00B1,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
63 ldx #$0000
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
64 os9 F$VIRQ
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
65 os9 F$IRQ
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
66 clrb
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
67 stb >$FF40
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
68 stb <u0032
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
69 rts
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
70 L0039 fcb $00
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
71 fcb $01
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
72 fcb $09
399
3ccac8049e18 Added ability to switch base register addresses.
tlindner
parents: 398
diff changeset
73 L003C clr >nh_data
398
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
74 clr <u0032
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
75 ldx #$FF48
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
76 lda #$D0
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
77 sta ,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
78 lbsr L02D9
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
79 lda ,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
80 lda #$FF
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
81 sta >u00A7,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
82 ldb #$04
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
83 leax u000F,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
84 L0057 sta ,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
85 sta <$15,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
86 leax <$26,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
87 decb
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
88 bne L0057
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
89 leax >L01C0,pcr
399
3ccac8049e18 Added ability to switch base register addresses.
tlindner
parents: 398
diff changeset
90 stx <D.NMI
398
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
91 pshs u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
92 leau >u00A7,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
93 leay u000E,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
94 tfr y,d
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
95 leay >L0428,pcr
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
96 leax >L0039,pcr
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
97 os9 F$IRQ
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
98 puls u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
99 bcs L0082
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
100 L0081 clrb
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
101 L0082 rts
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
102 L0083 rts
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
103 L0084 lbsr L01E7
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
104 clr u0003,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
105 ldd <u0010,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
106 bne L00D8
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
107 bsr L00D8
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
108 bcs L0083
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
109 lda <$23,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
110 bita #$40
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
111 lbne L043B
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
112 ldx $08,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
113 pshs y,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
114 ldy <$1E,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
115 ldb #$14
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
116 L00A5 lda b,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
117 sta b,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
118 decb
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
119 bpl L00A5
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
120 lda <$10,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
121 ldy $02,s
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
122 ldb <$24,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
123 bita #$02
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
124 beq L00BD
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
125 bitb #$01
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
126 beq L00D3
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
127 L00BD bita #$04
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
128 beq L00C5
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
129 bitb #$02
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
130 beq L00D3
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
131 L00C5 bita #$01
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
132 beq L00D0
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
133 lda <$27,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
134 suba #$02
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
135 bcs L00D3
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
136 L00D0 clrb
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
137 puls pc,y,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
138 L00D3 comb
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
139 ldb #$F9
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
140 puls pc,y,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
141 L00D8 lbsr L0257
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
142 bcs L0083
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
143 ldb #$80
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
144 lda #$07
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
145 lbsr L016C
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
146 bcc L00F6
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
147 ldb >$FF48
399
3ccac8049e18 Added ability to switch base register addresses.
tlindner
parents: 398
diff changeset
148 clr >nh_data
398
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
149 lda u0001,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
150 ora #$08
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
151 sta >$FF40
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
152 lbra L01E3
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
153 L00F6 ldx $08,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
154 ldb #$80
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
155 tst u0003,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
156 bne L010B
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
157 pshs b
399
3ccac8049e18 Added ability to switch base register addresses.
tlindner
parents: 398
diff changeset
158 L0100 ldd >nh_stat
398
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
159 std ,x++
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
160 dec ,s
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
161 bne L0100
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
162 puls b
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
163 L010B andcc #$FE
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
164 rts
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
165 L010E lbsr L01E7
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
166 L0111 bsr L0120
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
167 bcs L011F
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
168 tst <$28,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
169 bne L011E
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
170 bsr L0144
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
171 bcs L0111
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
172 L011E clrb
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
173 L011F rts
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
174 L0120 lbsr L0257
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
175 bcs L011F
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
176 ldx $08,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
177 lda #$04
399
3ccac8049e18 Added ability to switch base register addresses.
tlindner
parents: 398
diff changeset
178 sta >nh_data
398
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
179 ldb #$80
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
180 pshs b
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
181 L0130 ldd ,x++
399
3ccac8049e18 Added ability to switch base register addresses.
tlindner
parents: 398
diff changeset
182 std >nh_stat
398
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
183 dec ,s
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
184 bne L0130
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
185 puls b
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
186 ldb #$A0
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
187 lda #$06
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
188 bsr L016C
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
189 lbra L01C4
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
190 L0144 lda u0004,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
191 pshs a
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
192 clr u0004,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
193 lda #$FF
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
194 sta u0003,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
195 lbsr L00D8
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
196 bcs L0167
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
197 pshs b
399
3ccac8049e18 Added ability to switch base register addresses.
tlindner
parents: 398
diff changeset
198 L0155 ldd >nh_stat
398
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
199 cmpd ,x++
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
200 bne L0163
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
201 dec ,s
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
202 bne L0155
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
203 bra L0165
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
204 L0163 orcc #$01
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
205 L0165 puls b
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
206 L0167 puls a
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
207 sta u0004,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
208 rts
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
209 L016C std u0008,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
210 L016E ldd u0008,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
211 bsr L018D
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
212 bcs L0179
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
213 lbsr L01C4
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
214 bcc L018C
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
215 L0179 lda >$FF48
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
216 bita #$40
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
217 bne L018B
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
218 lsr u0004,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
219 beq L018B
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
220 bcc L016E
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
221 lbsr L02E5
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
222 bra L016E
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
223 L018B coma
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
224 L018C rts
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
225 L018D stb >$FF48
399
3ccac8049e18 Added ability to switch base register addresses.
tlindner
parents: 398
diff changeset
226 sta >nh_data
398
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
227 ldb #$28
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
228 orb u0001,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
229 stb >$FF40
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
230 ldb #$04
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
231 lda #$FF
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
232 pshs x,a
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
233 L01A0 ldx #$0001
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
234 lbsr L03C3
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
235 dec ,s
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
236 beq L01B5
399
3ccac8049e18 Added ability to switch base register addresses.
tlindner
parents: 398
diff changeset
237 tst >nh_data
398
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
238 bmi L01A0
399
3ccac8049e18 Added ability to switch base register addresses.
tlindner
parents: 398
diff changeset
239 stb >nh_data
398
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
240 clrb
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
241 puls pc,x,a
399
3ccac8049e18 Added ability to switch base register addresses.
tlindner
parents: 398
diff changeset
242 L01B5 stb >nh_data
398
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
243 lda #$D0
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
244 sta >$FF48
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
245 comb
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
246 puls pc,x,a
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
247 L01C0 leas $0C,s
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
248 puls y,cc
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
249 L01C4 ldb >$FF48
399
3ccac8049e18 Added ability to switch base register addresses.
tlindner
parents: 398
diff changeset
250 clr >nh_data
398
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
251 andb #$F8
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
252 beq L01DC
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
253 pshs x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
254 leax <L01DD,pcr
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
255 L01D3 leax $01,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
256 rolb
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
257 bcc L01D3
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
258 ldb ,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
259 puls pc,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
260 L01DC clrb
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
261 L01DD rts
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
262 fcb $F6
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
263 fcb $F2
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
264 fcb $F5
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
265 fcb $F7
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
266 fcb $F3
399
3ccac8049e18 Added ability to switch base register addresses.
tlindner
parents: 398
diff changeset
267 L01E3 comb
3ccac8049e18 Added ability to switch base register addresses.
tlindner
parents: 398
diff changeset
268 ldb #$F4
3ccac8049e18 Added ability to switch base register addresses.
tlindner
parents: 398
diff changeset
269 rts
398
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
270 L01E7 leau >u00A7,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
271 clr u0007,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
272 lda #$91
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
273 sta u0004,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
274 tstb
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
275 bne L0203
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
276 tfr x,d
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
277 std <u0010,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
278 beq L0225
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
279 ldx <$1E,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
280 cmpd $01,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
281 bcs L0209
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
282 L0203 comb
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
283 ldb #$F1
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
284 leas $02,s
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
285 rts
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
286 L0209 clr ,-s
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
287 bra L020F
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
288 L020D inc ,s
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
289 L020F subd <$11,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
290 bcc L020D
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
291 addd <$11,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
292 lda <$10,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
293 lsra
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
294 bcc L0223
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
295 lsr ,s
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
296 bcc L0223
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
297 inc u0007,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
298 L0223 puls a
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
299 L0225 std u0005,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
300 clrb
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
301 rts
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
302 L0229 clr u0002,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
303 lda <$21,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
304 cmpa #$04
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
305 bcs L0236
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
306 comb
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
307 ldb #$F0
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
308 rts
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
309 L0236 pshs x,b,a
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
310 cmpa ,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
311 beq L023E
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
312 com u0002,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
313 L023E sta ,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
314 leax <L024C,pcr
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
315 ldb a,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
316 stb u0001,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
317 lbsr L03DD
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
318 puls pc,x,b,a
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
319 L024C oim #$02,<u0004
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
320 nega
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
321 L0250 pshs a
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
322 ldb <$15,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
323 bra L028E
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
324 L0257 lbsr L0229
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
325 bcs L02B1
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
326 ldd u0005,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
327 pshs a
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
328 lda u0007,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
329 beq L026A
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
330 lda u0001,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
331 ora #$40
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
332 sta u0001,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
333 L026A lda <$23,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
334 bita #$02
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
335 bne L0272
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
336 incb
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
337 L0272 stb >$FF4A
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
338 ldx <$1E,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
339 ldb <$15,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
340 lda <$10,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
341 lsra
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
342 eora <$24,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
343 anda #$02
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
344 pshs a
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
345 lda $01,s
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
346 tst ,s+
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
347 beq L028E
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
348 lsla
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
349 lslb
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
350 L028E stb >$FF49
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
351 tst u0002,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
352 bne L029C
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
353 ldb ,s
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
354 cmpb <$15,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
355 beq L02A8
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
356 L029C sta >$FF4B
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
357 ldb <$22,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
358 andb #$03
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
359 eorb #$1B
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
360 bsr L02B2
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
361 L02A8 puls a
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
362 sta <$15,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
363 sta >$FF49
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
364 clrb
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
365 L02B1 rts
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
366 L02B2 bsr L02D7
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
367 L02B4 ldb >$FF48
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
368 bitb #$01
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
369 beq L02D9
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
370 ldd #$00F0
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
371 std u000A,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
372 pshs x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
373 ldx #$0001
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
374 lbsr L03C3
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
375 puls x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
376 bra L02B4
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
377 L02CC lda #$08
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
378 ora u0001,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
379 sta >$FF40
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
380 stb >$FF48
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
381 rts
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
382 L02D7 bsr L02CC
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
383 L02D9 clr <u0012,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
384 inc <u0012,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
385 L02DF rol <u0012,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
386 bpl L02DF
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
387 rts
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
388 L02E5 pshs x,b
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
389 lbsr L0229
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
390 bcs L030D
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
391 ldx <$1E,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
392 clr <$15,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
393 lda #$04
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
394 L02F4 ldb <$22,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
395 andb #$03
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
396 eorb #$4B
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
397 pshs a
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
398 bsr L02B2
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
399 puls a
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
400 deca
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
401 bne L02F4
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
402 ldb <$22,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
403 andb #$03
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
404 eorb #$0B
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
405 bsr L02B2
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
406 L030D puls pc,x,b
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
407 L030F leau >u00A7,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
408 ldx $06,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
409 ldb $02,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
410 cmpb #$04
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
411 beq L0323
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
412 cmpb #$03
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
413 beq L02E5
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
414 comb
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
415 ldb #$D0
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
416 rts
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
417 L0323 pshs u,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
418 ldd #$1A00
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
419 os9 F$SRqMem
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
420 lbcs L0381
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
421 ldx $02,s
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
422 stu <$13,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
423 ldx <u0050
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
424 lda $06,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
425 ldb <L00D0
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
426 ldy ,s
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
427 ldx $06,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
428 ldx $04,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
429 ldy #$1A00
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
430 os9 F$Move
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
431 bcs L0372
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
432 puls u,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
433 pshs u,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
434 lbsr L0229
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
435 bcs L0372
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
436 ldx $06,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
437 ldb $07,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
438 bitb #$01
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
439 beq L0363
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
440 lda u0001,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
441 ora #$40
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
442 sta u0001,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
443 sta u0007,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
444 L0363 lda $09,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
445 ldx <$1E,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
446 lbsr L0250
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
447 bcs L0372
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
448 ldx <u0013,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
449 bsr L0383
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
450 L0372 ldu $02,s
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
451 pshs b,cc
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
452 ldu <u0013,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
453 ldd #$1A00
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
454 os9 F$SRtMem
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
455 puls b,cc
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
456 L0381 puls pc,u,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
457 L0383 pshs y,cc
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
458 orcc #$50
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
459 ldb #$F0
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
460 stb >$FF48
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
461 ldy #$FFFF
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
462 ldb #$28
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
463 orb u0001,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
464 stb >$FF40
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
465 orb #$A8
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
466 lda #$02
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
467 lbsr L02D9
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
468 L039E bita >$FF48
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
469 bne L03B9
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
470 leay -$01,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
471 bne L039E
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
472 lda u0001,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
473 ora #$08
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
474 sta >$FF40
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
475 lda #$D0
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
476 sta >$FF48
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
477 puls y,cc
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
478 comb
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
479 ldb #$F5
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
480 rts
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
481 L03B9 lda ,x+
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
482 sta >$FF4B
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
483 stb >$FF40
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
484 bra L03B9
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
485 L03C3 pshs b,a
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
486 ldd <u0050
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
487 cmpd <u004A
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
488 puls b,a
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
489 beq L03D2
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
490 os9 F$Sleep
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
491 rts
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
492 L03D2 ldx #$A000
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
493 L03D5 nop
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
494 nop
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
495 nop
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
496 leax -$01,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
497 bne L03D5
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
498 rts
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
499 L03DD pshs y,x,b,a
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
500 ldd #$00F0
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
501 std u000A,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
502 lda u0001,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
503 ora #$08
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
504 sta >$FF40
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
505 ldx #$0028
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
506 lda <u0032
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
507 bmi L040A
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
508 beq L0408
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
509 tst u0002,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
510 beq L040C
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
511 lda <$23,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
512 bita #$10
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
513 beq L040C
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
514 bsr L03C3
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
515 ldd #$00F0
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
516 std u000A,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
517 bra L040C
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
518 L0408 bsr L03C3
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
519 L040A bsr L040F
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
520 L040C clrb
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
521 puls pc,y,x,b,a
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
522 L040F lda #$01
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
523 sta <u0032
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
524 ldx #$0001
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
525 leay u000A,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
526 clr $04,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
527 ldd #$00F0
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
528 os9 F$VIRQ
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
529 bcc L0426
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
530 lda #$80
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
531 sta <u0032
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
532 L0426 clra
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
533 rts
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
534 L0428 pshs a
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
535 lda <u008A
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
536 beq L0432
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
537 bsr L040F
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
538 bra L0439
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
539 L0432 sta >$FF40
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
540 clr u000E,u
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
541 clr <u0032
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
542 L0439 puls pc,a
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
543 L043B ldx <$1E,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
544 ldb #$14
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
545 L0440 clr b,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
546 decb
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
547 bpl L0440
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
548 ldb <$26,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
549 lda <$27,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
550 mul
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
551 subd #$0001
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
552 lda <$2A,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
553 sta $03,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
554 sta <$12,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
555 mul
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
556 addd <$2B,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
557 std $01,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
558 lda #$07
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
559 sta $0D,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
560 lda <$24,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
561 lsla
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
562 pshs a
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
563 lda <$27,y
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
564 deca
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
565 ora ,s+
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
566 sta <$10,x
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
567 clrb
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
568 rts
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
569 emod
2c1190feec28 Initial check in.
tlindner
parents:
diff changeset
570 eom equ *