1dskutil(1) Emulators dskutil(1)
2
3
4
6 dskutil - Simple sector edtor for discs and disc images.
7
9 dskutil [-type TYPE] [-side SIDE] [-comp COMP] [-dstep] [-retry COUNT]
10 [-format FMT] DISKIMAGE
12 dskutil is an interactive command-driven sector editor, patterned after
13 the venerable CP/M sector editor DU90. This explains some of its
14 idiosyncracies, such as the fact that commands deal in logical track
15 numbers but physical sector numbers.
16
18 -type TYPE
19 Determines which LibDsk driver is to be used to access the disc.
20
21 auto Select according to the disc image file. This is the
22 default.
23
24 dsk Use the DSK (CPCEmu format) image driver.
25
26 edsk Use the extended version of the DSK format.
27
28 floppy Use the floppy driver.
29
30 myz80 Use the hard disk (MYZ80 format) image driver. (This
31 format cannot be autodetected.)
32
33 cfi Use the CFI (DOS fdcopy format) image driver. (This
34 format cannot be autodetected.)
35
36 apridisk
37 Use the ApriDisk image driver (from the utility of the
38 same name). (This format cannot be autodetected.)
39
40 raw Use the raw driver.
41
42
43 -comp COMP
44 Select the compression method used on the disc image file (has
45 no effect when reading a floppy disc).
46
47 auto Detect from the first few bytes of the file. This is the
48 default.
49
50 sq Huffman coded (SQ / USQ).
51
52 gz Gzipped (gzip / gunzip).
53
54 bz2 Burrows-Wheeler compressed (bzip2 / bunzip2).
55
56
57 -side SIDE
58 Determines which side (0 or 1) of the source disc is to be
59 scanned. If this option is not present both sides will be
60 scanned.
61
62
63 -dstep Double-step the source drive (used to read 360k discs in 1.2Mb
64 drives). Only supported by the Linux floppy driver.
65
66
67 -retry COUNT
68 Set the number of times to attempt a read/write/format in case
69 of error.
70
71
72 -format FMT
73 Do not autodetect the disc format; use the named format. The
74 format need only be an approximation to the actual format used
75 by the disc.
76
77
78 -first CYL
79 Start scanning at the specified cylinder.
80
81
82 -last CYL
83 Scan up to and including the specified cylinder.
84
86 The following single-letter commands are used. Operands in brackets
87 such as [filename] are optional. Numeric inputs are shown as nn for
88 decimal, and xx for hex. In either case, prefixing the number with "#"
89 selects the alternate number system.
90
91 Multiple commands on a line are allowed, separated by semicolons.
92
93
94 +[x] Increase the current sector number by [x] and read the resulting
95 sector, incrementing the track if necessary.
96
97 -[x] Decrease the current sector number by [x] and read the resulting
98 sector, decrementing the track if necessary.
99
100 # Display the disc geometry for the current drive/disc image.
101
102 $[variable[=value]]
103 View and amend the geometry. "$" by itself shows all possible
104 variables with their current values; "$variable" shows the value
105 of one variable; and "$variable=value" sets a new value. Note
106 that changing the size of the sector with "$secsize=nn" will
107 cause the current sector buffer and clip buffer to be cleared.
108
109 =ascii Search for an ASCII string, starting at the current sector. Hex
110 codes can be included in the ASCII by surrounding them with
111 angle brackets - for example, to search for the word "Hello" at
112 the start of a line, you could use "=<0A>Hello". The search
113 string is case-sensitive.
114
115 < Save the currently-loaded sector to a clip buffer.
116
117 > Restore the contents of the clip buffer to the current sector
118 buffer.
119
120 ? Display a command summary.
121
122 A[from,to]
123 Dump the contents of the sector buffer as ASCII. If from and to
124 are included, then only values between those offsets will be
125 shown.
126
127 CHoffset,value,value,value...
128 Change bytes in the current sector buffer. The offset and values
129 are in hex.
130
131 CAoffset,ascii
132 Replace bytes in the current sector buffer with an ASCII string.
133 As with the "=" command, the ASCII can contain embedded hex
134 bytes in angle brackets.
135
136 CHfrom-to,value,value,value...
137 The same as CH above, but fills the range from from to to with
138 the byte sequence, repeating or truncating it as necessary.
139
140 CAfrom-to,ascii
141 The same as CHfrom-to, except that the byte sequence is speci‐
142 fied as ASCII.
143
144 D[from,to]
145 Dump the contents of the sector buffer as ASCII and hex.
146
147 Gxx Go to logical sector number xx
148
149 H[from,to]
150 Dump the contents of the sector buffer as hex.
151
152 Kfilename
153 Save all "yanked" sectors (see Y below) to the specified file.
154 This also clears them from memory.
155
156 Lfilename[,type[,compression]]
157 Open a new drive or disc image. If this has a different sector
158 size from the current sector size, the sector buffer and clip
159 buffer will be cleared.
160
161 N[geometry]
162 Change geometry. N by itself re-runs the automatic probe; N with
163 the name of a geometry selects one of the formats known to
164 LibDsk.
165
166 R (Re)read the current sector.
167
168 Snn Set the current sector number, and read.
169
170 Tnn Set the current track number. Does not read.
171
172 V Compare the contents of the sector buffer with the current sec‐
173 tor on disc.
174
175 W Write the sector buffer to disc.
176
177 X Leave dskutil.
178
179 Y Append the current sector to a "yank" buffer. It can then be
180 saved with the K command.
181
182 Z[nn] Sleep for nn seconds; if nn is not present, sleeps for one sec‐
183 ond.
184
185 /nn This must be the last command on a line. It repeats the preced‐
186 ing line nn times.
187
189 On platforms with no sleep(3) function, the Z command works by busy-
190 waiting.
191
192 Commands are always input using fgets(3), even when the host system
193 provides a more sophisticated input method such as readline(3).
194
195 While the current feature set is a fairly good match for DU90 (less the
196 features specific to the CP/M filesystem) it doesn't cover all the fea‐
197 tures of LibDsk.
198
200 John Elliott <jce@seasip.demon.co.uk>.
201
202
203
204Version 1.2.1 23 January 2008 dskutil(1)