Home » CEEFAX disks » telesoftware9.adl » 26-09-88/COPYALL
26-09-88/COPYALL
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » CEEFAX disks » telesoftware9.adl |
Filename: | 26-09-88/COPYALL |
Read OK: | ✔ |
File size: | 1EA8 bytes |
Load address: | FFFF1900 |
Exec address: | FFFF8023 |
File contents
10REM: COPYALL 20osnewl=&FFE7 30oswrch=&FFEE 40osword=&FFF1 50osbyte=&FFF4 60DIM table &50 70DIM mcode &500 80DIM buffer &1000 90FOR pass=0 TO 2 STEP 2 100P%=mcode 110[OPT pass 120JSR osnewl 130.mainloop 140JSR escape \ check escape flag 150JSR seek \ seek physical tracks 0 - 40 160JSR firstsector \ read sector id first sector 170BNE notformatted \ if error track not formatted 180JSR sectorids \ read all sector ids 190JSR format \ format sector on drive 1 200.loopsector 210JSR escape \ check escape flag 220JSR copysector \ read and write sector 230BPL loopsector \ copy next sector 240LDA physical \ physical track number 250JSR register \ write track register 260JMP output 270.notformatted 280JSR deform \ deformat this track 290.output 300JSR printbyte \ print track number 310INC physical \ increment physical track number 320LDA physical \ load physical track number 330CMP last \ all done? 340BNE mainloop \ if not copy next track 350JSR osnewl 360RTS \ return to BASIC 370.escape 380LDA &FF \ escape flag 390BMI pressed \ bit 7 set if pressed 400RTS 410.pressed 420LDA #&7E 430JSR osbyte \ acknowledge Escape 440BRK 450BRK 460EQUS "Escape" 470BRK 480.seek 490LDA physical \ physical track number 500STA seekblock+7 510LDA #&00 \ drive 0 520STA seekblock \ store drive number 530LDA #&7F 540LDX #seekblock MOD 256 550LDY #seekblock DIV 256 560JSR osword 570LDA seekblock+8 \ result 580BNE seekerror \ = 0 if OK 590LDA #&01 \ drive 1 600STA seekblock \ store drive number 610LDA #&7F 620LDX #seekblock MOD 256 630LDY #seekblock DIV 256 640JSR osword 650LDA seekblock+8 \ result 660BNE seekerror \ = 0 if OK 670RTS 680.seekerror 690BRK 700BRK 710EQUS "Seek error" 720BRK 730.format 740LDA physical \ physical track number 750STA formblock+7 \ store physical track 760LDA table+3 \ data size code 770TAX \ used as index later 780ASL A \ *2 790ASL A \ *4 800ASL A \ *8 810ASL A \ *16 820ASL A \ *32 830STA formblock+9 \ store datacode*32 840ORA #&01 \ add 1 850STA copyblock+9 \ store datacode*32+1 860LDA sizes,X \ load number of sectors 870ORA formblock+9 \ add datacode*32 880STA formblock+9 \ store datacode*32+numbersectors 890LDA gap,X \ load gap 3 for these sectors 900STA formblock+8 \ store for formatting 910LDA #&7F 920LDX #formblock MOD 256 930LDY #formblock DIV 256 940JSR osword 950LDA formblock+12 \ result 960BNE formerror \ = 0 if OK 970LDX table+3 \ load data size code 980LDA sizes,X \ load number of sectors 990ASL A \ *2 1000ASL A \ *4 1010SEC 1020SBC #&04 \ sectors*4-4 1030STA sectornumber \ store index on sectors 1040RTS 1050.formerror 1060BRK 1070BRK 1080EQUS "Format error" 1090BRK 1100.deform 1110LDA physical \ load physical track number 1120STA deblock+7 \ store physical track 1130LDA #&7F 1140LDX #deblock MOD 256 1150LDY #deblock DIV 256 1160JSR osword \ "deformat" track 1170LDA deblock+12 \ result 1180BNE deerror \ = 0 if OK 1190RTS 1200.deerror 1210BRK 1220BRK 1230EQUS "Deformat error" 1240BRK 1250.register 1260STA regblock+8 \ value to put in register 1270LDA #&00 \ drive 0 1280STA regblock 1290LDA #&12 \ write track register 0/2 1300STA regblock+7 \ register number 1310LDA #&7F 1320LDX #regblock MOD 256 1330LDY #regblock DIV 256 1340JSR osword 1350LDA regblock+9 \ result 1360BNE regerror \ = 0 if OK 1370LDA #&01 \ drive 1 1380STA regblock 1390LDA #&1A \ write track register 1/3 1400STA regblock+7 \ register number 1410LDA #&7F 1420LDX #regblock MOD 256 1430LDY #regblock DIV 256 1440JSR osword 1450LDA regblock+9 \ result 1460BNE regerror \ = 0 if OK 1470RTS 1480.regerror 1490BRK 1500BRK 1510EQUS "Special register error" 1520BRK 1530.firstsector 1540LDA physical \ physical track number 1550STA idsblock+7 \ store physical track 1560LDA #&01 \ one sector 1570STA idsblock+9 \ number of ids 1580LDA #&7F 1590LDX #idsblock MOD 256 1600LDY #idsblock DIV 256 1610JSR osword 1620LDA idsblock+10 \ result 1630AND #&1E \ = 0 if formatted 1640RTS 1650.sectorids 1660LDX table+3 \ load data size code 1670LDA sizes,X \ load number of sectors 1680STA idsblock+9 \ store number of sectors 1690LDA #&7F 1700LDX #idsblock MOD 256 1710LDY #idsblock DIV 256 1720JSR osword 1730LDA idsblock+10 \ result 1740AND #&1E 1750BNE idserror \ = 0 if OK 1760RTS 1770.idserror 1780BRK 1790BRK 1800EQUS "Sector ID Error" 1810BRK 1820.copysector 1830LDX sectornumber \ load index on table 1840LDA table+2,X \ load logical sector number 1850STA copyblock+8 \ store for read sector 1860LDA table,X \ load logical track number 1870STA copyblock+7 \ and store for read 1880JSR register \ write track register 1890LDA #&00 \ drive 0 1900STA copyblock 1910LDA #&57 \ read sector command 1920STA copyblock+6 1930LDA #&7F 1940LDX #copyblock MOD 256 1950LDY #copyblock DIV 256 1960JSR osword 1970LDA copyblock+10 1980BEQ notdel \ not deleted data 1990CMP #&20 \ deleted data result 2000BNE readerror \ error if not &20 2010LDA #&4F \ write deleted data command 2020BNE savecom 2030.notdel 2040LDA #&4B \ write data command 2050.savecom 2060STA copyblock+6 2070LDA #&01 \ drive 1 2080STA copyblock 2090LDA #&7F 2100LDX #copyblock MOD 256 2110LDY #copyblock DIV 256 2120JSR osword 2130LDA copyblock+10 \ result 2140BNE writeerror \ = 0 if OK 2150SEC 2160LDA sectornumber \ sector index on table 2170SBC #&04 2180STA sectornumber \ index=index-4 2190RTS 2200.readerror 2210LDA physical \ physical track number 2220JSR register \ write track register 2230BRK 2240BRK 2250EQUS "Read error" 2260BRK 2270.writeerror 2280LDA physical \ physical track number 2290JSR register \ write track register 2300BRK 2310BRK 2320EQUS "Write error" 2330BRK 2340.printbyte 2350LDA physical \ print physical track number 2360PHA 2370LSR A 2380LSR A 2390LSR A 2400LSR A 2410JSR nybble \ print MS nybble 2420PLA 2430JSR nybble \ print LS nybble 2440LDA #ASC(" ") 2450JSR oswrch \ print space 2460JMP oswrch \ print space and return 2470.nybble 2480AND #&0F 2490SED 2500CLC 2510ADC #&90 2520ADC #&40 2530CLD 2540JMP oswrch \ print nybble and return 2550.seekblock 2560EQUB &00 \ drive 0/1 2570EQUD &00 \ does not matter 2580EQUB &01 \ 1 parameter 2582EQUB &69 \ seek command 2584EQUB &00 \ physical track number 2586EQUB &00 \ result byte 2590.regblock 2600EQUB &00 \ drive 0/1 2610EQUD &00 \ does not matter 2620EQUB &02 \ 2 parameters 2622EQUB &7A \ write special register 2624EQUB &00 \ register number 2626EQUB &00 \ value to put in register 2630EQUB &00 \ result byte 2640.idsblock 2650EQUB &00 \ drive 0 2660EQUD table \ address of buffer 2670EQUB &03 \ 3 parameters 2672EQUB &5B \ read sector IDs 2674EQUB &00 \ physical track number 2676EQUB &00 \ always &00 2678EQUB &00 \ number of IDs to be read 2680EQUB &00 \ result byte 2690.copyblock 2700EQUB &00 \ drive 0/1 2710EQUD buffer \ address of buffer 2720EQUB &03 \ 3 parameters 2722EQUB &57 \ read data and deleted data 2724EQUB &00 \ logical track number 2726EQUB &00 \ logical sector number 2728EQUB &00 \ sector size/number 2730EQUB &00 \ result byte 2740.formblock 2750EQUB &01 \ drive 1 2760EQUD table \ sector table 2770EQUB &05 \ 5 parameters 2772EQUB &63 \ format track command 2774EQUB &00 \ physical track number 2776EQUB &00 \ gap 3 size 2778EQUB &00 \ sector size/number 2780EQUB &00 \ gap 5 size 2782EQUB &10 \ gap 1 size 2784EQUB &00 \ result byte 2790.deblock 2800EQUB &01 \ drive 1 2810EQUD detable \ sector table 2820EQUB &05 \ 5 parameters 2822EQUB &63 \ format track command 2824EQUB &00 \ physical track number 2826EQUB &00 \ gap 3 size 2828EQUB &C1 \ sector size/number 2830EQUB &00 \ gap 5 size 2832EQUB &10 \ gap 1 size 2834EQUB &00 \ result byte 2840.detable 2850EQUD &04000000 2860.gap 2870EQUB 11 \ Gap 3, 18 sectors 2880EQUB 21 \ Gap 3, 10 sectors 2890EQUB 74 \ Gap 3, 5 sectors 2900EQUB 255 \ Gap 3, 2 sectors 2910EQUB 0 \ Gap 3, 1 sector 2920.sizes 2930EQUB 18 2940EQUB 10 2950EQUB 5 2960EQUB 2 2970EQUB 1 2980.physical 2990EQUB &00 3000.sectornumber 3010EQUB &00 3020.last 3030EQUB &00 3040] 3050NEXT 3060INPUT'"Number of tracks (40/80) "tracks$ 3070IF tracks$="40" ?last=40 ELSE ?last=80 3080PRINT'"Insert ";?last;" track source disc in :0" 3090PRINT"Insert ";?last;" track destination disc in :1" 3100PRINT'"Press Spacebar to copy from :0 to :1" 3110REPEAT 3120UNTIL GET=32 3130CALL mcode
�: COPYALL osnewl=&FFE7 oswrch=&FFEE (osword=&FFF1 2osbyte=&FFF4 <� table &50 F� mcode &500 P� buffer &1000 Z� pass=0 � 2 � 2 dP%=mcode n [OPT pass xJSR osnewl � .mainloop �"JSR escape \ check escape flag �*JSR seek \ seek physical tracks 0 - 40 �1JSR firstsector \ read sector id first sector �3BNE notformatted \ if error track not formatted �'JSR sectorids \ read all sector ids �)JSR format \ format sector on drive 1 �.loopsector �"JSR escape \ check escape flag �*JSR copysector \ read and write sector �%BPL loopsector \ copy next sector �(LDA physical \ physical track number �'JSR register \ write track register JMP output .notformatted $JSR deform \ deformat this track ".output ,&JSR printbyte \ print track number 62INC physical \ increment physical track number @-LDA physical \ load physical track number JCMP last \ all done? T)BNE mainloop \ if not copy next track ^JSR osnewl hRTS \ return to BASIC r.escape |LDA &FF \ escape flag �&BMI pressed \ bit 7 set if pressed �RTS �.pressed �LDA #&7E �#JSR osbyte \ acknowledge Escape �BRK �BRK �EQUS "Escape" �BRK � .seek �(LDA physical \ physical track number �STA seekblock+7 �LDA #&00 \ drive 0 &STA seekblock \ store drive number LDA #&7F LDX #seekblock � 256 &LDY #seekblock � 256 0JSR osword :LDA seekblock+8 \ result DBNE seekerror \ = 0 if OK NLDA #&01 \ drive 1 X&STA seekblock \ store drive number bLDA #&7F lLDX #seekblock � 256 vLDY #seekblock � 256 �JSR osword �LDA seekblock+8 \ result �BNE seekerror \ = 0 if OK �RTS �.seekerror �BRK �BRK �EQUS "Seek error" �BRK �.format �(LDA physical \ physical track number �*STA formblock+7 \ store physical track � LDA table+3 \ data size code TAX \ used as index later ASL A \ *2 ASL A \ *4 ASL A \ *8 *ASL A \ *16 4ASL A \ *32 >'STA formblock+9 \ store datacode*32 H�A #&01 \ add 1 R)STA copyblock+9 \ store datacode*32+1 \(LDA sizes,X \ load number of sectors f$�A formblock+9 \ add datacode*32 p5STA formblock+9 \ store datacode*32+numbersectors z,LDA gap,X \ load gap 3 for these sectors �*STA formblock+8 \ store for formatting �LDA #&7F �LDX #formblock � 256 �LDY #formblock � 256 �JSR osword �LDA formblock+12 \ result �BNE formerror \ = 0 if OK �%LDX table+3 \ load data size code �(LDA sizes,X \ load number of sectors �ASL A \ *2 �ASL A \ *4 �SEC �SBC #&04 \ sectors*4-4 -STA sectornumber \ store index on sectors RTS .formerror $BRK .BRK 8EQUS "Format error" BBRK L.deform V-LDA physical \ load physical track number `(STA deblock+7 \ store physical track jLDA #&7F tLDX #deblock � 256 ~LDY #deblock � 256 �!JSR osword \ "deformat" track �LDA deblock+12 \ result �BNE deerror \ = 0 if OK �RTS �.deerror �BRK �BRK �EQUS "Deformat error" �BRK � .register �-STA regblock+8 \ value to put in register �LDA #&00 \ drive 0 STA regblock 'LDA #&12 \ write track register 0/2 $STA regblock+7 \ register number LDA #&7F (LDX #regblock � 256 2LDY #regblock � 256 <JSR osword FLDA regblock+9 \ result PBNE regerror \ = 0 if OK ZLDA #&01 \ drive 1 dSTA regblock n'LDA #&1A \ write track register 1/3 x$STA regblock+7 \ register number �LDA #&7F �LDX #regblock � 256 �LDY #regblock � 256 �JSR osword �LDA regblock+9 \ result �BNE regerror \ = 0 if OK �RTS � .regerror �BRK �BRK �!EQUS "Special register error" �BRK �.firstsector (LDA physical \ physical track number )STA idsblock+7 \ store physical track LDA #&01 \ one sector ""STA idsblock+9 \ number of ids ,LDA #&7F 6LDX #idsblock � 256 @LDY #idsblock � 256 JJSR osword TLDA idsblock+10 \ result ^� #&1E \ = 0 if formatted hRTS r.sectorids |%LDX table+3 \ load data size code �(LDA sizes,X \ load number of sectors �,STA idsblock+9 \ store number of sectors �LDA #&7F �LDX #idsblock � 256 �LDY #idsblock � 256 �JSR osword �LDA idsblock+10 \ result � � #&1E �BNE idserror \ = 0 if OK �RTS � .idserror �BRK �BRK EQUS "Sector ID Error" BRK .copysector &*LDX sectornumber \ load index on table 0.LDA table+2,X \ load logical sector number :+STA copyblock+8 \ store for read sector D+LDA table,X \ load logical track number N(STA copyblock+7 \ and store for read X'JSR register \ write track register bLDA #&00 \ drive 0 lSTA copyblock v"LDA #&57 \ read sector command �STA copyblock+6 �LDA #&7F �LDX #copyblock � 256 �LDY #copyblock � 256 �JSR osword �LDA copyblock+10 �!BEQ notdel \ not deleted data �"CMP #&20 \ deleted data result �$BNE readerror \ error if not &20 �)LDA #&4F \ write deleted data command �BNE savecom �.notdel �!LDA #&4B \ write data command .savecom STA copyblock+6 LDA #&01 \ drive 1 STA copyblock *LDA #&7F 4LDX #copyblock � 256 >LDY #copyblock � 256 HJSR osword RLDA copyblock+10 \ result \BNE writeerror \ = 0 if OK fSEC p,LDA sectornumber \ sector index on table zSBC #&04 �$STA sectornumber \ index=index-4 �RTS �.readerror �(LDA physical \ physical track number �'JSR register \ write track register �BRK �BRK �EQUS "Read error" �BRK �.writeerror �(LDA physical \ physical track number �'JSR register \ write track register �BRK BRK EQUS "Write error" BRK $.printbyte ..LDA physical \ print physical track number 8PHA B LSR A L LSR A V LSR A ` LSR A j JSR nybble \ print MS nybble tPLA ~ JSR nybble \ print LS nybble �LDA #�(" ") �JSR oswrch \ print space �'JMP oswrch \ print space and return �.nybble � � #&0F �SED �CLC �ADC #&90 �ADC #&40 �CLD �(JMP oswrch \ print nybble and return �.seekblock EQUB &00 \ drive 0/1 EQUD &00 \ does not matter EQUB &01 \ 1 parameter EQUB &69 \ seek command $EQUB &00 \ physical track number EQUB &00 \ result byte .regblock (EQUB &00 \ drive 0/1 2EQUD &00 \ does not matter <EQUB &02 \ 2 parameters >%EQUB &7A \ write special register @EQUB &00 \ register number B'EQUB &00 \ value to put in register FEQUB &00 \ result byte P .idsblock ZEQUB &00 \ drive 0 d"EQUD table \ address of buffer nEQUB &03 \ 3 parameters pEQUB &5B \ read sector IDs r$EQUB &00 \ physical track number tEQUB &00 \ always &00 v'EQUB &00 \ number of IDs to be read xEQUB &00 \ result byte �.copyblock �EQUB &00 \ drive 0/1 �#EQUD buffer \ address of buffer �EQUB &03 \ 3 parameters �)EQUB &57 \ read data and deleted data �#EQUB &00 \ logical track number �$EQUB &00 \ logical sector number �!EQUB &00 \ sector size/number �EQUB &00 \ result byte �.formblock �EQUB &01 \ drive 1 �EQUD table \ sector table �EQUB &05 \ 5 parameters �#EQUB &63 \ format track command �$EQUB &00 \ physical track number �EQUB &00 \ gap 3 size �!EQUB &00 \ sector size/number �EQUB &00 \ gap 5 size �EQUB &10 \ gap 1 size �EQUB &00 \ result byte �.deblock �EQUB &01 \ drive 1 �EQUD detable \ sector table EQUB &05 \ 5 parameters #EQUB &63 \ format track command $EQUB &00 \ physical track number EQUB &00 \ gap 3 size !EQUB &C1 \ sector size/number EQUB &00 \ gap 5 size EQUB &10 \ gap 1 size EQUB &00 \ result byte .detable "EQUD &04000000 ,.gap 6EQUB 11 \ Gap 3, 18 sectors @EQUB 21 \ Gap 3, 10 sectors JEQUB 74 \ Gap 3, 5 sectors TEQUB 255 \ Gap 3, 2 sectors ^EQUB 0 \ Gap 3, 1 sector h .sizes rEQUB 18 |EQUB 10 � EQUB 5 � EQUB 2 � EQUB 1 � .physical �EQUB &00 �.sectornumber �EQUB &00 � .last �EQUB &00 �] �� �(�'"Number of tracks (40/80) "tracks$ �&� tracks$="40" ?last=40 � ?last=80 0�'"Insert ";?last;" track source disc in :0" 4�"Insert ";?last;" track destination disc in :1" ,�'"Press Spacebar to copy from :0 to :1" &� 0 � �=32 :� mcode �
00000000 0d 00 0a 0e f4 3a 20 43 4f 50 59 41 4c 4c 0d 00 |.....: COPYALL..| 00000010 14 10 6f 73 6e 65 77 6c 3d 26 46 46 45 37 0d 00 |..osnewl=&FFE7..| 00000020 1e 10 6f 73 77 72 63 68 3d 26 46 46 45 45 0d 00 |..oswrch=&FFEE..| 00000030 28 10 6f 73 77 6f 72 64 3d 26 46 46 46 31 0d 00 |(.osword=&FFF1..| 00000040 32 10 6f 73 62 79 74 65 3d 26 46 46 46 34 0d 00 |2.osbyte=&FFF4..| 00000050 3c 0f de 20 74 61 62 6c 65 20 26 35 30 0d 00 46 |<.. table &50..F| 00000060 10 de 20 6d 63 6f 64 65 20 26 35 30 30 0d 00 50 |.. mcode &500..P| 00000070 12 de 20 62 75 66 66 65 72 20 26 31 30 30 30 0d |.. buffer &1000.| 00000080 00 5a 14 e3 20 70 61 73 73 3d 30 20 b8 20 32 20 |.Z.. pass=0 . 2 | 00000090 88 20 32 0d 00 64 0c 50 25 3d 6d 63 6f 64 65 0d |. 2..d.P%=mcode.| 000000a0 00 6e 0d 5b 4f 50 54 20 70 61 73 73 0d 00 78 0e |.n.[OPT pass..x.| 000000b0 4a 53 52 20 6f 73 6e 65 77 6c 0d 00 82 0d 2e 6d |JSR osnewl.....m| 000000c0 61 69 6e 6c 6f 6f 70 0d 00 8c 22 4a 53 52 20 65 |ainloop..."JSR e| 000000d0 73 63 61 70 65 20 5c 20 63 68 65 63 6b 20 65 73 |scape \ check es| 000000e0 63 61 70 65 20 66 6c 61 67 0d 00 96 2a 4a 53 52 |cape flag...*JSR| 000000f0 20 73 65 65 6b 20 5c 20 73 65 65 6b 20 70 68 79 | seek \ seek phy| 00000100 73 69 63 61 6c 20 74 72 61 63 6b 73 20 30 20 2d |sical tracks 0 -| 00000110 20 34 30 0d 00 a0 31 4a 53 52 20 66 69 72 73 74 | 40...1JSR first| 00000120 73 65 63 74 6f 72 20 5c 20 72 65 61 64 20 73 65 |sector \ read se| 00000130 63 74 6f 72 20 69 64 20 66 69 72 73 74 20 73 65 |ctor id first se| 00000140 63 74 6f 72 0d 00 aa 33 42 4e 45 20 6e 6f 74 66 |ctor...3BNE notf| 00000150 6f 72 6d 61 74 74 65 64 20 5c 20 69 66 20 65 72 |ormatted \ if er| 00000160 72 6f 72 20 74 72 61 63 6b 20 6e 6f 74 20 66 6f |ror track not fo| 00000170 72 6d 61 74 74 65 64 0d 00 b4 27 4a 53 52 20 73 |rmatted...'JSR s| 00000180 65 63 74 6f 72 69 64 73 20 5c 20 72 65 61 64 20 |ectorids \ read | 00000190 61 6c 6c 20 73 65 63 74 6f 72 20 69 64 73 0d 00 |all sector ids..| 000001a0 be 29 4a 53 52 20 66 6f 72 6d 61 74 20 5c 20 66 |.)JSR format \ f| 000001b0 6f 72 6d 61 74 20 73 65 63 74 6f 72 20 6f 6e 20 |ormat sector on | 000001c0 64 72 69 76 65 20 31 0d 00 c8 0f 2e 6c 6f 6f 70 |drive 1.....loop| 000001d0 73 65 63 74 6f 72 0d 00 d2 22 4a 53 52 20 65 73 |sector..."JSR es| 000001e0 63 61 70 65 20 5c 20 63 68 65 63 6b 20 65 73 63 |cape \ check esc| 000001f0 61 70 65 20 66 6c 61 67 0d 00 dc 2a 4a 53 52 20 |ape flag...*JSR | 00000200 63 6f 70 79 73 65 63 74 6f 72 20 5c 20 72 65 61 |copysector \ rea| 00000210 64 20 61 6e 64 20 77 72 69 74 65 20 73 65 63 74 |d and write sect| 00000220 6f 72 0d 00 e6 25 42 50 4c 20 6c 6f 6f 70 73 65 |or...%BPL loopse| 00000230 63 74 6f 72 20 5c 20 63 6f 70 79 20 6e 65 78 74 |ctor \ copy next| 00000240 20 73 65 63 74 6f 72 0d 00 f0 28 4c 44 41 20 70 | sector...(LDA p| 00000250 68 79 73 69 63 61 6c 20 5c 20 70 68 79 73 69 63 |hysical \ physic| 00000260 61 6c 20 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d |al track number.| 00000270 00 fa 27 4a 53 52 20 72 65 67 69 73 74 65 72 20 |..'JSR register | 00000280 5c 20 77 72 69 74 65 20 74 72 61 63 6b 20 72 65 |\ write track re| 00000290 67 69 73 74 65 72 0d 01 04 0e 4a 4d 50 20 6f 75 |gister....JMP ou| 000002a0 74 70 75 74 0d 01 0e 11 2e 6e 6f 74 66 6f 72 6d |tput.....notform| 000002b0 61 74 74 65 64 0d 01 18 24 4a 53 52 20 64 65 66 |atted...$JSR def| 000002c0 6f 72 6d 20 5c 20 64 65 66 6f 72 6d 61 74 20 74 |orm \ deformat t| 000002d0 68 69 73 20 74 72 61 63 6b 0d 01 22 0b 2e 6f 75 |his track.."..ou| 000002e0 74 70 75 74 0d 01 2c 26 4a 53 52 20 70 72 69 6e |tput..,&JSR prin| 000002f0 74 62 79 74 65 20 5c 20 70 72 69 6e 74 20 74 72 |tbyte \ print tr| 00000300 61 63 6b 20 6e 75 6d 62 65 72 0d 01 36 32 49 4e |ack number..62IN| 00000310 43 20 70 68 79 73 69 63 61 6c 20 5c 20 69 6e 63 |C physical \ inc| 00000320 72 65 6d 65 6e 74 20 70 68 79 73 69 63 61 6c 20 |rement physical | 00000330 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d 01 40 2d |track number..@-| 00000340 4c 44 41 20 70 68 79 73 69 63 61 6c 20 5c 20 6c |LDA physical \ l| 00000350 6f 61 64 20 70 68 79 73 69 63 61 6c 20 74 72 61 |oad physical tra| 00000360 63 6b 20 6e 75 6d 62 65 72 0d 01 4a 18 43 4d 50 |ck number..J.CMP| 00000370 20 6c 61 73 74 20 5c 20 61 6c 6c 20 64 6f 6e 65 | last \ all done| 00000380 3f 0d 01 54 29 42 4e 45 20 6d 61 69 6e 6c 6f 6f |?..T)BNE mainloo| 00000390 70 20 5c 20 69 66 20 6e 6f 74 20 63 6f 70 79 20 |p \ if not copy | 000003a0 6e 65 78 74 20 74 72 61 63 6b 0d 01 5e 0e 4a 53 |next track..^.JS| 000003b0 52 20 6f 73 6e 65 77 6c 0d 01 68 19 52 54 53 20 |R osnewl..h.RTS | 000003c0 5c 20 72 65 74 75 72 6e 20 74 6f 20 42 41 53 49 |\ return to BASI| 000003d0 43 0d 01 72 0b 2e 65 73 63 61 70 65 0d 01 7c 19 |C..r..escape..|.| 000003e0 4c 44 41 20 26 46 46 20 5c 20 65 73 63 61 70 65 |LDA &FF \ escape| 000003f0 20 66 6c 61 67 0d 01 86 26 42 4d 49 20 70 72 65 | flag...&BMI pre| 00000400 73 73 65 64 20 5c 20 62 69 74 20 37 20 73 65 74 |ssed \ bit 7 set| 00000410 20 69 66 20 70 72 65 73 73 65 64 0d 01 90 07 52 | if pressed....R| 00000420 54 53 0d 01 9a 0c 2e 70 72 65 73 73 65 64 0d 01 |TS.....pressed..| 00000430 a4 0c 4c 44 41 20 23 26 37 45 0d 01 ae 23 4a 53 |..LDA #&7E...#JS| 00000440 52 20 6f 73 62 79 74 65 20 5c 20 61 63 6b 6e 6f |R osbyte \ ackno| 00000450 77 6c 65 64 67 65 20 45 73 63 61 70 65 0d 01 b8 |wledge Escape...| 00000460 07 42 52 4b 0d 01 c2 07 42 52 4b 0d 01 cc 11 45 |.BRK....BRK....E| 00000470 51 55 53 20 22 45 73 63 61 70 65 22 0d 01 d6 07 |QUS "Escape"....| 00000480 42 52 4b 0d 01 e0 09 2e 73 65 65 6b 0d 01 ea 28 |BRK.....seek...(| 00000490 4c 44 41 20 70 68 79 73 69 63 61 6c 20 5c 20 70 |LDA physical \ p| 000004a0 68 79 73 69 63 61 6c 20 74 72 61 63 6b 20 6e 75 |hysical track nu| 000004b0 6d 62 65 72 0d 01 f4 13 53 54 41 20 73 65 65 6b |mber....STA seek| 000004c0 62 6c 6f 63 6b 2b 37 0d 01 fe 16 4c 44 41 20 23 |block+7....LDA #| 000004d0 26 30 30 20 5c 20 64 72 69 76 65 20 30 0d 02 08 |&00 \ drive 0...| 000004e0 26 53 54 41 20 73 65 65 6b 62 6c 6f 63 6b 20 5c |&STA seekblock \| 000004f0 20 73 74 6f 72 65 20 64 72 69 76 65 20 6e 75 6d | store drive num| 00000500 62 65 72 0d 02 12 0c 4c 44 41 20 23 26 37 46 0d |ber....LDA #&7F.| 00000510 02 1c 18 4c 44 58 20 23 73 65 65 6b 62 6c 6f 63 |...LDX #seekbloc| 00000520 6b 20 83 20 32 35 36 0d 02 26 18 4c 44 59 20 23 |k . 256..&.LDY #| 00000530 73 65 65 6b 62 6c 6f 63 6b 20 81 20 32 35 36 0d |seekblock . 256.| 00000540 02 30 0e 4a 53 52 20 6f 73 77 6f 72 64 0d 02 3a |.0.JSR osword..:| 00000550 1c 4c 44 41 20 73 65 65 6b 62 6c 6f 63 6b 2b 38 |.LDA seekblock+8| 00000560 20 5c 20 72 65 73 75 6c 74 0d 02 44 1d 42 4e 45 | \ result..D.BNE| 00000570 20 73 65 65 6b 65 72 72 6f 72 20 5c 20 3d 20 30 | seekerror \ = 0| 00000580 20 69 66 20 4f 4b 0d 02 4e 16 4c 44 41 20 23 26 | if OK..N.LDA #&| 00000590 30 31 20 5c 20 64 72 69 76 65 20 31 0d 02 58 26 |01 \ drive 1..X&| 000005a0 53 54 41 20 73 65 65 6b 62 6c 6f 63 6b 20 5c 20 |STA seekblock \ | 000005b0 73 74 6f 72 65 20 64 72 69 76 65 20 6e 75 6d 62 |store drive numb| 000005c0 65 72 0d 02 62 0c 4c 44 41 20 23 26 37 46 0d 02 |er..b.LDA #&7F..| 000005d0 6c 18 4c 44 58 20 23 73 65 65 6b 62 6c 6f 63 6b |l.LDX #seekblock| 000005e0 20 83 20 32 35 36 0d 02 76 18 4c 44 59 20 23 73 | . 256..v.LDY #s| 000005f0 65 65 6b 62 6c 6f 63 6b 20 81 20 32 35 36 0d 02 |eekblock . 256..| 00000600 80 0e 4a 53 52 20 6f 73 77 6f 72 64 0d 02 8a 1c |..JSR osword....| 00000610 4c 44 41 20 73 65 65 6b 62 6c 6f 63 6b 2b 38 20 |LDA seekblock+8 | 00000620 5c 20 72 65 73 75 6c 74 0d 02 94 1d 42 4e 45 20 |\ result....BNE | 00000630 73 65 65 6b 65 72 72 6f 72 20 5c 20 3d 20 30 20 |seekerror \ = 0 | 00000640 69 66 20 4f 4b 0d 02 9e 07 52 54 53 0d 02 a8 0e |if OK....RTS....| 00000650 2e 73 65 65 6b 65 72 72 6f 72 0d 02 b2 07 42 52 |.seekerror....BR| 00000660 4b 0d 02 bc 07 42 52 4b 0d 02 c6 15 45 51 55 53 |K....BRK....EQUS| 00000670 20 22 53 65 65 6b 20 65 72 72 6f 72 22 0d 02 d0 | "Seek error"...| 00000680 07 42 52 4b 0d 02 da 0b 2e 66 6f 72 6d 61 74 0d |.BRK.....format.| 00000690 02 e4 28 4c 44 41 20 70 68 79 73 69 63 61 6c 20 |..(LDA physical | 000006a0 5c 20 70 68 79 73 69 63 61 6c 20 74 72 61 63 6b |\ physical track| 000006b0 20 6e 75 6d 62 65 72 0d 02 ee 2a 53 54 41 20 66 | number...*STA f| 000006c0 6f 72 6d 62 6c 6f 63 6b 2b 37 20 5c 20 73 74 6f |ormblock+7 \ sto| 000006d0 72 65 20 70 68 79 73 69 63 61 6c 20 74 72 61 63 |re physical trac| 000006e0 6b 0d 02 f8 20 4c 44 41 20 74 61 62 6c 65 2b 33 |k... LDA table+3| 000006f0 20 5c 20 64 61 74 61 20 73 69 7a 65 20 63 6f 64 | \ data size cod| 00000700 65 0d 03 02 1d 54 41 58 20 5c 20 75 73 65 64 20 |e....TAX \ used | 00000710 61 73 20 69 6e 64 65 78 20 6c 61 74 65 72 0d 03 |as index later..| 00000720 0c 0e 41 53 4c 20 41 20 5c 20 2a 32 0d 03 16 0e |..ASL A \ *2....| 00000730 41 53 4c 20 41 20 5c 20 2a 34 0d 03 20 0e 41 53 |ASL A \ *4.. .AS| 00000740 4c 20 41 20 5c 20 2a 38 0d 03 2a 0f 41 53 4c 20 |L A \ *8..*.ASL | 00000750 41 20 5c 20 2a 31 36 0d 03 34 0f 41 53 4c 20 41 |A \ *16..4.ASL A| 00000760 20 5c 20 2a 33 32 0d 03 3e 27 53 54 41 20 66 6f | \ *32..>'STA fo| 00000770 72 6d 62 6c 6f 63 6b 2b 39 20 5c 20 73 74 6f 72 |rmblock+9 \ stor| 00000780 65 20 64 61 74 61 63 6f 64 65 2a 33 32 0d 03 48 |e datacode*32..H| 00000790 13 84 41 20 23 26 30 31 20 5c 20 61 64 64 20 31 |..A #&01 \ add 1| 000007a0 0d 03 52 29 53 54 41 20 63 6f 70 79 62 6c 6f 63 |..R)STA copybloc| 000007b0 6b 2b 39 20 5c 20 73 74 6f 72 65 20 64 61 74 61 |k+9 \ store data| 000007c0 63 6f 64 65 2a 33 32 2b 31 0d 03 5c 28 4c 44 41 |code*32+1..\(LDA| 000007d0 20 73 69 7a 65 73 2c 58 20 5c 20 6c 6f 61 64 20 | sizes,X \ load | 000007e0 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 |number of sector| 000007f0 73 0d 03 66 24 84 41 20 66 6f 72 6d 62 6c 6f 63 |s..f$.A formbloc| 00000800 6b 2b 39 20 5c 20 61 64 64 20 64 61 74 61 63 6f |k+9 \ add dataco| 00000810 64 65 2a 33 32 0d 03 70 35 53 54 41 20 66 6f 72 |de*32..p5STA for| 00000820 6d 62 6c 6f 63 6b 2b 39 20 5c 20 73 74 6f 72 65 |mblock+9 \ store| 00000830 20 64 61 74 61 63 6f 64 65 2a 33 32 2b 6e 75 6d | datacode*32+num| 00000840 62 65 72 73 65 63 74 6f 72 73 0d 03 7a 2c 4c 44 |bersectors..z,LD| 00000850 41 20 67 61 70 2c 58 20 5c 20 6c 6f 61 64 20 67 |A gap,X \ load g| 00000860 61 70 20 33 20 66 6f 72 20 74 68 65 73 65 20 73 |ap 3 for these s| 00000870 65 63 74 6f 72 73 0d 03 84 2a 53 54 41 20 66 6f |ectors...*STA fo| 00000880 72 6d 62 6c 6f 63 6b 2b 38 20 5c 20 73 74 6f 72 |rmblock+8 \ stor| 00000890 65 20 66 6f 72 20 66 6f 72 6d 61 74 74 69 6e 67 |e for formatting| 000008a0 0d 03 8e 0c 4c 44 41 20 23 26 37 46 0d 03 98 18 |....LDA #&7F....| 000008b0 4c 44 58 20 23 66 6f 72 6d 62 6c 6f 63 6b 20 83 |LDX #formblock .| 000008c0 20 32 35 36 0d 03 a2 18 4c 44 59 20 23 66 6f 72 | 256....LDY #for| 000008d0 6d 62 6c 6f 63 6b 20 81 20 32 35 36 0d 03 ac 0e |mblock . 256....| 000008e0 4a 53 52 20 6f 73 77 6f 72 64 0d 03 b6 1d 4c 44 |JSR osword....LD| 000008f0 41 20 66 6f 72 6d 62 6c 6f 63 6b 2b 31 32 20 5c |A formblock+12 \| 00000900 20 72 65 73 75 6c 74 0d 03 c0 1d 42 4e 45 20 66 | result....BNE f| 00000910 6f 72 6d 65 72 72 6f 72 20 5c 20 3d 20 30 20 69 |ormerror \ = 0 i| 00000920 66 20 4f 4b 0d 03 ca 25 4c 44 58 20 74 61 62 6c |f OK...%LDX tabl| 00000930 65 2b 33 20 5c 20 6c 6f 61 64 20 64 61 74 61 20 |e+3 \ load data | 00000940 73 69 7a 65 20 63 6f 64 65 0d 03 d4 28 4c 44 41 |size code...(LDA| 00000950 20 73 69 7a 65 73 2c 58 20 5c 20 6c 6f 61 64 20 | sizes,X \ load | 00000960 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 |number of sector| 00000970 73 0d 03 de 0e 41 53 4c 20 41 20 5c 20 2a 32 0d |s....ASL A \ *2.| 00000980 03 e8 0e 41 53 4c 20 41 20 5c 20 2a 34 0d 03 f2 |...ASL A \ *4...| 00000990 07 53 45 43 0d 03 fc 1a 53 42 43 20 23 26 30 34 |.SEC....SBC #&04| 000009a0 20 5c 20 73 65 63 74 6f 72 73 2a 34 2d 34 0d 04 | \ sectors*4-4..| 000009b0 06 2d 53 54 41 20 73 65 63 74 6f 72 6e 75 6d 62 |.-STA sectornumb| 000009c0 65 72 20 5c 20 73 74 6f 72 65 20 69 6e 64 65 78 |er \ store index| 000009d0 20 6f 6e 20 73 65 63 74 6f 72 73 0d 04 10 07 52 | on sectors....R| 000009e0 54 53 0d 04 1a 0e 2e 66 6f 72 6d 65 72 72 6f 72 |TS.....formerror| 000009f0 0d 04 24 07 42 52 4b 0d 04 2e 07 42 52 4b 0d 04 |..$.BRK....BRK..| 00000a00 38 17 45 51 55 53 20 22 46 6f 72 6d 61 74 20 65 |8.EQUS "Format e| 00000a10 72 72 6f 72 22 0d 04 42 07 42 52 4b 0d 04 4c 0b |rror"..B.BRK..L.| 00000a20 2e 64 65 66 6f 72 6d 0d 04 56 2d 4c 44 41 20 70 |.deform..V-LDA p| 00000a30 68 79 73 69 63 61 6c 20 5c 20 6c 6f 61 64 20 70 |hysical \ load p| 00000a40 68 79 73 69 63 61 6c 20 74 72 61 63 6b 20 6e 75 |hysical track nu| 00000a50 6d 62 65 72 0d 04 60 28 53 54 41 20 64 65 62 6c |mber..`(STA debl| 00000a60 6f 63 6b 2b 37 20 5c 20 73 74 6f 72 65 20 70 68 |ock+7 \ store ph| 00000a70 79 73 69 63 61 6c 20 74 72 61 63 6b 0d 04 6a 0c |ysical track..j.| 00000a80 4c 44 41 20 23 26 37 46 0d 04 74 16 4c 44 58 20 |LDA #&7F..t.LDX | 00000a90 23 64 65 62 6c 6f 63 6b 20 83 20 32 35 36 0d 04 |#deblock . 256..| 00000aa0 7e 16 4c 44 59 20 23 64 65 62 6c 6f 63 6b 20 81 |~.LDY #deblock .| 00000ab0 20 32 35 36 0d 04 88 21 4a 53 52 20 6f 73 77 6f | 256...!JSR oswo| 00000ac0 72 64 20 5c 20 22 64 65 66 6f 72 6d 61 74 22 20 |rd \ "deformat" | 00000ad0 74 72 61 63 6b 0d 04 92 1b 4c 44 41 20 64 65 62 |track....LDA deb| 00000ae0 6c 6f 63 6b 2b 31 32 20 5c 20 72 65 73 75 6c 74 |lock+12 \ result| 00000af0 0d 04 9c 1b 42 4e 45 20 64 65 65 72 72 6f 72 20 |....BNE deerror | 00000b00 5c 20 3d 20 30 20 69 66 20 4f 4b 0d 04 a6 07 52 |\ = 0 if OK....R| 00000b10 54 53 0d 04 b0 0c 2e 64 65 65 72 72 6f 72 0d 04 |TS.....deerror..| 00000b20 ba 07 42 52 4b 0d 04 c4 07 42 52 4b 0d 04 ce 19 |..BRK....BRK....| 00000b30 45 51 55 53 20 22 44 65 66 6f 72 6d 61 74 20 65 |EQUS "Deformat e| 00000b40 72 72 6f 72 22 0d 04 d8 07 42 52 4b 0d 04 e2 0d |rror"....BRK....| 00000b50 2e 72 65 67 69 73 74 65 72 0d 04 ec 2d 53 54 41 |.register...-STA| 00000b60 20 72 65 67 62 6c 6f 63 6b 2b 38 20 5c 20 76 61 | regblock+8 \ va| 00000b70 6c 75 65 20 74 6f 20 70 75 74 20 69 6e 20 72 65 |lue to put in re| 00000b80 67 69 73 74 65 72 0d 04 f6 16 4c 44 41 20 23 26 |gister....LDA #&| 00000b90 30 30 20 5c 20 64 72 69 76 65 20 30 0d 05 00 10 |00 \ drive 0....| 00000ba0 53 54 41 20 72 65 67 62 6c 6f 63 6b 0d 05 0a 27 |STA regblock...'| 00000bb0 4c 44 41 20 23 26 31 32 20 5c 20 77 72 69 74 65 |LDA #&12 \ write| 00000bc0 20 74 72 61 63 6b 20 72 65 67 69 73 74 65 72 20 | track register | 00000bd0 30 2f 32 0d 05 14 24 53 54 41 20 72 65 67 62 6c |0/2...$STA regbl| 00000be0 6f 63 6b 2b 37 20 5c 20 72 65 67 69 73 74 65 72 |ock+7 \ register| 00000bf0 20 6e 75 6d 62 65 72 0d 05 1e 0c 4c 44 41 20 23 | number....LDA #| 00000c00 26 37 46 0d 05 28 17 4c 44 58 20 23 72 65 67 62 |&7F..(.LDX #regb| 00000c10 6c 6f 63 6b 20 83 20 32 35 36 0d 05 32 17 4c 44 |lock . 256..2.LD| 00000c20 59 20 23 72 65 67 62 6c 6f 63 6b 20 81 20 32 35 |Y #regblock . 25| 00000c30 36 0d 05 3c 0e 4a 53 52 20 6f 73 77 6f 72 64 0d |6..<.JSR osword.| 00000c40 05 46 1b 4c 44 41 20 72 65 67 62 6c 6f 63 6b 2b |.F.LDA regblock+| 00000c50 39 20 5c 20 72 65 73 75 6c 74 0d 05 50 1c 42 4e |9 \ result..P.BN| 00000c60 45 20 72 65 67 65 72 72 6f 72 20 5c 20 3d 20 30 |E regerror \ = 0| 00000c70 20 69 66 20 4f 4b 0d 05 5a 16 4c 44 41 20 23 26 | if OK..Z.LDA #&| 00000c80 30 31 20 5c 20 64 72 69 76 65 20 31 0d 05 64 10 |01 \ drive 1..d.| 00000c90 53 54 41 20 72 65 67 62 6c 6f 63 6b 0d 05 6e 27 |STA regblock..n'| 00000ca0 4c 44 41 20 23 26 31 41 20 5c 20 77 72 69 74 65 |LDA #&1A \ write| 00000cb0 20 74 72 61 63 6b 20 72 65 67 69 73 74 65 72 20 | track register | 00000cc0 31 2f 33 0d 05 78 24 53 54 41 20 72 65 67 62 6c |1/3..x$STA regbl| 00000cd0 6f 63 6b 2b 37 20 5c 20 72 65 67 69 73 74 65 72 |ock+7 \ register| 00000ce0 20 6e 75 6d 62 65 72 0d 05 82 0c 4c 44 41 20 23 | number....LDA #| 00000cf0 26 37 46 0d 05 8c 17 4c 44 58 20 23 72 65 67 62 |&7F....LDX #regb| 00000d00 6c 6f 63 6b 20 83 20 32 35 36 0d 05 96 17 4c 44 |lock . 256....LD| 00000d10 59 20 23 72 65 67 62 6c 6f 63 6b 20 81 20 32 35 |Y #regblock . 25| 00000d20 36 0d 05 a0 0e 4a 53 52 20 6f 73 77 6f 72 64 0d |6....JSR osword.| 00000d30 05 aa 1b 4c 44 41 20 72 65 67 62 6c 6f 63 6b 2b |...LDA regblock+| 00000d40 39 20 5c 20 72 65 73 75 6c 74 0d 05 b4 1c 42 4e |9 \ result....BN| 00000d50 45 20 72 65 67 65 72 72 6f 72 20 5c 20 3d 20 30 |E regerror \ = 0| 00000d60 20 69 66 20 4f 4b 0d 05 be 07 52 54 53 0d 05 c8 | if OK....RTS...| 00000d70 0d 2e 72 65 67 65 72 72 6f 72 0d 05 d2 07 42 52 |..regerror....BR| 00000d80 4b 0d 05 dc 07 42 52 4b 0d 05 e6 21 45 51 55 53 |K....BRK...!EQUS| 00000d90 20 22 53 70 65 63 69 61 6c 20 72 65 67 69 73 74 | "Special regist| 00000da0 65 72 20 65 72 72 6f 72 22 0d 05 f0 07 42 52 4b |er error"....BRK| 00000db0 0d 05 fa 10 2e 66 69 72 73 74 73 65 63 74 6f 72 |.....firstsector| 00000dc0 0d 06 04 28 4c 44 41 20 70 68 79 73 69 63 61 6c |...(LDA physical| 00000dd0 20 5c 20 70 68 79 73 69 63 61 6c 20 74 72 61 63 | \ physical trac| 00000de0 6b 20 6e 75 6d 62 65 72 0d 06 0e 29 53 54 41 20 |k number...)STA | 00000df0 69 64 73 62 6c 6f 63 6b 2b 37 20 5c 20 73 74 6f |idsblock+7 \ sto| 00000e00 72 65 20 70 68 79 73 69 63 61 6c 20 74 72 61 63 |re physical trac| 00000e10 6b 0d 06 18 19 4c 44 41 20 23 26 30 31 20 5c 20 |k....LDA #&01 \ | 00000e20 6f 6e 65 20 73 65 63 74 6f 72 0d 06 22 22 53 54 |one sector..""ST| 00000e30 41 20 69 64 73 62 6c 6f 63 6b 2b 39 20 5c 20 6e |A idsblock+9 \ n| 00000e40 75 6d 62 65 72 20 6f 66 20 69 64 73 0d 06 2c 0c |umber of ids..,.| 00000e50 4c 44 41 20 23 26 37 46 0d 06 36 17 4c 44 58 20 |LDA #&7F..6.LDX | 00000e60 23 69 64 73 62 6c 6f 63 6b 20 83 20 32 35 36 0d |#idsblock . 256.| 00000e70 06 40 17 4c 44 59 20 23 69 64 73 62 6c 6f 63 6b |.@.LDY #idsblock| 00000e80 20 81 20 32 35 36 0d 06 4a 0e 4a 53 52 20 6f 73 | . 256..J.JSR os| 00000e90 77 6f 72 64 0d 06 54 1c 4c 44 41 20 69 64 73 62 |word..T.LDA idsb| 00000ea0 6c 6f 63 6b 2b 31 30 20 5c 20 72 65 73 75 6c 74 |lock+10 \ result| 00000eb0 0d 06 5e 1d 80 20 23 26 31 45 20 5c 20 3d 20 30 |..^.. #&1E \ = 0| 00000ec0 20 69 66 20 66 6f 72 6d 61 74 74 65 64 0d 06 68 | if formatted..h| 00000ed0 07 52 54 53 0d 06 72 0e 2e 73 65 63 74 6f 72 69 |.RTS..r..sectori| 00000ee0 64 73 0d 06 7c 25 4c 44 58 20 74 61 62 6c 65 2b |ds..|%LDX table+| 00000ef0 33 20 5c 20 6c 6f 61 64 20 64 61 74 61 20 73 69 |3 \ load data si| 00000f00 7a 65 20 63 6f 64 65 0d 06 86 28 4c 44 41 20 73 |ze code...(LDA s| 00000f10 69 7a 65 73 2c 58 20 5c 20 6c 6f 61 64 20 6e 75 |izes,X \ load nu| 00000f20 6d 62 65 72 20 6f 66 20 73 65 63 74 6f 72 73 0d |mber of sectors.| 00000f30 06 90 2c 53 54 41 20 69 64 73 62 6c 6f 63 6b 2b |..,STA idsblock+| 00000f40 39 20 5c 20 73 74 6f 72 65 20 6e 75 6d 62 65 72 |9 \ store number| 00000f50 20 6f 66 20 73 65 63 74 6f 72 73 0d 06 9a 0c 4c | of sectors....L| 00000f60 44 41 20 23 26 37 46 0d 06 a4 17 4c 44 58 20 23 |DA #&7F....LDX #| 00000f70 69 64 73 62 6c 6f 63 6b 20 83 20 32 35 36 0d 06 |idsblock . 256..| 00000f80 ae 17 4c 44 59 20 23 69 64 73 62 6c 6f 63 6b 20 |..LDY #idsblock | 00000f90 81 20 32 35 36 0d 06 b8 0e 4a 53 52 20 6f 73 77 |. 256....JSR osw| 00000fa0 6f 72 64 0d 06 c2 1c 4c 44 41 20 69 64 73 62 6c |ord....LDA idsbl| 00000fb0 6f 63 6b 2b 31 30 20 5c 20 72 65 73 75 6c 74 0d |ock+10 \ result.| 00000fc0 06 cc 0a 80 20 23 26 31 45 0d 06 d6 1c 42 4e 45 |.... #&1E....BNE| 00000fd0 20 69 64 73 65 72 72 6f 72 20 5c 20 3d 20 30 20 | idserror \ = 0 | 00000fe0 69 66 20 4f 4b 0d 06 e0 07 52 54 53 0d 06 ea 0d |if OK....RTS....| 00000ff0 2e 69 64 73 65 72 72 6f 72 0d 06 f4 07 42 52 4b |.idserror....BRK| 00001000 0d 06 fe 07 42 52 4b 0d 07 08 1a 45 51 55 53 20 |....BRK....EQUS | 00001010 22 53 65 63 74 6f 72 20 49 44 20 45 72 72 6f 72 |"Sector ID Error| 00001020 22 0d 07 12 07 42 52 4b 0d 07 1c 0f 2e 63 6f 70 |"....BRK.....cop| 00001030 79 73 65 63 74 6f 72 0d 07 26 2a 4c 44 58 20 73 |ysector..&*LDX s| 00001040 65 63 74 6f 72 6e 75 6d 62 65 72 20 5c 20 6c 6f |ectornumber \ lo| 00001050 61 64 20 69 6e 64 65 78 20 6f 6e 20 74 61 62 6c |ad index on tabl| 00001060 65 0d 07 30 2e 4c 44 41 20 74 61 62 6c 65 2b 32 |e..0.LDA table+2| 00001070 2c 58 20 5c 20 6c 6f 61 64 20 6c 6f 67 69 63 61 |,X \ load logica| 00001080 6c 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 72 0d |l sector number.| 00001090 07 3a 2b 53 54 41 20 63 6f 70 79 62 6c 6f 63 6b |.:+STA copyblock| 000010a0 2b 38 20 5c 20 73 74 6f 72 65 20 66 6f 72 20 72 |+8 \ store for r| 000010b0 65 61 64 20 73 65 63 74 6f 72 0d 07 44 2b 4c 44 |ead sector..D+LD| 000010c0 41 20 74 61 62 6c 65 2c 58 20 5c 20 6c 6f 61 64 |A table,X \ load| 000010d0 20 6c 6f 67 69 63 61 6c 20 74 72 61 63 6b 20 6e | logical track n| 000010e0 75 6d 62 65 72 0d 07 4e 28 53 54 41 20 63 6f 70 |umber..N(STA cop| 000010f0 79 62 6c 6f 63 6b 2b 37 20 5c 20 61 6e 64 20 73 |yblock+7 \ and s| 00001100 74 6f 72 65 20 66 6f 72 20 72 65 61 64 0d 07 58 |tore for read..X| 00001110 27 4a 53 52 20 72 65 67 69 73 74 65 72 20 5c 20 |'JSR register \ | 00001120 77 72 69 74 65 20 74 72 61 63 6b 20 72 65 67 69 |write track regi| 00001130 73 74 65 72 0d 07 62 16 4c 44 41 20 23 26 30 30 |ster..b.LDA #&00| 00001140 20 5c 20 64 72 69 76 65 20 30 0d 07 6c 11 53 54 | \ drive 0..l.ST| 00001150 41 20 63 6f 70 79 62 6c 6f 63 6b 0d 07 76 22 4c |A copyblock..v"L| 00001160 44 41 20 23 26 35 37 20 5c 20 72 65 61 64 20 73 |DA #&57 \ read s| 00001170 65 63 74 6f 72 20 63 6f 6d 6d 61 6e 64 0d 07 80 |ector command...| 00001180 13 53 54 41 20 63 6f 70 79 62 6c 6f 63 6b 2b 36 |.STA copyblock+6| 00001190 0d 07 8a 0c 4c 44 41 20 23 26 37 46 0d 07 94 18 |....LDA #&7F....| 000011a0 4c 44 58 20 23 63 6f 70 79 62 6c 6f 63 6b 20 83 |LDX #copyblock .| 000011b0 20 32 35 36 0d 07 9e 18 4c 44 59 20 23 63 6f 70 | 256....LDY #cop| 000011c0 79 62 6c 6f 63 6b 20 81 20 32 35 36 0d 07 a8 0e |yblock . 256....| 000011d0 4a 53 52 20 6f 73 77 6f 72 64 0d 07 b2 14 4c 44 |JSR osword....LD| 000011e0 41 20 63 6f 70 79 62 6c 6f 63 6b 2b 31 30 0d 07 |A copyblock+10..| 000011f0 bc 21 42 45 51 20 6e 6f 74 64 65 6c 20 5c 20 6e |.!BEQ notdel \ n| 00001200 6f 74 20 64 65 6c 65 74 65 64 20 64 61 74 61 0d |ot deleted data.| 00001210 07 c6 22 43 4d 50 20 23 26 32 30 20 5c 20 64 65 |.."CMP #&20 \ de| 00001220 6c 65 74 65 64 20 64 61 74 61 20 72 65 73 75 6c |leted data resul| 00001230 74 0d 07 d0 24 42 4e 45 20 72 65 61 64 65 72 72 |t...$BNE readerr| 00001240 6f 72 20 5c 20 65 72 72 6f 72 20 69 66 20 6e 6f |or \ error if no| 00001250 74 20 26 32 30 0d 07 da 29 4c 44 41 20 23 26 34 |t &20...)LDA #&4| 00001260 46 20 5c 20 77 72 69 74 65 20 64 65 6c 65 74 65 |F \ write delete| 00001270 64 20 64 61 74 61 20 63 6f 6d 6d 61 6e 64 0d 07 |d data command..| 00001280 e4 0f 42 4e 45 20 73 61 76 65 63 6f 6d 0d 07 ee |..BNE savecom...| 00001290 0b 2e 6e 6f 74 64 65 6c 0d 07 f8 21 4c 44 41 20 |..notdel...!LDA | 000012a0 23 26 34 42 20 5c 20 77 72 69 74 65 20 64 61 74 |#&4B \ write dat| 000012b0 61 20 63 6f 6d 6d 61 6e 64 0d 08 02 0c 2e 73 61 |a command.....sa| 000012c0 76 65 63 6f 6d 0d 08 0c 13 53 54 41 20 63 6f 70 |vecom....STA cop| 000012d0 79 62 6c 6f 63 6b 2b 36 0d 08 16 16 4c 44 41 20 |yblock+6....LDA | 000012e0 23 26 30 31 20 5c 20 64 72 69 76 65 20 31 0d 08 |#&01 \ drive 1..| 000012f0 20 11 53 54 41 20 63 6f 70 79 62 6c 6f 63 6b 0d | .STA copyblock.| 00001300 08 2a 0c 4c 44 41 20 23 26 37 46 0d 08 34 18 4c |.*.LDA #&7F..4.L| 00001310 44 58 20 23 63 6f 70 79 62 6c 6f 63 6b 20 83 20 |DX #copyblock . | 00001320 32 35 36 0d 08 3e 18 4c 44 59 20 23 63 6f 70 79 |256..>.LDY #copy| 00001330 62 6c 6f 63 6b 20 81 20 32 35 36 0d 08 48 0e 4a |block . 256..H.J| 00001340 53 52 20 6f 73 77 6f 72 64 0d 08 52 1d 4c 44 41 |SR osword..R.LDA| 00001350 20 63 6f 70 79 62 6c 6f 63 6b 2b 31 30 20 5c 20 | copyblock+10 \ | 00001360 72 65 73 75 6c 74 0d 08 5c 1e 42 4e 45 20 77 72 |result..\.BNE wr| 00001370 69 74 65 65 72 72 6f 72 20 5c 20 3d 20 30 20 69 |iteerror \ = 0 i| 00001380 66 20 4f 4b 0d 08 66 07 53 45 43 0d 08 70 2c 4c |f OK..f.SEC..p,L| 00001390 44 41 20 73 65 63 74 6f 72 6e 75 6d 62 65 72 20 |DA sectornumber | 000013a0 5c 20 73 65 63 74 6f 72 20 69 6e 64 65 78 20 6f |\ sector index o| 000013b0 6e 20 74 61 62 6c 65 0d 08 7a 0c 53 42 43 20 23 |n table..z.SBC #| 000013c0 26 30 34 0d 08 84 24 53 54 41 20 73 65 63 74 6f |&04...$STA secto| 000013d0 72 6e 75 6d 62 65 72 20 5c 20 69 6e 64 65 78 3d |rnumber \ index=| 000013e0 69 6e 64 65 78 2d 34 0d 08 8e 07 52 54 53 0d 08 |index-4....RTS..| 000013f0 98 0e 2e 72 65 61 64 65 72 72 6f 72 0d 08 a2 28 |...readerror...(| 00001400 4c 44 41 20 70 68 79 73 69 63 61 6c 20 5c 20 70 |LDA physical \ p| 00001410 68 79 73 69 63 61 6c 20 74 72 61 63 6b 20 6e 75 |hysical track nu| 00001420 6d 62 65 72 0d 08 ac 27 4a 53 52 20 72 65 67 69 |mber...'JSR regi| 00001430 73 74 65 72 20 5c 20 77 72 69 74 65 20 74 72 61 |ster \ write tra| 00001440 63 6b 20 72 65 67 69 73 74 65 72 0d 08 b6 07 42 |ck register....B| 00001450 52 4b 0d 08 c0 07 42 52 4b 0d 08 ca 15 45 51 55 |RK....BRK....EQU| 00001460 53 20 22 52 65 61 64 20 65 72 72 6f 72 22 0d 08 |S "Read error"..| 00001470 d4 07 42 52 4b 0d 08 de 0f 2e 77 72 69 74 65 65 |..BRK.....writee| 00001480 72 72 6f 72 0d 08 e8 28 4c 44 41 20 70 68 79 73 |rror...(LDA phys| 00001490 69 63 61 6c 20 5c 20 70 68 79 73 69 63 61 6c 20 |ical \ physical | 000014a0 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d 08 f2 27 |track number...'| 000014b0 4a 53 52 20 72 65 67 69 73 74 65 72 20 5c 20 77 |JSR register \ w| 000014c0 72 69 74 65 20 74 72 61 63 6b 20 72 65 67 69 73 |rite track regis| 000014d0 74 65 72 0d 08 fc 07 42 52 4b 0d 09 06 07 42 52 |ter....BRK....BR| 000014e0 4b 0d 09 10 16 45 51 55 53 20 22 57 72 69 74 65 |K....EQUS "Write| 000014f0 20 65 72 72 6f 72 22 0d 09 1a 07 42 52 4b 0d 09 | error"....BRK..| 00001500 24 0e 2e 70 72 69 6e 74 62 79 74 65 0d 09 2e 2e |$..printbyte....| 00001510 4c 44 41 20 70 68 79 73 69 63 61 6c 20 5c 20 70 |LDA physical \ p| 00001520 72 69 6e 74 20 70 68 79 73 69 63 61 6c 20 74 72 |rint physical tr| 00001530 61 63 6b 20 6e 75 6d 62 65 72 0d 09 38 07 50 48 |ack number..8.PH| 00001540 41 0d 09 42 09 4c 53 52 20 41 0d 09 4c 09 4c 53 |A..B.LSR A..L.LS| 00001550 52 20 41 0d 09 56 09 4c 53 52 20 41 0d 09 60 09 |R A..V.LSR A..`.| 00001560 4c 53 52 20 41 0d 09 6a 20 4a 53 52 20 6e 79 62 |LSR A..j JSR nyb| 00001570 62 6c 65 20 5c 20 70 72 69 6e 74 20 4d 53 20 6e |ble \ print MS n| 00001580 79 62 62 6c 65 0d 09 74 07 50 4c 41 0d 09 7e 20 |ybble..t.PLA..~ | 00001590 4a 53 52 20 6e 79 62 62 6c 65 20 5c 20 70 72 69 |JSR nybble \ pri| 000015a0 6e 74 20 4c 53 20 6e 79 62 62 6c 65 0d 09 88 0f |nt LS nybble....| 000015b0 4c 44 41 20 23 97 28 22 20 22 29 0d 09 92 1c 4a |LDA #.(" ")....J| 000015c0 53 52 20 6f 73 77 72 63 68 20 5c 20 70 72 69 6e |SR oswrch \ prin| 000015d0 74 20 73 70 61 63 65 0d 09 9c 27 4a 4d 50 20 6f |t space...'JMP o| 000015e0 73 77 72 63 68 20 5c 20 70 72 69 6e 74 20 73 70 |swrch \ print sp| 000015f0 61 63 65 20 61 6e 64 20 72 65 74 75 72 6e 0d 09 |ace and return..| 00001600 a6 0b 2e 6e 79 62 62 6c 65 0d 09 b0 0a 80 20 23 |...nybble..... #| 00001610 26 30 46 0d 09 ba 07 53 45 44 0d 09 c4 07 43 4c |&0F....SED....CL| 00001620 43 0d 09 ce 0c 41 44 43 20 23 26 39 30 0d 09 d8 |C....ADC #&90...| 00001630 0c 41 44 43 20 23 26 34 30 0d 09 e2 07 43 4c 44 |.ADC #&40....CLD| 00001640 0d 09 ec 28 4a 4d 50 20 6f 73 77 72 63 68 20 5c |...(JMP oswrch \| 00001650 20 70 72 69 6e 74 20 6e 79 62 62 6c 65 20 61 6e | print nybble an| 00001660 64 20 72 65 74 75 72 6e 0d 09 f6 0e 2e 73 65 65 |d return.....see| 00001670 6b 62 6c 6f 63 6b 0d 0a 00 18 45 51 55 42 20 26 |kblock....EQUB &| 00001680 30 30 20 5c 20 64 72 69 76 65 20 30 2f 31 0d 0a |00 \ drive 0/1..| 00001690 0a 1e 45 51 55 44 20 26 30 30 20 5c 20 64 6f 65 |..EQUD &00 \ doe| 000016a0 73 20 6e 6f 74 20 6d 61 74 74 65 72 0d 0a 14 1a |s not matter....| 000016b0 45 51 55 42 20 26 30 31 20 5c 20 31 20 70 61 72 |EQUB &01 \ 1 par| 000016c0 61 6d 65 74 65 72 0d 0a 16 1b 45 51 55 42 20 26 |ameter....EQUB &| 000016d0 36 39 20 5c 20 73 65 65 6b 20 63 6f 6d 6d 61 6e |69 \ seek comman| 000016e0 64 0d 0a 18 24 45 51 55 42 20 26 30 30 20 5c 20 |d...$EQUB &00 \ | 000016f0 70 68 79 73 69 63 61 6c 20 74 72 61 63 6b 20 6e |physical track n| 00001700 75 6d 62 65 72 0d 0a 1a 1a 45 51 55 42 20 26 30 |umber....EQUB &0| 00001710 30 20 5c 20 72 65 73 75 6c 74 20 62 79 74 65 0d |0 \ result byte.| 00001720 0a 1e 0d 2e 72 65 67 62 6c 6f 63 6b 0d 0a 28 18 |....regblock..(.| 00001730 45 51 55 42 20 26 30 30 20 5c 20 64 72 69 76 65 |EQUB &00 \ drive| 00001740 20 30 2f 31 0d 0a 32 1e 45 51 55 44 20 26 30 30 | 0/1..2.EQUD &00| 00001750 20 5c 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 74 | \ does not matt| 00001760 65 72 0d 0a 3c 1b 45 51 55 42 20 26 30 32 20 5c |er..<.EQUB &02 \| 00001770 20 32 20 70 61 72 61 6d 65 74 65 72 73 0d 0a 3e | 2 parameters..>| 00001780 25 45 51 55 42 20 26 37 41 20 5c 20 77 72 69 74 |%EQUB &7A \ writ| 00001790 65 20 73 70 65 63 69 61 6c 20 72 65 67 69 73 74 |e special regist| 000017a0 65 72 0d 0a 40 1e 45 51 55 42 20 26 30 30 20 5c |er..@.EQUB &00 \| 000017b0 20 72 65 67 69 73 74 65 72 20 6e 75 6d 62 65 72 | register number| 000017c0 0d 0a 42 27 45 51 55 42 20 26 30 30 20 5c 20 76 |..B'EQUB &00 \ v| 000017d0 61 6c 75 65 20 74 6f 20 70 75 74 20 69 6e 20 72 |alue to put in r| 000017e0 65 67 69 73 74 65 72 0d 0a 46 1a 45 51 55 42 20 |egister..F.EQUB | 000017f0 26 30 30 20 5c 20 72 65 73 75 6c 74 20 62 79 74 |&00 \ result byt| 00001800 65 0d 0a 50 0d 2e 69 64 73 62 6c 6f 63 6b 0d 0a |e..P..idsblock..| 00001810 5a 16 45 51 55 42 20 26 30 30 20 5c 20 64 72 69 |Z.EQUB &00 \ dri| 00001820 76 65 20 30 0d 0a 64 22 45 51 55 44 20 74 61 62 |ve 0..d"EQUD tab| 00001830 6c 65 20 5c 20 61 64 64 72 65 73 73 20 6f 66 20 |le \ address of | 00001840 62 75 66 66 65 72 0d 0a 6e 1b 45 51 55 42 20 26 |buffer..n.EQUB &| 00001850 30 33 20 5c 20 33 20 70 61 72 61 6d 65 74 65 72 |03 \ 3 parameter| 00001860 73 0d 0a 70 1e 45 51 55 42 20 26 35 42 20 5c 20 |s..p.EQUB &5B \ | 00001870 72 65 61 64 20 73 65 63 74 6f 72 20 49 44 73 0d |read sector IDs.| 00001880 0a 72 24 45 51 55 42 20 26 30 30 20 5c 20 70 68 |.r$EQUB &00 \ ph| 00001890 79 73 69 63 61 6c 20 74 72 61 63 6b 20 6e 75 6d |ysical track num| 000018a0 62 65 72 0d 0a 74 19 45 51 55 42 20 26 30 30 20 |ber..t.EQUB &00 | 000018b0 5c 20 61 6c 77 61 79 73 20 26 30 30 0d 0a 76 27 |\ always &00..v'| 000018c0 45 51 55 42 20 26 30 30 20 5c 20 6e 75 6d 62 65 |EQUB &00 \ numbe| 000018d0 72 20 6f 66 20 49 44 73 20 74 6f 20 62 65 20 72 |r of IDs to be r| 000018e0 65 61 64 0d 0a 78 1a 45 51 55 42 20 26 30 30 20 |ead..x.EQUB &00 | 000018f0 5c 20 72 65 73 75 6c 74 20 62 79 74 65 0d 0a 82 |\ result byte...| 00001900 0e 2e 63 6f 70 79 62 6c 6f 63 6b 0d 0a 8c 18 45 |..copyblock....E| 00001910 51 55 42 20 26 30 30 20 5c 20 64 72 69 76 65 20 |QUB &00 \ drive | 00001920 30 2f 31 0d 0a 96 23 45 51 55 44 20 62 75 66 66 |0/1...#EQUD buff| 00001930 65 72 20 5c 20 61 64 64 72 65 73 73 20 6f 66 20 |er \ address of | 00001940 62 75 66 66 65 72 0d 0a a0 1b 45 51 55 42 20 26 |buffer....EQUB &| 00001950 30 33 20 5c 20 33 20 70 61 72 61 6d 65 74 65 72 |03 \ 3 parameter| 00001960 73 0d 0a a2 29 45 51 55 42 20 26 35 37 20 5c 20 |s...)EQUB &57 \ | 00001970 72 65 61 64 20 64 61 74 61 20 61 6e 64 20 64 65 |read data and de| 00001980 6c 65 74 65 64 20 64 61 74 61 0d 0a a4 23 45 51 |leted data...#EQ| 00001990 55 42 20 26 30 30 20 5c 20 6c 6f 67 69 63 61 6c |UB &00 \ logical| 000019a0 20 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d 0a a6 | track number...| 000019b0 24 45 51 55 42 20 26 30 30 20 5c 20 6c 6f 67 69 |$EQUB &00 \ logi| 000019c0 63 61 6c 20 73 65 63 74 6f 72 20 6e 75 6d 62 65 |cal sector numbe| 000019d0 72 0d 0a a8 21 45 51 55 42 20 26 30 30 20 5c 20 |r...!EQUB &00 \ | 000019e0 73 65 63 74 6f 72 20 73 69 7a 65 2f 6e 75 6d 62 |sector size/numb| 000019f0 65 72 0d 0a aa 1a 45 51 55 42 20 26 30 30 20 5c |er....EQUB &00 \| 00001a00 20 72 65 73 75 6c 74 20 62 79 74 65 0d 0a b4 0e | result byte....| 00001a10 2e 66 6f 72 6d 62 6c 6f 63 6b 0d 0a be 16 45 51 |.formblock....EQ| 00001a20 55 42 20 26 30 31 20 5c 20 64 72 69 76 65 20 31 |UB &01 \ drive 1| 00001a30 0d 0a c8 1d 45 51 55 44 20 74 61 62 6c 65 20 5c |....EQUD table \| 00001a40 20 73 65 63 74 6f 72 20 74 61 62 6c 65 0d 0a d2 | sector table...| 00001a50 1b 45 51 55 42 20 26 30 35 20 5c 20 35 20 70 61 |.EQUB &05 \ 5 pa| 00001a60 72 61 6d 65 74 65 72 73 0d 0a d4 23 45 51 55 42 |rameters...#EQUB| 00001a70 20 26 36 33 20 5c 20 66 6f 72 6d 61 74 20 74 72 | &63 \ format tr| 00001a80 61 63 6b 20 63 6f 6d 6d 61 6e 64 0d 0a d6 24 45 |ack command...$E| 00001a90 51 55 42 20 26 30 30 20 5c 20 70 68 79 73 69 63 |QUB &00 \ physic| 00001aa0 61 6c 20 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d |al track number.| 00001ab0 0a d8 19 45 51 55 42 20 26 30 30 20 5c 20 67 61 |...EQUB &00 \ ga| 00001ac0 70 20 33 20 73 69 7a 65 0d 0a da 21 45 51 55 42 |p 3 size...!EQUB| 00001ad0 20 26 30 30 20 5c 20 73 65 63 74 6f 72 20 73 69 | &00 \ sector si| 00001ae0 7a 65 2f 6e 75 6d 62 65 72 0d 0a dc 19 45 51 55 |ze/number....EQU| 00001af0 42 20 26 30 30 20 5c 20 67 61 70 20 35 20 73 69 |B &00 \ gap 5 si| 00001b00 7a 65 0d 0a de 19 45 51 55 42 20 26 31 30 20 5c |ze....EQUB &10 \| 00001b10 20 67 61 70 20 31 20 73 69 7a 65 0d 0a e0 1a 45 | gap 1 size....E| 00001b20 51 55 42 20 26 30 30 20 5c 20 72 65 73 75 6c 74 |QUB &00 \ result| 00001b30 20 62 79 74 65 0d 0a e6 0c 2e 64 65 62 6c 6f 63 | byte.....debloc| 00001b40 6b 0d 0a f0 16 45 51 55 42 20 26 30 31 20 5c 20 |k....EQUB &01 \ | 00001b50 64 72 69 76 65 20 31 0d 0a fa 1f 45 51 55 44 20 |drive 1....EQUD | 00001b60 64 65 74 61 62 6c 65 20 5c 20 73 65 63 74 6f 72 |detable \ sector| 00001b70 20 74 61 62 6c 65 0d 0b 04 1b 45 51 55 42 20 26 | table....EQUB &| 00001b80 30 35 20 5c 20 35 20 70 61 72 61 6d 65 74 65 72 |05 \ 5 parameter| 00001b90 73 0d 0b 06 23 45 51 55 42 20 26 36 33 20 5c 20 |s...#EQUB &63 \ | 00001ba0 66 6f 72 6d 61 74 20 74 72 61 63 6b 20 63 6f 6d |format track com| 00001bb0 6d 61 6e 64 0d 0b 08 24 45 51 55 42 20 26 30 30 |mand...$EQUB &00| 00001bc0 20 5c 20 70 68 79 73 69 63 61 6c 20 74 72 61 63 | \ physical trac| 00001bd0 6b 20 6e 75 6d 62 65 72 0d 0b 0a 19 45 51 55 42 |k number....EQUB| 00001be0 20 26 30 30 20 5c 20 67 61 70 20 33 20 73 69 7a | &00 \ gap 3 siz| 00001bf0 65 0d 0b 0c 21 45 51 55 42 20 26 43 31 20 5c 20 |e...!EQUB &C1 \ | 00001c00 73 65 63 74 6f 72 20 73 69 7a 65 2f 6e 75 6d 62 |sector size/numb| 00001c10 65 72 0d 0b 0e 19 45 51 55 42 20 26 30 30 20 5c |er....EQUB &00 \| 00001c20 20 67 61 70 20 35 20 73 69 7a 65 0d 0b 10 19 45 | gap 5 size....E| 00001c30 51 55 42 20 26 31 30 20 5c 20 67 61 70 20 31 20 |QUB &10 \ gap 1 | 00001c40 73 69 7a 65 0d 0b 12 1a 45 51 55 42 20 26 30 30 |size....EQUB &00| 00001c50 20 5c 20 72 65 73 75 6c 74 20 62 79 74 65 0d 0b | \ result byte..| 00001c60 18 0c 2e 64 65 74 61 62 6c 65 0d 0b 22 12 45 51 |...detable..".EQ| 00001c70 55 44 20 26 30 34 30 30 30 30 30 30 0d 0b 2c 08 |UD &04000000..,.| 00001c80 2e 67 61 70 0d 0b 36 1f 45 51 55 42 20 31 31 20 |.gap..6.EQUB 11 | 00001c90 5c 20 47 61 70 20 33 2c 20 31 38 20 73 65 63 74 |\ Gap 3, 18 sect| 00001ca0 6f 72 73 0d 0b 40 1f 45 51 55 42 20 32 31 20 5c |ors..@.EQUB 21 \| 00001cb0 20 47 61 70 20 33 2c 20 31 30 20 73 65 63 74 6f | Gap 3, 10 secto| 00001cc0 72 73 0d 0b 4a 1e 45 51 55 42 20 37 34 20 5c 20 |rs..J.EQUB 74 \ | 00001cd0 47 61 70 20 33 2c 20 35 20 73 65 63 74 6f 72 73 |Gap 3, 5 sectors| 00001ce0 0d 0b 54 1f 45 51 55 42 20 32 35 35 20 5c 20 47 |..T.EQUB 255 \ G| 00001cf0 61 70 20 33 2c 20 32 20 73 65 63 74 6f 72 73 0d |ap 3, 2 sectors.| 00001d00 0b 5e 1c 45 51 55 42 20 30 20 5c 20 47 61 70 20 |.^.EQUB 0 \ Gap | 00001d10 33 2c 20 31 20 73 65 63 74 6f 72 0d 0b 68 0a 2e |3, 1 sector..h..| 00001d20 73 69 7a 65 73 0d 0b 72 0b 45 51 55 42 20 31 38 |sizes..r.EQUB 18| 00001d30 0d 0b 7c 0b 45 51 55 42 20 31 30 0d 0b 86 0a 45 |..|.EQUB 10....E| 00001d40 51 55 42 20 35 0d 0b 90 0a 45 51 55 42 20 32 0d |QUB 5....EQUB 2.| 00001d50 0b 9a 0a 45 51 55 42 20 31 0d 0b a4 0d 2e 70 68 |...EQUB 1.....ph| 00001d60 79 73 69 63 61 6c 0d 0b ae 0c 45 51 55 42 20 26 |ysical....EQUB &| 00001d70 30 30 0d 0b b8 11 2e 73 65 63 74 6f 72 6e 75 6d |00.....sectornum| 00001d80 62 65 72 0d 0b c2 0c 45 51 55 42 20 26 30 30 0d |ber....EQUB &00.| 00001d90 0b cc 09 2e 6c 61 73 74 0d 0b d6 0c 45 51 55 42 |....last....EQUB| 00001da0 20 26 30 30 0d 0b e0 05 5d 0d 0b ea 05 ed 0d 0b | &00....].......| 00001db0 f4 28 e8 27 22 4e 75 6d 62 65 72 20 6f 66 20 74 |.(.'"Number of t| 00001dc0 72 61 63 6b 73 20 28 34 30 2f 38 30 29 20 22 74 |racks (40/80) "t| 00001dd0 72 61 63 6b 73 24 0d 0b fe 26 e7 20 74 72 61 63 |racks$...&. trac| 00001de0 6b 73 24 3d 22 34 30 22 20 3f 6c 61 73 74 3d 34 |ks$="40" ?last=4| 00001df0 30 20 8b 20 3f 6c 61 73 74 3d 38 30 0d 0c 08 30 |0 . ?last=80...0| 00001e00 f1 27 22 49 6e 73 65 72 74 20 22 3b 3f 6c 61 73 |.'"Insert ";?las| 00001e10 74 3b 22 20 74 72 61 63 6b 20 73 6f 75 72 63 65 |t;" track source| 00001e20 20 64 69 73 63 20 69 6e 20 3a 30 22 0d 0c 12 34 | disc in :0"...4| 00001e30 f1 22 49 6e 73 65 72 74 20 22 3b 3f 6c 61 73 74 |."Insert ";?last| 00001e40 3b 22 20 74 72 61 63 6b 20 64 65 73 74 69 6e 61 |;" track destina| 00001e50 74 69 6f 6e 20 64 69 73 63 20 69 6e 20 3a 31 22 |tion disc in :1"| 00001e60 0d 0c 1c 2c f1 27 22 50 72 65 73 73 20 53 70 61 |...,.'"Press Spa| 00001e70 63 65 62 61 72 20 74 6f 20 63 6f 70 79 20 66 72 |cebar to copy fr| 00001e80 6f 6d 20 3a 30 20 74 6f 20 3a 31 22 0d 0c 26 05 |om :0 to :1"..&.| 00001e90 f5 0d 0c 30 0a fd 20 a5 3d 33 32 0d 0c 3a 0b d6 |...0.. .=32..:..| 00001ea0 20 6d 63 6f 64 65 0d ff | mcode..| 00001ea8