Initial commit
[pdp8.git] / sw / speed8 / pdp8 / speed8.pal
CommitLineData
a6a4e5d4
PH
1
2/ The RK fast access program
3/ Needs kturbo and tturbo instructions provided by omni-usb
4
5/ Communication is word-wise via the subroutines
6/ RWRD and SWRD and their aliases RWORD and SWORD
7
8/ All intelligence is located on the PC side :-)
9
10 IDEV=400
11 ODEV=410
12
13 KTURBO=6007 IDEV
14 TTURBO=6007 ODEV
15
16 / Commands sent from the PC
17 ATT=36
18 CMGET=1
19 CMPUT=2
20
21 /RK05 commands
22 CRKGO=3 / Execute command
23 CRKST=4 / Return drive status
24 CRKRT=5 / Read track
25 CRKWT=6 / Write track
26 CRKR0=007
27 CRKR1=107
28 CRKR2=207
29 CRKR3=307
30
31 /GO BACK TO RIMLOADER
32 CBOOT=04566
33
34/ RK05 commands are followed by the disk address and transfer length
35/ <ATT> <CRKGO> <CA_REG> <CM_REG> <DA_REG>
36
37*7700 JMP I XSTART
38
39*10
40AUTO0, 0
41AUTO1, 0
42AUTO2, 0
43AUTO3, 0
44AUTO4, 0
45AUTO5, 0
46AUTO6, 0
47AUTO7, 0
48
49*30
50RKBOOT, DLAG
51 JMP .
52
53*34
54XSTART, START
55XRWRD, RWRD
56XSWRD, SWRD
57XSBUF, SBUF
58XRBUF, RBUF
59XRKGO, RKGO
60XRKST, RKST
61XRKRT, RKRT
62XRKWT, RKWT
63XRECAL, RECAL
64XEXIT, EXIT
65
66 DSKP=6741
67 DCLR=6742
68 DLAG=6743
69 DLCA=6744
70 DRST=6745
71 DLDC=6746
72
73 RWORD=JMS I XRWRD
74 SWORD=JMS I XSWRD
75
76*200
77START,
78 RWORD
79 TAD KATT
80 SZA
81 JMP START
82 RWORD
83 DCA CMD
84 TAD CMD
85 TAD KCMGET
86 SZA
87 JMP NO1
88 JMS I XSBUF
89 JMP START
90
91NO1,
92 CLA
93 TAD CMD
94 TAD KCMPUT
95 SZA
96 JMP NO2
97 JMS I XRBUF
98 JMP START
99
100NO2,
101 CLA
102 TAD CMD
103 TAD KCRKGO
104 SZA
105 JMP NO3
106 JMS I XRKGO
107 JMP START
108NO3,
109 CLA
110 TAD CMD
111 TAD KCRKST
112 SZA
113 JMP NO4
114 JMS I XRKST
115 JMP START
116NO4,
117 CLA
118 TAD CMD
119 TAD KCRKRT
120 SZA
121 JMP NO5
122 JMS I XRKRT
123NO5,
124
125 CLA
126 TAD CMD
127 TAD KCRKWT
128 SZA
129 JMP NO6
130 JMS I XRKWT
131NO6,
132
133 CLA
134 TAD CMD
135 AND K7477 / MASK OUT DRIVE SELECT
136 TAD KCRKR0
137 SZA
138 JMP NO7
139 TAD CMD
140 RTR
141 RTR
142 RAR
143 AND K6
144 JMS I XRECAL
145
146NO7,
147
148 JMP START
149
150K6, 6
151K7477, 7477
152KATT, -ATT
153KCMGET, -CMGET
154KCMPUT, -CMPUT
155KCRKGO, -CRKGO
156KCRKST, -CRKST
157KCRKRT, -CRKRT
158KCRKWT, -CRKWT
159KCRKR0, -CRKR0
160KCRKR1, -CRKR1
161KCRKR2, -CRKR2
162KCRKR3, -CRKR3
163XBOOT, 7777
164CMD, 0
165
166/***********************************************
167PAGE
168/***********************************************
169
170RKGO, 0
171
172 CLA CLL IAC / Standard read from manual
173 DCLR
174
175 RWORD / MEMORY ADDRESS
176 DLCA
177
178 RWORD / COMMAND REGISTER
179 DLDC
180
181 RWORD / DISK ADDRESS
182 DLAG
183
184 JMP I RKGO
185
186RKST, 0
187 DSKP
188 JMP .-1
189 DRST
190 SWORD
191 JMP I RKST
192/***********************************************
193PAGE
194
195RKRT, 0
196 CLA
197 TAD K17N
198 DCA CNT
199 CLA CLL IAC / Standard read from manual
200 DCLR
201
202 CLA
203 DCA TPTR
204 DLCA
205
206 RWORD
207 DCA CMDP
208 TAD CMDP
209 TAD CMDR1
210 DLDC
211
212 RWORD
213 DCA ADR
214 TAD ADR
215 DLAG
216
217
218RTTL, CLA
219 ISZ ADR
220 TAD TPTR
221 TAD K400
222 DCA TPTR
223 TAD ADR
224
225 DSKP
226 JMP .-1
227
228 CLA CLL IAC / Standard read from manual
229 DCLR
230
231 TAD CMDP
232 TAD CMDR2
233 DLDC
234
235 TAD TPTR
236 DLCA
237 TAD ADR
238 DLAG
239 ISZ CNT
240 JMP RTTL
241 JMP I RKRT
242
243/**********************************************
244
245RKWT, 0
246 CLA
247 TAD K17N
248 DCA CNT
249 CLA CLL IAC / Clear control
250 DCLR
251
252 CLA
253 DCA TPTR
254 DLCA
255
256 RWORD
257 DCA CMDP
258 TAD CMDP
259 TAD CMDW1
260 DLDC
261
262 RWORD
263 DCA ADR
264 TAD ADR
265 DLAG
266
267WTTL, CLA
268 ISZ ADR
269 TAD TPTR
270 TAD K400
271 DCA TPTR
272 TAD ADR
273
274 DSKP
275 JMP .-1
276
277 CLA CLL IAC / Standard read from manual
278 DCLR
279
280 TAD CMDP
281 TAD CMDW2
282 DLDC
283 CLA
284
285 TAD TPTR
286 DLCA
287
288 TAD ADR
289 DLAG
290 ISZ CNT
291 JMP WTTL
292 JMP I RKWT
293
294K400, 400
295TPTR, 0
296K20N, 20
297ADR, 0
298CNT, 0
299K17N, -17
300CMDP, 0
301CMDR1, 0010
302CMDR2, 1010
303CMDW1, 4010
304CMDW2, 5010
305/**********************************************
306
307RECAL, 0
308 DCA DRIVE / SAVE DRIVE NUMBER*2 found in AC
309 CLA CLL IAC / Recal drive, clear errors and set to cyl 0
310 DCLR / From manual
311 TAD DRIVE
312 DLDC
313 CLA CLL CML RTL
314 DCLR
315 DSKP
316 JMP .-1
317 TAD K0200
318 TAD DRIVE
319 DLDC
320 JMP I RECAL
321
322K0200, 200
323DRIVE, 0
324
325/***********************************************
326/ Memory dump/restore routines
327
328PAGE
329
330PTR, 0
331
332SBUF, 0
333 CLA
334 DCA PTR
335 CDF 10
336SLOP, CLA
337 TAD I PTR
338 TTURBO
339 JMP .-1
340 BSW
341 TTURBO
342 JMP .-1
343 ISZ PTR
344 JMP SLOP
345 CDF 0
346 JMP I SBUF
347
348
349RBUF, 0
350 CLA
351 DCA PTR
352 CDF 10
353RLOP, KTURBO
354 JMP .-1
355 BSW
356 KTURBO
357 JMP .-1
358 DCA I PTR
359 ISZ PTR
360 JMP RLOP
361 CDF 0
362 JMP I RBUF
363
364RWRD, 0
365 CLA
366 KTURBO
367 JMP .-1
368 BSW
369 KTURBO
370 JMP .-1
371 JMP I RWRD
372
373SWRD, 0
374 TTURBO
375 JMP .-1
376 BSW
377 TTURBO
378 JMP .-1
379 BSW
380 JMP I SWRD
381
382
383/***********************************************
384/ What hapens on exit to 7600
385/ Relies on the fact that OS/8 won't allow overwriting here.
386
387*7600
388EXIT, HLT
389 JMP 30
390
391
392$