1 /RLC.PA RL01 DEVICE C NON-SYSTEM HANDLER 2 / 3 / 4 / 5 / 6 / 7 / 8 / 9 / 10 / 11 /COPYRIGHT (C) 1977, 1984 BY DIGITAL EQUIPMENT CORPORATION 12 / 13 / 14 / 15 / 16 / 17 / 18 / 19 / 20 / 21 / 22 /THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE 23 /AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT 24 /CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY 25 /FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT. 26 / 27 /THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER 28 /UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED 29 /(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH 30 /SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL. 31 / 32 /DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE 33 /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY 34 /DIGITAL. 35 / 36 / 37 / 38 / 39 / 40 / 41 / 42 / 43 / 44 / 45 /RL01 DEVICE C NON-SYSTEM HANDLER 46 47 48 VERSION="B&77 49 50 NOCHK= 0 / 0 = No ctrl c check, 1 = check 51 52 /NOTES: 53 /1. PRE-OMNIBUS COMPUTERS NOT SUPPORTED. 54 55 /EDIT HISTORY: 56 /9-NOV-77 CREATION 57 / 13-AUG-84 Added ctrl c switch 58 /INSTRUCTIONS THAT GENERATE CONSTANTS 59 60 AC0001=CLA IAC 61 AC0002=CLA CLL CML RTL 62 AC0003=CLA CLL CML IAC RAL /* 63 AC0004=CLA CLL IAC RTL /* 64 AC0006=CLA CLL CML IAC RTL /* 65 AC0100=CLA IAC BSW /* 66 AC2000=CLA CLL CML RTR 67 AC3777=CLA CLL CMA RAR 68 AC4000=CLA CLL CML RAR 69 AC5777=CLA CLL CMA RTR 70 AC6000=CLA CLL CML IAC RTR /* 71 AC7775=CLA CLL CMA RTL 72 AC7776=CLA CLL CMA RAL 73 74 /* USE ONLY ON VT-78 AND PDP-8E,F,M,A 75 76 /ID CODE AT START OF BAD BLOCK LIST (BBL) 77 ID=123 78 79 /BAD BLOCK LIST FORMAT: 80 /(TRACK 0 SECTOR 16) 81 /WORD CONTENTS 82 /0 ID (IDENTIFICATION CODE) 83 /1 BAD BLOCK NUMBERS (ASCENDING ORDER) 84 /... ... 85 /20 0 (LIST TERMINATOR) 86 /RL01 DEFINITIONS 87 88 RLIOT=6600 89 RLDC=RLIOT 0 /CLEAR DEVICE 90 RLSD=RLIOT 1 /SKIP IF DONE 91 RLMA=RLIOT 2 /LOAD MEM ADDR 92 RLCA=RLIOT 3 /LOAD REGISTER "A" 93 RLCB=RLIOT 4 /LOAD REG "B" AND EXECUTE 94 RLSA=RLIOT 5 /LOAD SECTOR ADDR 95 /RLIOT 6 UNUSED 96 RLWC=RLIOT 7 /LOAD WORD COUNT 97 RRER=RLIOT 10 /READ ERROR REG 98 RRWC=RLIOT 11 /READ WORD COUNT 99 RRCA=RLIOT 12 /READ REG "A" 100 RRCB=RLIOT 13 /READ REG "B" 101 RRSA=RLIOT 14 /READ SECTOR ADDR 102 RRSI=RLIOT 15 /READ SILO BYTE 103 /RLIOT 16 UNUSED 104 RLSE=RLIOT 17 /SKIP IF ERROR 105 /RLCB FUNCTION BITS: 106 RLMT=0 /MAINTENANCE MODE 107 RLRE=1 /RESET DRIVE ERRORS 108 RLST=2 /READ STATUS REGS INTO SILO 109 RLSK=3 /SEEK 110 RLRH=4 /READ HEADER 111 RLWR=5 /WRITE 112 RLRD=6 /READ 113 RLRN=7 /READ WITH NO HEADER CHECK 114 /BIT DEFINITIONS IN REGISTERS: 115 BYTE=1000 /BYTE TRANSFER MODE 116 /HEADER BLOCK FOR USE BY "BUILD" 117 118 *0 119 000000 7776 -2 /- NR DEVICES PER HANDLER 120 121 /FORMAT OF ENTRIES IN HEADER BLOCK: 122 /WORD DESCRIPTION 123 /0 GROUP NAME (4 CHAR) 124 /2 DEVICE NAME (4 CHAR) 125 /4 DCB WORD FOR AN RL01(C), DIRECTORY DEVICE 126 /5 OFFSET TO ENTRY POINT, 2-PAGE INDICATOR 127 /6 0 (UNUSED WORD) 128 /7 0 TO REPRESENT NON-SYSTEM DEVICE 129 130 000001 2214 DEVICE RLC;DEVICE RL0C;4310;RL0C&177+4000;0;0 000002 0300 000003 2214 000004 6003 000005 4310 000006 4050 000007 0000 000010 0000 131 000011 2214 DEVICE RLC;DEVICE RL1C;4310;RL1C&177+4000;0;0 000012 0300 000013 2214 000014 6103 000015 4310 000016 4054 000017 0000 000020 0000 132 /DEVICE RLC;DEVICE RL2C;4310;RL2C&177+4000;0;0 133 /DEVICE RLC;DEVICE RL3C;4310;RL3C&177+4000;0;0 134 135 /TWO DEVICES FOR OS78 V4 136 /HANDLER CODE 137 138 *200 /FIRST PAGE 139 140 000200 3371 START, DCA DRIVE /SAVE DRIVE NUMBER. 141 000201 1371 TAD DRIVE /FIND ENTRY ADDR IN 142 000202 7106 CLL RTL /ORDER TO TRANSFER 143 000203 1253 TAD TADX /CALLING ADDR TO "ARG". 144 000204 3205 DCA .+1 145 000205 1000 TAD 146 000206 3250 DCA ARG 147 000207 1650 TAD I ARG /GET ARGUMENTS 148 /FUNCTION WORD 149 000210 0247 AND A4070 /READ-WRITE, FIELD 150 000211 7510 SPA 151 000212 1263 TAD A3777 /IF WRITE, -1 152 000213 1335 TAD ARLRD /CONVERT FUNCTION TO RL01 153 /FUNCTION WORD. 154 000214 3355 DCA FNC 155 000215 1650 TAD I ARG /FUNCTION WORD 156 000216 7004 RAL 157 000217 0353 AND A7600 /PAGES IN BITS [7600]; 158 /0 MEANS 40. 159 000220 3372 DCA PAGES 160 000221 2250 ISZ ARG 161 000222 1650 TAD I ARG /MA 162 000223 3354 DCA MA 163 000224 2250 ISZ ARG 164 000225 1650 TAD I ARG /BLOCK 165 000226 3373 DCA BLOCK 166 000227 2250 ISZ ARG 167 000230 6214 RDF /SAVE CALLING FIELD 168 000231 1233 TAD ACIDF /FOR RETURN. 169 000232 3345 DCA RTN 170 000233 6203 ACIDF, CIF CDF 00 /CHANGE TO CURRENT FIELD. 171 000234 1353 TAD A7600 /RETURN TO MONITOR IF USER 172 IFNZRO NOCHK < KRS > /TYPES CTRL,C. 173 000235 7000 IFZERO NOCHK < NOP > 174 000236 1257 TAD A175 175 000237 7650 SNA CLA 176 000240 6031 KSF 177 000241 5377 ONCE, JMP ONLY /ELSE START ONCE-ONLY CODE 178 /AT "ONLY". "ONCE" GETS CHANGED 179 /TO "JMP BEGIN" BY ONCE-ONLY CODE. 180 000242 5753 JMP I A7600 /CALL MONITOR UPON CTRL,C. 181 182 /CONSTANTS 183 184 000243 0101 ATRANS, TRANS-MAIN 185 000244 0162 ACURTK, CURTRK-MAIN 186 000245 7655 CHECK, -ID 187 000246 0200 A200, 200 188 000247 4070 A4070, 4070 189 /ENTRY POINTS 190 191 IFNZRO 250-. 192 193 ARG, /ADDR OF ARG LIST 194 000250 0002 RL0C, VERSION /DRIVE 0 ENTRY POINT 195 000251 7200 CLA 196 000252 5200 JMP START 197 000253 1250 TADX, TAD ARG /A CONSTANT 198 000254 0002 RL1C, VERSION /DRIVE 1 ENTRY POINT 199 000255 7201 AC0001 200 000256 5200 JMP START 201 000257 0175 A175, 175 202 000260 0002 RL2C, VERSION /DRIVE 2 ENTRY POINT 203 000261 7326 AC0002 204 000262 5200 JMP START 205 000263 3777 A3777, 3777 206 000264 0002 RL3C, VERSION /DRIVE 3 ENTRY POINT 207 000265 7325 AC0003 208 000266 5200 JMP START 209 000267 0000 GO, 0 /ONCE-ONLY CODE. 210 /ADDRESS OF 2ND PAGE STORED HERE. 211 000270 1274 BBL, TAD JMPX /NEXT 21 OCTAL LOCATIONS ARE 212 /REPLACED BY THE BAD BLOCK LIST 213 /WHEN IT IS READ IN 214 /FROM REQUESTED DRIVE. 215 /ONCE-ONLY CODE: PREVENT EXE- 216 /CUTION MORE THAN ONCE. 217 000271 3241 DCA ONCE 218 000272 1304 LOOP, TAD LIST /RELOCATE LOCATIONS CONTAINING 219 000273 7450 SNA /RELATIVE ADDRESSES TO MAKE THEM 220 000274 5317 JMPX, JMP BEGIN /ABSOLUTE. LOCATION LIST IS TERM- 221 /INATED BY ZERO. 222 000275 1267 TAD GO /RELOCATE VALUE IN LIST. 223 000276 3377 DCA ONLY /"ONLY" IS NOW TEMP STORAGE. 224 000277 2272 ISZ LOOP 225 000300 1267 TAD GO /RELOCATE ADDRESS(VALUE). 226 000301 1777 TAD I ONLY 227 000302 3777 DCA I ONLY 228 000303 5272 JMP LOOP /CONTINUE UNTIL DONE. 229 000304 7734 LIST, ABBL-MAIN /LIST OF RELATIVE ADDRESSES OF 230 /RELOCATABLE ADDRESSES. 231 000305 7643 ATRANS-MAIN 232 000306 7644 ACURTK-MAIN 233 000307 0151 BBLOCK-MAIN 234 000310 0152 BSECT-MAIN 235 000311 0153 BTRACK-MAIN 236 000312 0154 BHALF-MAIN 237 000313 0155 BDRIVE-MAIN 238 000314 0157 BASE-MAIN 239 000315 0156 BERROR-MAIN 240 000316 0000 0 /TERMINATOR. 241 /PERFORM TRANSFER, READING IN BBL IF NECESSARY 242 243 000317 7332 BEGIN, AC2000 244 000320 3644 DCA I ACURTK /FORCE IGNORANCE OF CURRENT 245 /TRACK IN CASE OPERATION IS 246 /TO A DIFFERENT DRIVE. 247 /(2000 IS AN ILLEGAL TRACK) 248 000321 1371 TAD DRIVE /HAS DRIVE CHANGED FROM LAST CALL? 249 000322 7041 CIA 250 000323 1377 TAD CURDRV 251 000324 7650 SNA CLA 252 000325 5643 JMP I ATRANS /NO, DO TRANSFER. 253 000326 1371 TAD DRIVE /YES, REMEMBER CHANGE AND 254 000327 3377 DCA CURDRV /READ IN BAD BLOCK LIST. 255 000330 4667 JMS I GO /CALL TRANSFER SUBROUTINE 256 000331 0000 0 /TRACK=0 257 000332 0016 16 /SECTOR=16 258 000333 7757 -21 /WC=-LIST LENGTH 259 000334 7670 ABBL, BBL-MAIN /MA="BBL" 260 000335 0006 ARLRD, RLRD /FUNCTION=READ INTO FIELD 0 261 000336 1734 TAD I ABBL /IS BBL VALID? 262 000337 1245 TAD CHECK /-ID. 263 000340 7650 SNA CLA 264 000341 5643 JMP I ATRANS /YES, DO TRANSFER. 265 000342 7330 ERROR, AC4000 /HANDLER ERROR RETURN. 266 000343 7410 SKP 267 000344 2250 DONE, ISZ ARG /NORMAL HANDLER RETURN. 268 000345 6203 RTN, CIF CDF /RETURN TO CALLING FIELD. 269 000346 5650 JMP I ARG 270 /SECTOR TRANSFER SUBROUTINE 271 272 000347 0000 HALF, 0 /TRANSFER ONE PAGE. 273 000350 4667 JMS I GO /CALL TRANSFER SUBROUTINE 274 000351 0000 TRACK, 0 /TRACK 275 000352 0000 SECTOR, 0 /SECTOR 276 000353 7600 A7600, 7600 /-WORD COUNT 277 000354 0000 MA, 0 /MEMORY ADDRESS 278 000355 0000 FNC, 0 /FUNCTION WORD 279 000356 1246 TAD A200 /INCREMENT MEMORY ADDRESS. 280 000357 1354 TAD MA 281 000360 3354 DCA MA 282 000361 2352 ISZ SECTOR /INCREMENT SECTOR ADDRESS. 283 000362 2352 ISZ SECTOR /(2:1 INTERLEAVE) 284 000363 1353 TAD A7600 /DECREMENT PAGE COUNT. 285 000364 1372 TAD PAGES 286 000365 7450 SNA 287 000366 5344 JMP DONE /TAKE NORMAL HANDLER RETURN 288 /WHEN PAGE COUNT REACHES ZERO. 289 000367 3372 DCA PAGES /ELSE CONTINUE TRANSFER. 290 000370 5747 JMP I HALF 291 292 /VARIABLES 293 294 000371 0000 DRIVE, 0 295 000372 0000 PAGES, 0 296 000373 0000 BLOCK, 0 297 298 000374 0000 ZBLOCK 377-. /UNUSED: "ONLY" MUST BE AT 377! 000375 0000 000376 0000 299 300 CURDRV, /CURRENT DRIVE (INITIALLY INVALID 301 /TO FORCE READ-IN OF BAD BLOCK LIST). 302 000377 4267 ONLY, JMS GO /ONCE-ONLY CODE TO PUT ADDRESS 303 /OF "MAIN" INTO "GO". 304 /REUSED AS CURRENT DRIVE. 305 *400 /SECOND PAGE 306 307 000400 0000 MAIN, 0 /TRANSFER UP TO ONE PAGE. 308 000401 7346 AC7775 /INITIALIZE FOR 3 TRIES. 309 000402 3366 DCA ERRCNT 310 000403 1200 TAD MAIN /SAVE ADDRESS OF ARGS. 311 000404 3361 DCA MAINSV 312 000405 1600 TAD I MAIN /CALCULATE CYLINDER AND 313 /SURFACE FROM TRACK. 314 /1ST ARG=TRACK. 315 000406 7110 CLL RAR 316 000407 3365 DCA CYL 317 000410 7012 RTR 318 000411 3364 DCA SURF 319 000412 4251 JMS TRKCMP /IF ON TRACK, DO TRANSFER. 320 000413 1361 RETRY, TAD MAINSV /OFF TRACK: SEEK TO TRACK. 321 000414 3200 DCA MAIN /RESTORE ADDRESS OF ARGS. 322 000415 6600 RLDC /CLEAR CONTROLLER REGISTERS. 323 000416 7001 SEEK, IAC /AC=CLEAR DRIVE REGISTERS 324 /FUNCTION (AC=SEEK FUNCTION 325 /WHEN CALLED FROM BELOW). 326 000417 4335 JMS IO /DO RL01 FUNCTION. 327 000420 1363 TAD HEADER 328 000421 4335 JMS IO /READ NEXT HEADER FROM DISK. 329 000422 6615 RRSI /GET HEADER BYTE #1. 330 000423 7002 BSW 331 000424 0377 B377, AND B3 /THIS INSTRUCTION IS ALSO USED 332 /AS A CONSTANT. 333 000425 3362 DCA CURTRK /BITS [3] OF CURRENT TRACK. 334 000426 6615 RRSI /GET HEADER BYTE #2. 335 000427 0224 AND B377 /THIS SHOULD BE DONE BY HARDWARE! 336 000430 7106 CLL RTL /BITS [774] OF CURRENT TRACK. 337 000431 1362 TAD CURTRK 338 000432 3362 DCA CURTRK 339 000433 4251 JMS TRKCMP /IF ON TRACK, DO TRANSFER. 340 000434 1362 TAD CURTRK /OFF TRACK: CONSTRUCT DIFFERENCE 341 000435 7110 CLL RAR /WORD FOR SEEK. 342 000436 7041 CIA 343 000437 1365 TAD CYL 344 000440 7500 SMA 345 000441 5244 JMP AROUND 346 000442 7041 CIA 347 000443 7410 SKP 348 000444 1370 AROUND, TAD B4000 /SET DIRECTION BIT IF TO HIGHER 349 /CYLINDER ADDRESS. 350 000445 1364 TAD SURF 351 000446 6603 RLCA /LOAD DIFFERENCE WORD. 352 000447 7326 AC0002 /PREPARE AC FOR SEEK FUNCTION. 353 000450 5216 JMP SEEK /SEEK. 354 000451 0000 TRKCMP, 0 /IF ON TRACK, DO TRANSFER. 355 000452 1362 TAD CURTRK /COMPARE CURRENT TRACK AND 356 000453 7041 CIA /DESIRED TRACK. 357 000454 1600 TAD I MAIN /1ST ARG=TRACK. 358 000455 7640 SZA CLA 359 000456 5651 JMP I TRKCMP /DIFFERENT: SEEK. 360 000457 2200 ISZ MAIN /ON TRACK: DO TRANSFER. 361 000460 1365 TAD CYL 362 000461 1364 TAD SURF 363 000462 6603 RLCA /LOAD DISK ADDRESS OF TRACK. 364 000463 1600 TAD I MAIN /2ND ARG=SECTOR. 365 000464 7002 BSW 366 000465 6605 RLSA /LOAD SECTOR ADDRESS. 367 000466 2200 ISZ MAIN 368 000467 1600 TAD I MAIN /3RD ARG=WORD COUNT. 369 000470 6607 RLWC /LOAD WORD COUNT. 370 000471 2200 ISZ MAIN 371 000472 1600 TAD I MAIN /4TH ARG=MA. 372 000473 6602 RLMA /LOAD MA. 373 000474 2200 ISZ MAIN 374 000475 1600 TAD I MAIN /5TH ARG=FUNCTION. 375 000476 4335 JMS IO /DO RL01 FUNCTION. 376 000477 2200 ISZ MAIN 377 000500 5600 JMP I MAIN /RETURN FROM TRANSFER SUBROUTINE. 378 000501 1357 TRANS, TAD BASE /DO TRANSFER. 379 /INITIALIZE BAD BLOCK MAPPING. 380 000502 3360 DCA MAPPER 381 000503 1760 MAP, TAD I MAPPER /DO BAD BLOCK MAPPING. 382 /GET BAD BLOCK IF ANY. 383 000504 7450 SNA /DONE? (0 TERMINATES) 384 000505 5315 JMP MAPPED /YES. 385 000506 7161 STL CIA /NO, 13-BIT NEGATE. 386 000507 1751 TAD I BBLOCK /SUBTRACT FROM CURRENT BLOCK. 387 000510 7630 SZL CLA /IS BAD BLOCK GREATER (UNSIGNED)? 388 000511 5315 JMP MAPPED /YES, MAPPING IS DONE. 389 000512 2360 ISZ MAPPER /NO, MAP AROUND THIS BAD BLOCK 390 /AND TRY NEXT. 391 000513 2751 NEXT, ISZ I BBLOCK /WILL NEVER SKIP. 392 000514 5303 JMP MAP /CONTINUE MAPPING UNTIL DONE. 393 000515 1751 MAPPED, TAD I BBLOCK /CALCULATE SECTOR FROM BLOCK. 394 000516 0377 AND B3 395 000517 7106 CLL RTL 396 000520 3752 DCA I BSECT 397 000521 1751 TAD I BBLOCK /TEST BLOCK FOR LEGALITY: LEGAL 398 000522 1371 TAD B4010 /BLOCKS ARE 0-3767. 399 000523 7630 SZL CLA 400 000524 5756 JMP I BERROR 401 000525 1751 TAD I BBLOCK /CALCULATE TRACK FROM BLOCK. 402 000526 7012 RTR 403 000527 0367 AND B777 404 000530 7001 IAC 405 000531 3753 DCA I BTRACK 406 000532 4754 JMS I BHALF /TRANSFER 1ST HALF OF BLOCK. 407 000533 4754 JMS I BHALF /TRANSFER 2ND HALF OF BLOCK. 408 000534 5313 JMP NEXT /CONTINUE WITH NEXT BLOCK. 409 000535 0000 IO, 0 /DO RL01 FUNCTION. 410 000536 7002 BSW 411 000537 1755 TAD I BDRIVE 412 000540 7002 BSW /PUT DRIVE INTO BITS [300]. 413 000541 6604 RLCB /DO RL01 COMMAND. 414 000542 6601 RLSD /WAIT UNTIL DONE. 415 000543 5342 JMP .-1 416 000544 6617 RLSE /ANY ERRORS? 417 000545 5735 JMP I IO /NO, RETURN. 418 000546 2366 ISZ ERRCNT /YES, TRY AGAIN? 419 000547 5213 JMP RETRY /YES. 420 000550 5756 JMP I BERROR /TAKE ERROR RETURN WHEN 3 421 /TRIES HAVE BEEN DONE. 422 423 /DATA 424 000551 7773 BBLOCK, BLOCK-MAIN 425 000552 7752 BSECT, SECTOR-MAIN 426 000553 7751 BTRACK, TRACK-MAIN 427 000554 7747 BHALF, HALF-MAIN 428 000555 7771 BDRIVE, DRIVE-MAIN 429 000556 7742 BERROR, ERROR-MAIN 430 000557 7671 BASE, BBL+1-MAIN /START OF BBL FOR MAPPING. 431 000560 0000 MAPPER, 0 432 000561 0000 MAINSV, 0 /SAVED "MAIN" VALUE. 433 000562 0000 CURTRK, 0 434 000563 1004 HEADER, BYTE RLRH 435 000564 0000 SURF, 0 436 000565 0000 CYL, 0 437 000566 0000 ERRCNT, 0 438 000567 0777 B777, 777 439 000570 4000 B4000, 4000 440 000571 4010 B4010, 4010 441 442 000572 0000 ZBLOCK 577-. /UNUSED. 000573 0000 000574 0000 000575 0000 000576 0000 443 444 000577 0003 B3, 3 /THIS CONSTANT MUST BE AT 445 /LAST LOC OF 2ND PAGE. 446 447 $ A175 0257 A200 0246 A3777 0263 A4070 0247 A7600 0353 ABBL 0334 AC0001 7201 AC0002 7326 AC0003 7325 AC0004 7307 unreferenced AC0006 7327 unreferenced AC0100 7203 unreferenced AC2000 7332 AC3777 7350 unreferenced AC4000 7330 AC5777 7352 unreferenced AC6000 7333 unreferenced AC7775 7346 AC7776 7344 unreferenced ACIDF 0233 ACURTK 0244 ARG 0250 ARLRD 0335 AROUND 0444 ATRANS 0243 B3 0577 B377 0424 B4000 0570 B4010 0571 B777 0567 BASE 0557 BBL 0270 BBLOCK 0551 BDRIVE 0555 BEGIN 0317 BERROR 0556 BHALF 0554 BLOCK 0373 BSECT 0552 BTRACK 0553 BYTE 1000 CHECK 0245 CURDRV 0377 CURTRK 0562 CYL 0565 DONE 0344 DRIVE 0371 ERRCNT 0566 ERROR 0342 FNC 0355 GO 0267 HALF 0347 HEADER 0563 ID 0123 IO 0535 JMPX 0274 LIST 0304 LOOP 0272 MA 0354 MAIN 0400 MAINSV 0561 MAP 0503 MAPPED 0515 MAPPER 0560 NEXT 0513 NOCHK 0000 ONCE 0241 ONLY 0377 PAGES 0372 RETRY 0413 RL0C 0250 RL1C 0254 RL2C 0260 unreferenced RL3C 0264 unreferenced RLCA 6603 RLCB 6604 RLDC 6600 RLIOT 6600 RLMA 6602 RLMT 0000 unreferenced RLRD 0006 RLRE 0001 unreferenced RLRH 0004 RLRN 0007 unreferenced RLSA 6605 RLSD 6601 RLSE 6617 RLSK 0003 unreferenced RLST 0002 unreferenced RLWC 6607 RLWR 0005 unreferenced RRCA 6612 unreferenced RRCB 6613 unreferenced RRER 6610 unreferenced RRSA 6614 unreferenced RRSI 6615 RRWC 6611 unreferenced RTN 0345 SECTOR 0352 SEEK 0416 START 0200 SURF 0564 TADX 0253 TRACK 0351 TRANS 0501 TRKCMP 0451 VERSIO 0002