annotate subboot.s68 @ 3:97ec271a513f

Bunch of changes
author Mike Pavone <pavone@retrodev.com>
date Mon, 02 Sep 2013 21:22:47 -0700
parents bbfa7bf69620
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
ea41003cfa70 Improvements to skeleton
Mike Pavone <pavone@retrodev.com>
parents: 0
diff changeset
1 org $6000
0
ed4b291fe247 Initial commit
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
2 SubHeaderStart
3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
3 dc.b 'MAIN ', 0
2
bbfa7bf69620 Small fixes to skeleton
Mike Pavone <pavone@retrodev.com>
parents: 1
diff changeset
4 align 4
0
ed4b291fe247 Initial commit
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
5 dc.l 0
2
bbfa7bf69620 Small fixes to skeleton
Mike Pavone <pavone@retrodev.com>
parents: 1
diff changeset
6 dc.l End-SubHeaderStart
0
ed4b291fe247 Initial commit
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
7 dc.l EntryPoints-SubHeaderStart
3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
8 dc.l 0
0
ed4b291fe247 Initial commit
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
9 EntryPoints
2
bbfa7bf69620 Small fixes to skeleton
Mike Pavone <pavone@retrodev.com>
parents: 1
diff changeset
10 dc.w Main-EntryPoints
3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
11 ; dc.w Main-EntryPoints
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
12 ; dc.w Int2Handler-EntryPoints
2
bbfa7bf69620 Small fixes to skeleton
Mike Pavone <pavone@retrodev.com>
parents: 1
diff changeset
13 dc.w 0
bbfa7bf69620 Small fixes to skeleton
Mike Pavone <pavone@retrodev.com>
parents: 1
diff changeset
14 Main
3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
15 andi.b #$FA,$FF8003 ;set 2Mbit mode
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
16
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
17 lea Packet(pc),a5
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
18 jsr ReadCD
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
19
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
20 move.l $80A2,(a5)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
21 move.l (a5),d0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
22 move.l $80AA,d0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
23 lsr.l #8,d0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
24 lsr.l #3,d0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
25 move.l d0,4(a5)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
26 move.l #$8000,8(a5)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
27 jsr ReadCD
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
28
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
29 move.b #0,$FF800F
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
30
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
31
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
32 Wait:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
33 tst.b $FF800E
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
34 bne Wait
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
35 move.b #1,$FF800F
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
36 Wait2:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
37 tst.b $FF800E
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
38 beq Wait2
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
39
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
40 moveq #0,d0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
41 move.b $FF800E,d0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
42 cmpi.b #8,d0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
43 bgt Wait
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
44 add.w d0,d0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
45 add.w d0,d0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
46 jmp FuncTable(pc,d0)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
47 FuncTable:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
48 bra.w Wait ;0x0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
49 bra.w FileList ;0x1
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
50 bra.w FileByNumber ;0x2
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
51 bra.w FileByNameSimple ;0x3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
52 bra.w FileByNameExtended ;0x4
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
53 bra.w SetExtended ;0x5
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
54 bra.w Jump ;0x6
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
55 bra.w JumpSub ;0x7
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
56 bra.w PlayRAW ;0x8
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
57
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
58
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
59
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
60 FileList:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
61
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
62 move.l #$8000,a0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
63 move.l #$80000,a1
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
64 NextFile:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
65 moveq #0,d0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
66 move.b (a0),d0 ;get record length
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
67 beq EndList
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
68 move.l 6(a0),$20(a1) ;file location
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
69 move.l $E(a0),$24(a1) ;file length
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
70 moveq #0,d1
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
71 move.b $20(a0),d1 ;file name length
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
72 subi.w #1,d1
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
73 beq Terminate ;skip copy if length = 0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
74 lea $21(a0),a2
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
75 movea.l a1,a4
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
76 CopyName:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
77 move.b (a2)+,(a4)+ ;copy filename to new table
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
78 dbra d1,CopyName
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
79 Terminate:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
80 move.b #0,(a4)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
81
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
82 adda.l d0,a0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
83 add.l #$28,a1
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
84 bra NextFile
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
85
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
86 EndList:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
87 move.b #$FF,(a1)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
88 ori.b #1,$FF8003
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
89 move.b #0,$FF800F
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
90 bra Wait
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
91
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
92
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
93
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
94
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
95
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
96 FileByNumber:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
97 lea Packet(pc),a5
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
98 move.l $FF8010,(a5)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
99 move.l $FF8014,d0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
100 move.l $FF8018,8(a5)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
101 File:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
102 move.l d0,$FF8020
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
103 move.l d0,d1
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
104 lsr.l #8,d1
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
105 lsr.l #3,d1
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
106 andi.l #$7FF,d0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
107 beq SectorAligned
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
108 addq #1,d1
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
109
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
110 SectorAligned:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
111 move.l d1,4(a5)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
112
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
113 bsr ReadCD
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
114
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
115 move.l $8000,d7
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
116
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
117 ori.b #1,$FF8003
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
118
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
119 move.b #0,$FF800F
1
ea41003cfa70 Improvements to skeleton
Mike Pavone <pavone@retrodev.com>
parents: 0
diff changeset
120
3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
121 bra Wait
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
122
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
123
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
124
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
125
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
126 FileByNameSimple:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
127 lea Packet(pc),a5
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
128 move.l #$80000,8(a5)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
129 move.l #$40000,4(a5)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
130 move.l #0,(BeginOffset)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
131
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
132 FileByNameExtended:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
133 move.l #$FF8010,a0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
134 bsr FindFile
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
135 bcc FileNotFound
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
136
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
137 lsl.l #8,d1
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
138 lsl.l #3,d1
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
139 add.l (BeginOffset),d1
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
140 sub.l (BeginOffset),d0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
141 lsr.l #8,d1
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
142 lsr.l #3,d1
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
143
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
144 lea Packet(pc),a5
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
145
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
146 move.l 4(a5),d3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
147 cmp.l d0,d3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
148 bgt TooBig ;File is either smaller than requested length or size of WordRAM
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
149
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
150 move.l d3,d0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
151 TooBig:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
152
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
153 move.l d1,(a5)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
154 bra File
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
155
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
156 FileNotFound:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
157 ori.b #1,$FF8003
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
158 move.b #$FF,$FF800F
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
159 bra Wait
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
160
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
161
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
162
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
163
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
164 SetExtended:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
165 lea Packet(pc),a5
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
166 move.l $FF8010,8(a5)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
167 move.l $FF8014,4(a5)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
168 move.l $FF8018,(BeginOffset)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
169
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
170 move.b #0,$FF800F
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
171 bra Wait
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
172
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
173
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
174
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
175 Jump:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
176 move.l $FF8010,a0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
177 jmp (a0)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
178
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
179 JumpSub:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
180 move.l $FF8010,a0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
181 jsr (a0)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
182
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
183 move.b #0,$FF800F
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
184 bra Wait
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
185
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
186 PlayRAW:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
187
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
188
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
189 move.l $FF8010,a0 ;get start address
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
190 move.w $FF8014,d2 ;get playback frequency
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
191
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
192
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
193 move.w #$F,d6
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
194 move.b #$FF,d1
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
195
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
196
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
197 BankLoop:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
198
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
199 addq #1,d1 ;increment bank
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
200 move.b d1,$FF000F ;turn off sound production,and set waveform memory bank
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
201 move.l #$FF2001,a1
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
202 move.w #$FFF,d7
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
203
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
204 MoveIt:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
205 move.b (a0)+,d0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
206 move.b d0,(a1)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
207 addq #2,a1
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
208 cmp.b #$FF,d0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
209 dbeq d7,MoveIt
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
210
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
211 dbeq d6,BankLoop
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
212
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
213 move.b #$40,$FF000F ;set control to channel 0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
214
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
215 move.b #$FF,$FF0001 ;set volume
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
216
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
217 move.b #$FF,$FF0003 ;set Pan
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
218
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
219 move.b #$00,$FF0005 ;set FDL (Playback frequency low order byte)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
220
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
221 move.b #$08,$FF0007 ;set FDH (Playback frequency high order byte)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
222
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
223 move.b #$00,$FF0009 ;LSL (Loop Start Address low order byte)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
224
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
225 move.b #$00,$FF000B ;LSH (Loop Start Address high order byte)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
226
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
227 move.b #$00,$FF000D ;ST (Start address high order byte,low order byte is always equal to 0)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
228
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
229 move.b #$FE,$FF0011 ;turn on channel 0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
230
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
231 move.b #$80,$FF000F ;start sound playback
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
232
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
233 move.b #0,$FF800F
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
234
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
235 bra Wait
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
236
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
237
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
238
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
239 FindFile:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
240 move.l #$8000,a2
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
241
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
242 NextName:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
243 moveq #0,d3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
244 move.b (a2),d3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
245 beq NotFound
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
246
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
247 lea $21(a2),a3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
248 move.l a0,a1
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
249 Compare:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
250 tst.b (a1)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
251 beq Found
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
252 cmp.b (a1)+,(a3)+
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
253 beq Compare
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
254
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
255 add.l d3,a2
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
256 bra NextName
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
257
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
258 NotFound:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
259 move #0,CCR
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
260 rts
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
261
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
262 Found:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
263 move.l $E(a2),d0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
264 move.l 6(a2),d1
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
265 move #1,CCR
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
266 rts
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
267
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
268
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
269
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
270
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
271 ReadCD:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
272 movea.l a5,a0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
273 move.w #$89,d0 ;init CD controller
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
274 jsr $5f22
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
275 move.w #$20,d0 ;start read operation
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
276 jsr $5f22
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
277
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
278 Check:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
279 move.w #$8A,d0 ;check for data
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
280 jsr $5f22
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
281 bcs Check
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
282
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
283 Check2:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
284 move.w #$8B,d0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
285 jsr $5f22
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
286 bcc Check2
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
287
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
288 Check3:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
289 move.w #$8C,d0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
290 movea.l 8(a5),a0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
291 lea $C(a5),a1
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
292 jsr $5f22
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
293 bcc Check3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
294
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
295 move.w #$8D,d0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
296 jsr $5f22
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
297
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
298 addi.l #$800,8(a5)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
299 addq.l #1,(a5)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
300 subq.l #1,4(a5)
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
301 bne Check
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
302 rts
1
ea41003cfa70 Improvements to skeleton
Mike Pavone <pavone@retrodev.com>
parents: 0
diff changeset
303 Int2Handler
ea41003cfa70 Improvements to skeleton
Mike Pavone <pavone@retrodev.com>
parents: 0
diff changeset
304 rte
2
bbfa7bf69620 Small fixes to skeleton
Mike Pavone <pavone@retrodev.com>
parents: 1
diff changeset
305
3
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
306 BeginOffset:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
307 dc.l $0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
308 Packet:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
309 dc.l $10, 1, $8000, ExtraJunk, 0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
310 ExtraJunk:
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
311 dc.b 0
97ec271a513f Bunch of changes
Mike Pavone <pavone@retrodev.com>
parents: 2
diff changeset
312
2
bbfa7bf69620 Small fixes to skeleton
Mike Pavone <pavone@retrodev.com>
parents: 1
diff changeset
313 End