annotate 3rdparty/drivers/disto/cc3disk_sc2_slp.asm @ 1181:d05758ec0de9

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