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:

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
dP%=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
xEQUB &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
18-09-88/IDSDUMP.m0
18-09-88/IDSDUMP.m1
18-09-88/IDSDUMP.m2
18-09-88/IDSDUMP.m4
18-09-88/IDSDUMP.m5