Home » CEEFAX disks » telesoftware9.adl » 18-09-88/IDSDUMP
18-09-88/IDSDUMP
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: | 18-09-88/IDSDUMP |
Read OK: | ✔ |
File size: | 0C7F bytes |
Load address: | 0800 |
Exec address: | 802B |
Duplicates
There are 3 duplicate copies of this file in the archive:
- CEEFAX disks » telesoftware8.adl » 05-08-88/IDSDUMP
- CEEFAX disks » telesoftware9.adl » 18-09-88/IDSDUMP
- CEEFAX disks » telesoftware9.adl » 26-08-88/IDSDUMP
- CEEFAX disks » telesoftware9.adl » 26-09-88/IDSDUMP
File contents
10REM: IDSDUMP 20zeropage=&70 30osasci=&FFE3 40osnewl=&FFE7 50osword=&FFF1 60osbyte=&FFF4 70DIM buffer &50 80DIM mcode &200 90FOR pass=0 TO 2 STEP 2 100P%=mcode 110[OPT pass 120LDA #14 \ paged mode 130JSR osasci 140.mainloop 150JSR escape \ check escape flag 160JSR firstsector \ read sector id first sector 170BNE notformatted \ if error, track not formatted 180JSR tracknumber \ print track number 190JSR sectorids \ read all sector ids 200.notformatted 210INC physical \ increment physical track number 220LDA physical \ load physical track number 230CMP last \ all done? 240BNE mainloop \ if not copy next track 250JSR osnewl 260RTS \ return to BASIC 270.escape 280LDA &FF \ escape flag 290BMI pressed \ bit 7 set if pressed 300RTS 310.pressed 320LDA #&7E 330JSR osbyte \ acknowledge Escape 340BRK 350BRK 360EQUS "Escape" 370BRK 380.firstsector 390LDA physical \ physical track number 400STA idsblock+7 \ store physical track 410LDA #1 \ one sector 420STA idsblock+9 \ number of ids 430LDA #&7F 440LDX #idsblock MOD 256 450LDY #idsblock DIV 256 460JSR osword 470LDA idsblock+10 \ result 480AND #&1E \ = 0 if formatted 490RTS 500.sectorids 510LDX buffer+3 \ load data size code 520LDA sizes,X \ load number of sectors 530STA idsblock+9 \ store number of sectors 540ASL A \ *2 550ASL A \ *4 560STA sectornumber \ store index on sectors 570LDA #&7F 580LDX #idsblock MOD 256 590LDY #idsblock DIV 256 600JSR osword 610LDA idsblock+10 \ result 620AND #&1E 630BNE idserror \ = 0 if OK 640LDX #0 650.next 660LDY #0 670.printloop 680LDA buffer,X 690JSR printbyte \ print every byte of sector table 700INX 710INY 720CPY #4 \ 4 bytes per line 730BNE printloop 740JSR osnewl 750CPX sectornumber \ last byte? 760BCC next \ go back for more 770RTS 780.idserror 790BRK 800BRK 810EQUS "Sector ID Error" 820BRK 830.tracknumber 840JSR osnewl 850LDX #title MOD 256 860LDY #title DIV 256 870JSR printtext \ print "Track &" 880LDA physical \ load physical track number 890JSR printbyte \ print track number 900LDX #header MOD 256 910LDY #header DIV 256 920JMP printtext \ print "LT HN LS DS" 930.printtext 940STX zeropage 950STY zeropage+1 960LDY #0 970.textloop 980LDA (zeropage),Y 990BEQ endtext 1000JSR osasci 1010INY 1020BNE textloop 1030.endtext 1040RTS 1050.printbyte 1060PHA 1070LSR A 1080LSR A 1090LSR A 1100LSR A 1110JSR nybble \ print MS nybble 1120PLA 1130JSR nybble \ print LS nybble 1140LDA #ASC(" ") 1150JSR osasci \ print space 1160JMP osasci \ print space 1170.nybble 1180AND #&0F 1190SED 1200CLC 1210ADC #&90 1220ADC #&40 1230CLD 1240JMP osasci \ print nybble and return 1250.idsblock 1260EQUB &FF \ current drive 1270EQUD buffer \ address of buffer 1280EQUD &00005B03 \ read sector ids 1290EQUW &00 1300.sizes 1310EQUB 18 1320EQUB 10 1330EQUB 5 1340EQUB 2 1350EQUB 1 1360.title 1370EQUS " Track &" 1380BRK 1390.header 1400EQUB &0D 1410EQUS " ----------" 1420EQUB &0D 1430EQUS "LT HN LS DS" 1440EQUB &0D 1450EQUS "--------------" 1460EQUB &0D 1470BRK 1480.physical 1490EQUB 0 1500.sectornumber 1510EQUB 0 1520.last 1530EQUB 0 1540] 1550NEXT 1560INPUT'"Number of tracks (40/80) "tracks$ 1570IF tracks$="40" ?last = 40 ELSE ?last = 80 1580PRINT'"Insert ";?last;" track disc into current drive" 1590PRINT"and press Spacebar to print sector IDs" 1600REPEAT 1610UNTIL GET=32 1620PRINT'"Press Shift to scroll" 1630CALL mcode
�: IDSDUMP zeropage=&70 osasci=&FFE3 (osnewl=&FFE7 2osword=&FFF1 <osbyte=&FFF4 F� buffer &50 P� mcode &200 Z� pass=0 � 2 � 2 dP%=mcode n [OPT pass xLDA #14 \ paged mode �JSR osasci � .mainloop �"JSR escape \ check escape flag �1JSR firstsector \ read sector id first sector �4BNE notformatted \ if error, track not formatted �(JSR tracknumber \ print track number �'JSR sectorids \ read all sector ids �.notformatted �2INC physical \ increment physical track number �-LDA physical \ load physical track number �CMP last \ all done? �)BNE mainloop \ if not copy next track �JSR osnewl RTS \ return to BASIC .escape LDA &FF \ escape flag "&BMI pressed \ bit 7 set if pressed ,RTS 6.pressed @LDA #&7E J#JSR osbyte \ acknowledge Escape TBRK ^BRK hEQUS "Escape" rBRK |.firstsector �(LDA physical \ physical track number �)STA idsblock+7 \ store physical track �LDA #1 \ one sector �"STA idsblock+9 \ number of ids �LDA #&7F �LDX #idsblock � 256 �LDY #idsblock � 256 �JSR osword �LDA idsblock+10 \ result �� #&1E \ = 0 if formatted �RTS �.sectorids �&LDX buffer+3 \ load data size code (LDA sizes,X \ load number of sectors ,STA idsblock+9 \ store number of sectors ASL A \ *2 &ASL A \ *4 0-STA sectornumber \ store index on sectors :LDA #&7F DLDX #idsblock � 256 NLDY #idsblock � 256 XJSR osword bLDA idsblock+10 \ result l � #&1E vBNE idserror \ = 0 if OK � LDX #0 � .next � LDY #0 �.printloop �LDA buffer,X �4JSR printbyte \ print every byte of sector table �INX �INY �CPY #4 \ 4 bytes per line �BNE printloop �JSR osnewl �!CPX sectornumber \ last byte? �BCC next \ go back for more RTS .idserror BRK BRK *EQUS "Sector ID Error" 4BRK >.tracknumber HJSR osnewl RLDX #title � 256 \LDY #title � 256 f#JSR printtext \ print "Track &" p-LDA physical \ load physical track number z&JSR printbyte \ print track number �LDX #header � 256 �LDY #header � 256 �'JMP printtext \ print "LT HN LS DS" �.printtext �STX zeropage �STY zeropage+1 � LDY #0 � .textloop �LDA (zeropage),Y �BEQ endtext �JSR osasci �INY �BNE textloop .endtext RTS .printbyte $PHA . LSR A 8 LSR A B LSR A L LSR A V JSR nybble \ print MS nybble `PLA j JSR nybble \ print LS nybble tLDA #�(" ") ~JSR osasci \ print space �JMP osasci \ print space �.nybble � � #&0F �SED �CLC �ADC #&90 �ADC #&40 �CLD �(JMP osasci \ print nybble and return � .idsblock �EQUB &FF \ current drive �#EQUD buffer \ address of buffer $EQUD &00005B03 \ read sector ids EQUW &00 .sizes EQUB 18 (EQUB 10 2 EQUB 5 < EQUB 2 F EQUB 1 P .title ZEQUS " Track &" dBRK n.header xEQUB &0D �EQUS " ----------" �EQUB &0D �EQUS "LT HN LS DS" �EQUB &0D �EQUS "--------------" �EQUB &0D �BRK � .physical � EQUB 0 �.sectornumber � EQUB 0 � .last � EQUB 0 ] � (�'"Number of tracks (40/80) "tracks$ "*� tracks$="40" ?last = 40 � ?last = 80 ,6�'"Insert ";?last;" track disc into current drive" 6-�"and press Spacebar to print sector IDs" @� J � �=32 T�'"Press Shift to scroll" ^� mcode �
00000000 0d 00 0a 0e f4 3a 20 49 44 53 44 55 4d 50 0d 00 |.....: IDSDUMP..| 00000010 14 10 7a 65 72 6f 70 61 67 65 3d 26 37 30 0d 00 |..zeropage=&70..| 00000020 1e 10 6f 73 61 73 63 69 3d 26 46 46 45 33 0d 00 |..osasci=&FFE3..| 00000030 28 10 6f 73 6e 65 77 6c 3d 26 46 46 45 37 0d 00 |(.osnewl=&FFE7..| 00000040 32 10 6f 73 77 6f 72 64 3d 26 46 46 46 31 0d 00 |2.osword=&FFF1..| 00000050 3c 10 6f 73 62 79 74 65 3d 26 46 46 46 34 0d 00 |<.osbyte=&FFF4..| 00000060 46 10 de 20 62 75 66 66 65 72 20 26 35 30 0d 00 |F.. buffer &50..| 00000070 50 10 de 20 6d 63 6f 64 65 20 26 32 30 30 0d 00 |P.. mcode &200..| 00000080 5a 14 e3 20 70 61 73 73 3d 30 20 b8 20 32 20 88 |Z.. pass=0 . 2 .| 00000090 20 32 0d 00 64 0c 50 25 3d 6d 63 6f 64 65 0d 00 | 2..d.P%=mcode..| 000000a0 6e 0d 5b 4f 50 54 20 70 61 73 73 0d 00 78 18 4c |n.[OPT pass..x.L| 000000b0 44 41 20 23 31 34 20 5c 20 70 61 67 65 64 20 6d |DA #14 \ paged m| 000000c0 6f 64 65 0d 00 82 0e 4a 53 52 20 6f 73 61 73 63 |ode....JSR osasc| 000000d0 69 0d 00 8c 0d 2e 6d 61 69 6e 6c 6f 6f 70 0d 00 |i.....mainloop..| 000000e0 96 22 4a 53 52 20 65 73 63 61 70 65 20 5c 20 63 |."JSR escape \ c| 000000f0 68 65 63 6b 20 65 73 63 61 70 65 20 66 6c 61 67 |heck escape flag| 00000100 0d 00 a0 31 4a 53 52 20 66 69 72 73 74 73 65 63 |...1JSR firstsec| 00000110 74 6f 72 20 5c 20 72 65 61 64 20 73 65 63 74 6f |tor \ read secto| 00000120 72 20 69 64 20 66 69 72 73 74 20 73 65 63 74 6f |r id first secto| 00000130 72 0d 00 aa 34 42 4e 45 20 6e 6f 74 66 6f 72 6d |r...4BNE notform| 00000140 61 74 74 65 64 20 5c 20 69 66 20 65 72 72 6f 72 |atted \ if error| 00000150 2c 20 74 72 61 63 6b 20 6e 6f 74 20 66 6f 72 6d |, track not form| 00000160 61 74 74 65 64 0d 00 b4 28 4a 53 52 20 74 72 61 |atted...(JSR tra| 00000170 63 6b 6e 75 6d 62 65 72 20 5c 20 70 72 69 6e 74 |cknumber \ print| 00000180 20 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d 00 be | track number...| 00000190 27 4a 53 52 20 73 65 63 74 6f 72 69 64 73 20 5c |'JSR sectorids \| 000001a0 20 72 65 61 64 20 61 6c 6c 20 73 65 63 74 6f 72 | read all sector| 000001b0 20 69 64 73 0d 00 c8 11 2e 6e 6f 74 66 6f 72 6d | ids.....notform| 000001c0 61 74 74 65 64 0d 00 d2 32 49 4e 43 20 70 68 79 |atted...2INC phy| 000001d0 73 69 63 61 6c 20 5c 20 69 6e 63 72 65 6d 65 6e |sical \ incremen| 000001e0 74 20 70 68 79 73 69 63 61 6c 20 74 72 61 63 6b |t physical track| 000001f0 20 6e 75 6d 62 65 72 0d 00 dc 2d 4c 44 41 20 70 | number...-LDA p| 00000200 68 79 73 69 63 61 6c 20 5c 20 6c 6f 61 64 20 70 |hysical \ load p| 00000210 68 79 73 69 63 61 6c 20 74 72 61 63 6b 20 6e 75 |hysical track nu| 00000220 6d 62 65 72 0d 00 e6 18 43 4d 50 20 6c 61 73 74 |mber....CMP last| 00000230 20 5c 20 61 6c 6c 20 64 6f 6e 65 3f 0d 00 f0 29 | \ all done?...)| 00000240 42 4e 45 20 6d 61 69 6e 6c 6f 6f 70 20 5c 20 69 |BNE mainloop \ i| 00000250 66 20 6e 6f 74 20 63 6f 70 79 20 6e 65 78 74 20 |f not copy next | 00000260 74 72 61 63 6b 0d 00 fa 0e 4a 53 52 20 6f 73 6e |track....JSR osn| 00000270 65 77 6c 0d 01 04 19 52 54 53 20 5c 20 72 65 74 |ewl....RTS \ ret| 00000280 75 72 6e 20 74 6f 20 42 41 53 49 43 0d 01 0e 0b |urn to BASIC....| 00000290 2e 65 73 63 61 70 65 0d 01 18 19 4c 44 41 20 26 |.escape....LDA &| 000002a0 46 46 20 5c 20 65 73 63 61 70 65 20 66 6c 61 67 |FF \ escape flag| 000002b0 0d 01 22 26 42 4d 49 20 70 72 65 73 73 65 64 20 |.."&BMI pressed | 000002c0 5c 20 62 69 74 20 37 20 73 65 74 20 69 66 20 70 |\ bit 7 set if p| 000002d0 72 65 73 73 65 64 0d 01 2c 07 52 54 53 0d 01 36 |ressed..,.RTS..6| 000002e0 0c 2e 70 72 65 73 73 65 64 0d 01 40 0c 4c 44 41 |..pressed..@.LDA| 000002f0 20 23 26 37 45 0d 01 4a 23 4a 53 52 20 6f 73 62 | #&7E..J#JSR osb| 00000300 79 74 65 20 5c 20 61 63 6b 6e 6f 77 6c 65 64 67 |yte \ acknowledg| 00000310 65 20 45 73 63 61 70 65 0d 01 54 07 42 52 4b 0d |e Escape..T.BRK.| 00000320 01 5e 07 42 52 4b 0d 01 68 11 45 51 55 53 20 22 |.^.BRK..h.EQUS "| 00000330 45 73 63 61 70 65 22 0d 01 72 07 42 52 4b 0d 01 |Escape"..r.BRK..| 00000340 7c 10 2e 66 69 72 73 74 73 65 63 74 6f 72 0d 01 ||..firstsector..| 00000350 86 28 4c 44 41 20 70 68 79 73 69 63 61 6c 20 5c |.(LDA physical \| 00000360 20 70 68 79 73 69 63 61 6c 20 74 72 61 63 6b 20 | physical track | 00000370 6e 75 6d 62 65 72 0d 01 90 29 53 54 41 20 69 64 |number...)STA id| 00000380 73 62 6c 6f 63 6b 2b 37 20 5c 20 73 74 6f 72 65 |sblock+7 \ store| 00000390 20 70 68 79 73 69 63 61 6c 20 74 72 61 63 6b 0d | physical track.| 000003a0 01 9a 17 4c 44 41 20 23 31 20 5c 20 6f 6e 65 20 |...LDA #1 \ one | 000003b0 73 65 63 74 6f 72 0d 01 a4 22 53 54 41 20 69 64 |sector..."STA id| 000003c0 73 62 6c 6f 63 6b 2b 39 20 5c 20 6e 75 6d 62 65 |sblock+9 \ numbe| 000003d0 72 20 6f 66 20 69 64 73 0d 01 ae 0c 4c 44 41 20 |r of ids....LDA | 000003e0 23 26 37 46 0d 01 b8 17 4c 44 58 20 23 69 64 73 |#&7F....LDX #ids| 000003f0 62 6c 6f 63 6b 20 83 20 32 35 36 0d 01 c2 17 4c |block . 256....L| 00000400 44 59 20 23 69 64 73 62 6c 6f 63 6b 20 81 20 32 |DY #idsblock . 2| 00000410 35 36 0d 01 cc 0e 4a 53 52 20 6f 73 77 6f 72 64 |56....JSR osword| 00000420 0d 01 d6 1c 4c 44 41 20 69 64 73 62 6c 6f 63 6b |....LDA idsblock| 00000430 2b 31 30 20 5c 20 72 65 73 75 6c 74 0d 01 e0 1d |+10 \ result....| 00000440 80 20 23 26 31 45 20 5c 20 3d 20 30 20 69 66 20 |. #&1E \ = 0 if | 00000450 66 6f 72 6d 61 74 74 65 64 0d 01 ea 07 52 54 53 |formatted....RTS| 00000460 0d 01 f4 0e 2e 73 65 63 74 6f 72 69 64 73 0d 01 |.....sectorids..| 00000470 fe 26 4c 44 58 20 62 75 66 66 65 72 2b 33 20 5c |.&LDX buffer+3 \| 00000480 20 6c 6f 61 64 20 64 61 74 61 20 73 69 7a 65 20 | load data size | 00000490 63 6f 64 65 0d 02 08 28 4c 44 41 20 73 69 7a 65 |code...(LDA size| 000004a0 73 2c 58 20 5c 20 6c 6f 61 64 20 6e 75 6d 62 65 |s,X \ load numbe| 000004b0 72 20 6f 66 20 73 65 63 74 6f 72 73 0d 02 12 2c |r of sectors...,| 000004c0 53 54 41 20 69 64 73 62 6c 6f 63 6b 2b 39 20 5c |STA idsblock+9 \| 000004d0 20 73 74 6f 72 65 20 6e 75 6d 62 65 72 20 6f 66 | store number of| 000004e0 20 73 65 63 74 6f 72 73 0d 02 1c 0e 41 53 4c 20 | sectors....ASL | 000004f0 41 20 5c 20 2a 32 0d 02 26 0e 41 53 4c 20 41 20 |A \ *2..&.ASL A | 00000500 5c 20 2a 34 0d 02 30 2d 53 54 41 20 73 65 63 74 |\ *4..0-STA sect| 00000510 6f 72 6e 75 6d 62 65 72 20 5c 20 73 74 6f 72 65 |ornumber \ store| 00000520 20 69 6e 64 65 78 20 6f 6e 20 73 65 63 74 6f 72 | index on sector| 00000530 73 0d 02 3a 0c 4c 44 41 20 23 26 37 46 0d 02 44 |s..:.LDA #&7F..D| 00000540 17 4c 44 58 20 23 69 64 73 62 6c 6f 63 6b 20 83 |.LDX #idsblock .| 00000550 20 32 35 36 0d 02 4e 17 4c 44 59 20 23 69 64 73 | 256..N.LDY #ids| 00000560 62 6c 6f 63 6b 20 81 20 32 35 36 0d 02 58 0e 4a |block . 256..X.J| 00000570 53 52 20 6f 73 77 6f 72 64 0d 02 62 1c 4c 44 41 |SR osword..b.LDA| 00000580 20 69 64 73 62 6c 6f 63 6b 2b 31 30 20 5c 20 72 | idsblock+10 \ r| 00000590 65 73 75 6c 74 0d 02 6c 0a 80 20 23 26 31 45 0d |esult..l.. #&1E.| 000005a0 02 76 1c 42 4e 45 20 69 64 73 65 72 72 6f 72 20 |.v.BNE idserror | 000005b0 5c 20 3d 20 30 20 69 66 20 4f 4b 0d 02 80 0a 4c |\ = 0 if OK....L| 000005c0 44 58 20 23 30 0d 02 8a 09 2e 6e 65 78 74 0d 02 |DX #0.....next..| 000005d0 94 0a 4c 44 59 20 23 30 0d 02 9e 0e 2e 70 72 69 |..LDY #0.....pri| 000005e0 6e 74 6c 6f 6f 70 0d 02 a8 10 4c 44 41 20 62 75 |ntloop....LDA bu| 000005f0 66 66 65 72 2c 58 0d 02 b2 34 4a 53 52 20 70 72 |ffer,X...4JSR pr| 00000600 69 6e 74 62 79 74 65 20 5c 20 70 72 69 6e 74 20 |intbyte \ print | 00000610 65 76 65 72 79 20 62 79 74 65 20 6f 66 20 73 65 |every byte of se| 00000620 63 74 6f 72 20 74 61 62 6c 65 0d 02 bc 07 49 4e |ctor table....IN| 00000630 58 0d 02 c6 07 49 4e 59 0d 02 d0 1d 43 50 59 20 |X....INY....CPY | 00000640 23 34 20 5c 20 34 20 62 79 74 65 73 20 70 65 72 |#4 \ 4 bytes per| 00000650 20 6c 69 6e 65 0d 02 da 11 42 4e 45 20 70 72 69 | line....BNE pri| 00000660 6e 74 6c 6f 6f 70 0d 02 e4 0e 4a 53 52 20 6f 73 |ntloop....JSR os| 00000670 6e 65 77 6c 0d 02 ee 21 43 50 58 20 73 65 63 74 |newl...!CPX sect| 00000680 6f 72 6e 75 6d 62 65 72 20 5c 20 6c 61 73 74 20 |ornumber \ last | 00000690 62 79 74 65 3f 0d 02 f8 1f 42 43 43 20 6e 65 78 |byte?....BCC nex| 000006a0 74 20 5c 20 67 6f 20 62 61 63 6b 20 66 6f 72 20 |t \ go back for | 000006b0 6d 6f 72 65 0d 03 02 07 52 54 53 0d 03 0c 0d 2e |more....RTS.....| 000006c0 69 64 73 65 72 72 6f 72 0d 03 16 07 42 52 4b 0d |idserror....BRK.| 000006d0 03 20 07 42 52 4b 0d 03 2a 1a 45 51 55 53 20 22 |. .BRK..*.EQUS "| 000006e0 53 65 63 74 6f 72 20 49 44 20 45 72 72 6f 72 22 |Sector ID Error"| 000006f0 0d 03 34 07 42 52 4b 0d 03 3e 10 2e 74 72 61 63 |..4.BRK..>..trac| 00000700 6b 6e 75 6d 62 65 72 0d 03 48 0e 4a 53 52 20 6f |knumber..H.JSR o| 00000710 73 6e 65 77 6c 0d 03 52 14 4c 44 58 20 23 74 69 |snewl..R.LDX #ti| 00000720 74 6c 65 20 83 20 32 35 36 0d 03 5c 14 4c 44 59 |tle . 256..\.LDY| 00000730 20 23 74 69 74 6c 65 20 81 20 32 35 36 0d 03 66 | #title . 256..f| 00000740 23 4a 53 52 20 70 72 69 6e 74 74 65 78 74 20 5c |#JSR printtext \| 00000750 20 70 72 69 6e 74 20 22 54 72 61 63 6b 20 26 22 | print "Track &"| 00000760 0d 03 70 2d 4c 44 41 20 70 68 79 73 69 63 61 6c |..p-LDA physical| 00000770 20 5c 20 6c 6f 61 64 20 70 68 79 73 69 63 61 6c | \ load physical| 00000780 20 74 72 61 63 6b 20 6e 75 6d 62 65 72 0d 03 7a | track number..z| 00000790 26 4a 53 52 20 70 72 69 6e 74 62 79 74 65 20 5c |&JSR printbyte \| 000007a0 20 70 72 69 6e 74 20 74 72 61 63 6b 20 6e 75 6d | print track num| 000007b0 62 65 72 0d 03 84 15 4c 44 58 20 23 68 65 61 64 |ber....LDX #head| 000007c0 65 72 20 83 20 32 35 36 0d 03 8e 15 4c 44 59 20 |er . 256....LDY | 000007d0 23 68 65 61 64 65 72 20 81 20 32 35 36 0d 03 98 |#header . 256...| 000007e0 27 4a 4d 50 20 70 72 69 6e 74 74 65 78 74 20 5c |'JMP printtext \| 000007f0 20 70 72 69 6e 74 20 22 4c 54 20 48 4e 20 4c 53 | print "LT HN LS| 00000800 20 44 53 22 0d 03 a2 0e 2e 70 72 69 6e 74 74 65 | DS".....printte| 00000810 78 74 0d 03 ac 10 53 54 58 20 7a 65 72 6f 70 61 |xt....STX zeropa| 00000820 67 65 0d 03 b6 12 53 54 59 20 7a 65 72 6f 70 61 |ge....STY zeropa| 00000830 67 65 2b 31 0d 03 c0 0a 4c 44 59 20 23 30 0d 03 |ge+1....LDY #0..| 00000840 ca 0d 2e 74 65 78 74 6c 6f 6f 70 0d 03 d4 14 4c |...textloop....L| 00000850 44 41 20 28 7a 65 72 6f 70 61 67 65 29 2c 59 0d |DA (zeropage),Y.| 00000860 03 de 0f 42 45 51 20 65 6e 64 74 65 78 74 0d 03 |...BEQ endtext..| 00000870 e8 0e 4a 53 52 20 6f 73 61 73 63 69 0d 03 f2 07 |..JSR osasci....| 00000880 49 4e 59 0d 03 fc 10 42 4e 45 20 74 65 78 74 6c |INY....BNE textl| 00000890 6f 6f 70 0d 04 06 0c 2e 65 6e 64 74 65 78 74 0d |oop.....endtext.| 000008a0 04 10 07 52 54 53 0d 04 1a 0e 2e 70 72 69 6e 74 |...RTS.....print| 000008b0 62 79 74 65 0d 04 24 07 50 48 41 0d 04 2e 09 4c |byte..$.PHA....L| 000008c0 53 52 20 41 0d 04 38 09 4c 53 52 20 41 0d 04 42 |SR A..8.LSR A..B| 000008d0 09 4c 53 52 20 41 0d 04 4c 09 4c 53 52 20 41 0d |.LSR A..L.LSR A.| 000008e0 04 56 20 4a 53 52 20 6e 79 62 62 6c 65 20 5c 20 |.V JSR nybble \ | 000008f0 70 72 69 6e 74 20 4d 53 20 6e 79 62 62 6c 65 0d |print MS nybble.| 00000900 04 60 07 50 4c 41 0d 04 6a 20 4a 53 52 20 6e 79 |.`.PLA..j JSR ny| 00000910 62 62 6c 65 20 5c 20 70 72 69 6e 74 20 4c 53 20 |bble \ print LS | 00000920 6e 79 62 62 6c 65 0d 04 74 0f 4c 44 41 20 23 97 |nybble..t.LDA #.| 00000930 28 22 20 22 29 0d 04 7e 1c 4a 53 52 20 6f 73 61 |(" ")..~.JSR osa| 00000940 73 63 69 20 5c 20 70 72 69 6e 74 20 73 70 61 63 |sci \ print spac| 00000950 65 0d 04 88 1c 4a 4d 50 20 6f 73 61 73 63 69 20 |e....JMP osasci | 00000960 5c 20 70 72 69 6e 74 20 73 70 61 63 65 0d 04 92 |\ print space...| 00000970 0b 2e 6e 79 62 62 6c 65 0d 04 9c 0a 80 20 23 26 |..nybble..... #&| 00000980 30 46 0d 04 a6 07 53 45 44 0d 04 b0 07 43 4c 43 |0F....SED....CLC| 00000990 0d 04 ba 0c 41 44 43 20 23 26 39 30 0d 04 c4 0c |....ADC #&90....| 000009a0 41 44 43 20 23 26 34 30 0d 04 ce 07 43 4c 44 0d |ADC #&40....CLD.| 000009b0 04 d8 28 4a 4d 50 20 6f 73 61 73 63 69 20 5c 20 |..(JMP osasci \ | 000009c0 70 72 69 6e 74 20 6e 79 62 62 6c 65 20 61 6e 64 |print nybble and| 000009d0 20 72 65 74 75 72 6e 0d 04 e2 0d 2e 69 64 73 62 | return.....idsb| 000009e0 6c 6f 63 6b 0d 04 ec 1c 45 51 55 42 20 26 46 46 |lock....EQUB &FF| 000009f0 20 5c 20 63 75 72 72 65 6e 74 20 64 72 69 76 65 | \ current drive| 00000a00 0d 04 f6 23 45 51 55 44 20 62 75 66 66 65 72 20 |...#EQUD buffer | 00000a10 5c 20 61 64 64 72 65 73 73 20 6f 66 20 62 75 66 |\ address of buf| 00000a20 66 65 72 0d 05 00 24 45 51 55 44 20 26 30 30 30 |fer...$EQUD &000| 00000a30 30 35 42 30 33 20 5c 20 72 65 61 64 20 73 65 63 |05B03 \ read sec| 00000a40 74 6f 72 20 69 64 73 0d 05 0a 0c 45 51 55 57 20 |tor ids....EQUW | 00000a50 26 30 30 0d 05 14 0a 2e 73 69 7a 65 73 0d 05 1e |&00.....sizes...| 00000a60 0b 45 51 55 42 20 31 38 0d 05 28 0b 45 51 55 42 |.EQUB 18..(.EQUB| 00000a70 20 31 30 0d 05 32 0a 45 51 55 42 20 35 0d 05 3c | 10..2.EQUB 5..<| 00000a80 0a 45 51 55 42 20 32 0d 05 46 0a 45 51 55 42 20 |.EQUB 2..F.EQUB | 00000a90 31 0d 05 50 0a 2e 74 69 74 6c 65 0d 05 5a 15 45 |1..P..title..Z.E| 00000aa0 51 55 53 20 22 20 20 54 72 61 63 6b 20 20 26 22 |QUS " Track &"| 00000ab0 0d 05 64 07 42 52 4b 0d 05 6e 0b 2e 68 65 61 64 |..d.BRK..n..head| 00000ac0 65 72 0d 05 78 0c 45 51 55 42 20 26 30 44 0d 05 |er..x.EQUB &0D..| 00000ad0 82 17 45 51 55 53 20 22 20 20 2d 2d 2d 2d 2d 2d |..EQUS " ------| 00000ae0 2d 2d 2d 2d 22 0d 05 8c 0c 45 51 55 42 20 26 30 |----"....EQUB &0| 00000af0 44 0d 05 96 19 45 51 55 53 20 22 4c 54 20 20 48 |D....EQUS "LT H| 00000b00 4e 20 20 4c 53 20 20 44 53 22 0d 05 a0 0c 45 51 |N LS DS"....EQ| 00000b10 55 42 20 26 30 44 0d 05 aa 19 45 51 55 53 20 22 |UB &0D....EQUS "| 00000b20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 22 0d |--------------".| 00000b30 05 b4 0c 45 51 55 42 20 26 30 44 0d 05 be 07 42 |...EQUB &0D....B| 00000b40 52 4b 0d 05 c8 0d 2e 70 68 79 73 69 63 61 6c 0d |RK.....physical.| 00000b50 05 d2 0a 45 51 55 42 20 30 0d 05 dc 11 2e 73 65 |...EQUB 0.....se| 00000b60 63 74 6f 72 6e 75 6d 62 65 72 0d 05 e6 0a 45 51 |ctornumber....EQ| 00000b70 55 42 20 30 0d 05 f0 09 2e 6c 61 73 74 0d 05 fa |UB 0.....last...| 00000b80 0a 45 51 55 42 20 30 0d 06 04 05 5d 0d 06 0e 05 |.EQUB 0....]....| 00000b90 ed 0d 06 18 28 e8 27 22 4e 75 6d 62 65 72 20 6f |....(.'"Number o| 00000ba0 66 20 74 72 61 63 6b 73 20 28 34 30 2f 38 30 29 |f tracks (40/80)| 00000bb0 20 22 74 72 61 63 6b 73 24 0d 06 22 2a e7 20 74 | "tracks$.."*. t| 00000bc0 72 61 63 6b 73 24 3d 22 34 30 22 20 3f 6c 61 73 |racks$="40" ?las| 00000bd0 74 20 3d 20 34 30 20 8b 20 3f 6c 61 73 74 20 3d |t = 40 . ?last =| 00000be0 20 38 30 0d 06 2c 36 f1 27 22 49 6e 73 65 72 74 | 80..,6.'"Insert| 00000bf0 20 22 3b 3f 6c 61 73 74 3b 22 20 74 72 61 63 6b | ";?last;" track| 00000c00 20 64 69 73 63 20 69 6e 74 6f 20 63 75 72 72 65 | disc into curre| 00000c10 6e 74 20 64 72 69 76 65 22 0d 06 36 2d f1 22 61 |nt drive"..6-."a| 00000c20 6e 64 20 70 72 65 73 73 20 53 70 61 63 65 62 61 |nd press Spaceba| 00000c30 72 20 74 6f 20 70 72 69 6e 74 20 73 65 63 74 6f |r to print secto| 00000c40 72 20 49 44 73 22 0d 06 40 05 f5 0d 06 4a 0a fd |r IDs"..@....J..| 00000c50 20 a5 3d 33 32 0d 06 54 1d f1 27 22 50 72 65 73 | .=32..T..'"Pres| 00000c60 73 20 53 68 69 66 74 20 74 6f 20 73 63 72 6f 6c |s Shift to scrol| 00000c70 6c 22 0d 06 5e 0b d6 20 6d 63 6f 64 65 0d ff |l"..^.. mcode..| 00000c7f