home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
CPM
/
ZCPR2
/
DU2.HLP
< prev
next >
Wrap
Text File
|
2000-06-30
|
35KB
|
1,030 lines
Invoking DU2 and DU2 Installation
DU2 Command Summary
Commands for Logging Disks and Examining Disk Parameters
Commands for Positioning and Reading Data
Commands for Searching for Data
Commands for Saving and Restoring Data
Commands for Viewing data
Commands for Altering Data
Commands for Manipulating Macros and the @ Command
Miscellanea
Examples of command use
Interpreting DU2 Directory Display
:Invoking DU2 and DU2 Installation
DU2 is invoked by a command line of the following form:
DU2 <text>
wherσ <text╛ i≤ an∙ valiΣ DU▓ commanΣ sequence«á Iµ thσ firs⌠ tw∩ ì
character≤á oµá <text╛ arσ '/?'¼á thσ built-iεá documentatioεá i≤ ì
displayeΣá anΣ thσ use≥ i≤ returneΣ t∩ CP/M¼á a≤ pe≥ thσá TOOLSE╘ ì
Convention.
Examples:
DU2 /?
-- Displa∙ Built-iε Documentation
DU2 lb,g0,d
-- Executσá command≤ t∩ Loτ iε Drivσ B¼á got∩ Grou≡á 0¼á anΣ ì
displa∙ thσ firs⌠ Blocδ oµ Grou≡ 0
DU▓á i≤ designeΣ t∩ bσ installeΣ witΦ ß minimuφ oµá trouble« ì
Iεá fact¼á iεá almos⌠ al∞ cases¼á n∩ change≤ t∩ thσá sourcσá filσ ì
shoulΣá bσ necessar∙ t∩ ge⌠ DU▓ u≡ anΣ running«á Thi≤ i≤á becausσ ì
DU▓ use≤ thσ disδ paramete≥ blocδ oµ CP/═ t∩ determinσ thσá char-ì
acteristic≤ oµ thσ disδ environment.
Thσá onl∙ parameter≤ tha⌠ shoulΣ neeΣ t∩ bσ changeΣ wil∞á bσ ì
thσ clocδ speeΣ flaτ anΣ thσ numbe≥ oµ line≤ oε thσ CON║á Device« ì
GENIN╙ caε bσ useΣ t∩ perforφ thi≤ installation«
DU▓ i≤ intendeΣ fo≥ usσ oε ß ZCPR▓ system«á A≤ such¼ i⌠ wil∞ ì
onl∙á ruε witΦ ß Z8░ microprocesso≥ anΣ oε ß CP/═ 2.▓ (o≥ higher⌐ ì
system« DU▓ wil∞ NO╘ ruε oε CP/═ 1.4.
:DU2 Command Summary
@ Exec Prev Command =data Search for data
< Save Current Block in Temp > Get Saved Block
<B Save Current Block on Queue >B Get Block from Queue
<G Save Current Group on Queue >G Get Current Group
<Gn Save Group N on Queue >Gn Get Group N
# Print Disk Stats ? Print Help Info
+n Advance to Next Sector -n Back up to Last Sec
! Halt and Wait for User /nn Repeat Command Line
n Exec Macro (0<=n<=9) :n<text> Define Macro n
:Pn Print Macro n :PA Print All Macros
:P@ Print Prev Command
An-n ASCII Dump Hn-n Hex Dump
Dn-n ASCII and Hex Dump
CAn vals or CAn1-n2 val Change ASCII Values
CHn vals or CHn1-n2 val Change Hex Values
Ffile Find File Uu Set User u for F
Tn Position to Track n (dec) Sn Position to Sec n
Gn Position to Group n (hex) G Show position
Ld Log in Disk N New Disk
M Map Disk Mn Show file in Group n
P Toggle Printer
Q Print Queue Statistics QZ Zero (Empty) Queue
QSfile Save Queue as File
R Read Current Block W Write Current Block
Vn View n blocks Zn Sleep n Seconds
X Exit to CP/M; opt Warm Boot ^C Exit to CP/M
┴á commanΣ linσ ma∙ consis⌠ oµ onl∙ onσ commanΣ o≥ ßá serie≤ ì
oµá command≤á separateΣá b∙ commas«á Iεá thσá latte≥á form¼á thσ ì
command≤ arσ executeΣ sequentially«á Thσ onl∙ exception≤ t∩ thi≤ ì
rulσá arσ thσ :ntex⌠ commanΣ (whicΦ store≤ thσ commanΣ linσá awa∙ ì
a≤ ß macro⌐ anΣ thσ *nε commanΣ (whicΦ repeat≤ thσ commanΣ line).
:Commands for Logging and Viewing Disk Parameters
Thσá followinτ command≤ arσ discusseΣ iε thi≤ sectioε oµ thσ ì
HELP file:
F -- Find File
L -- Log in Disk
N -- New Disk (Reset Disk System)
M -- Map Disk Directory
U -- Select User Number
# -- Print Disk and Queue Statistics
Ffilename.typ
Prin⌠á director∙á fo≥á filσá "filename.typ"«á Thi≤á commanΣ ì
present≤á thσá director∙á entr∙á fo≥á thσá firs⌠á exten⌠á oµá thσ ì
indicateΣá file«á Seσá thσá sectioεá oεá "Interpretinτá thσá DU▓ ì
Director∙á Displayó fo≥ inf∩ oε ho≈ t∩ interpre⌠ thσá informatioε ì
presented.
Example (actual DU2 session):
DU2 B1? fz80.mac
40 015A3830 20202020 204D4143 0000000E *.Z80 MAC....*
50 9A000000 00000000 00000000 00000000 *................*
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1
DU2 B1? ftest.txt
++ File Not Found ++
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1
L[d]
Thσ simplσ "Ló commanΣ re-log≤ iε thσ curren⌠ disk«á Yo⌡ ma∙ ì
pul∞ ou⌠ ß disk¼á pu⌠ iε ß new¼á anΣ "Ló jus⌠ t∩ loτ i⌠ in«á Thσ ì
forφ "Ld"¼á wherσ Σ i≤ ß valiΣ drivσ lette≥ (likσ "LB")¼á i≤ useΣ ì
t∩á loτá iεá ßá specifiπ disδ anΣ permi⌠á yo⌡á t∩á worδá oεá tha⌠ ì
particula≥ disδ froφ thi≤ timσ foreword.
Example (actual DU2 session):
DU2 B1? l
DU2 B1? la
DU2 A1? lb
N
Thi≤á tell≤ DU▓ tha⌠ yo⌡ jus⌠ pu⌠ iε ß ne≈ disk«á Fo≥á thosσ ì
BIO╙á implementation≤ tha⌠ neeΣ t∩ bσ tolΣá specificall∙á (Reset⌐ ì
tha⌠ ß disδ changσ ha≤ beeε made¼ usσ thi≤ commanΣ ever∙ timσ yo⌡ ì
changσ ß disδ whilσ DU▓ i≤ running.
Example:
DU2 B1? n
Note║á Therσá wa≤á ßá significan⌠ dela∙ beforσá thσá promp⌠ ì
returned. A complete disk system reset took place.
M[n]
Dump≤á ßá ma≡ oµ thσ grou≡ allocation≤ fo≥ files«á Mεá show≤ ì
whicΦ filσ i≤ allocateΣ t∩ grou≡ "n".
Example (actual DU2 session, edited):
DU2 B1? m
0010-0010 07 STD .MSG 00 : 0011-0011 07 TALK .SUM 00
0012-0012 07 Z2CON .WSH 00 : 0013-0013 00 LDIR .C 00
0014-0014 00 COMMAND .LBR 01 : 0015-0015 00 LDIR .C 00
< Detail Left Out >
004B-004B 08 MASTER .CAT 03 : 004C-0050 00 COMMAND .LBR 05
0051-0051 00 COMMAND .LBR 07 : 0052-0052 00 UNERA15 .COM 00
0053-0053 08 MENU .CPR 00 : 0054-0057 00 COMMAND .LBR 07
Type Any Character to Continue or ^C to Abort -
DU2 B1? m54
0054-0057 00 COMMAND .LBR 07 :
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1
The entries are divided up as follows:
0010-0010 07 STD .MSG 00 : 0011-0011 07 TALK .SUM 00
^ ^ ^ ^
| | Filename Extent
| User Number
Group Range
Uu
Log≤ use≥ 'uº fo≥ nex⌠ ╞ (FinΣ File⌐ command.
ì
Example (actual DU2 session):
DU2 B1? u7
DU2 B7? u1
#
Prints the disk parameters:
. Current Disk Drive . Number of Tracks on Disk
. Size of Group in Blocks . Number of Sectors Per Track
. Number of Groups on Disk . Number of Directory Entries
. Number of System Tracks
Prints the queue statistics:
. Size of Queue . Space Available
Example (actual DU2 session):
DU2 B1? #
+=============================+
| -- Queue Information -- |
+-----------------------------+
0 Blocks in Queue
249 Blocks Left in Queue
Address of Head of Queue: 3E00 Hex
Address of Tail of Queue: 3E00 Hex
(Continued on Next Screen)
+=============================+
| -- Disk Information -- |
+-----------------------------+
Disk Drive: B
Tracks: 244
Sectors/Track: 336
Group Size: 32 Blocks/Group
Total Groups: 1280
Directory Entries: 512
System Tracks: 122
===============================
:Commands for Positioning and Reading Data
Thσ followinτ command≤ arσ discusseΣ iε thi≤ sectioε oµá thσ ì
HELP file:
G -- Position to Group
S -- Position to Sector
T -- Position to Track
R -- Read Block
W -- Write Block
+ -- Advance to Next Logical Sector
- -- Backup to Last Logical Sector
G[nn]
Positioε t∩ grou≡ nε anΣ reaΣ block«á Iµ thσ forφ i≤ simpl∙ ì
"G", show your current position.
Example (actual DU2 session):
DU2 B1? g0
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1
DU2 B1? g4
Group = 0004:00, Track = 122, Sector = 129, Physical Sector = 129
DU2 B1? g
Group = 0004:00, Track = 122, Sector = 129, Physical Sector = 129
DU2 B1? g0
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1
Tnn and Snn
"Tnnóá doe≤á ß seeδ t∩ tracδ nε bu⌠ doe≤ no⌠ reaΣá ßá block« ì
"Snnóá position≤ t∩ secto≥ nε oε thσ curren⌠ tracδ anΣ read≤á thσ ì
blocδ there. Example (actual DU2 session):
DU2 B1? t124
Group = 0015:00, Track = 124, Sector = 1, Physical Sector = 1
DU2 B1? s24
Group = 0015:17, Track = 124, Sector = 24, Physical Sector = 24
R and W
╥ read≤ thσ blocδ currentl∙ positioneΣ t∩ int∩ memory«á Notσ ì
╥ (Read⌐ i≤ implici⌠ iε thσ G¼á +¼ anΣ - commands¼ bu⌠ NO╘ iε thσ ì
╙ anΣ ╘ commands.
╫ write≤ bacδ thσ curren⌠ blocδ (NOTE║ ma∙ no⌠ bσ useΣ afte≥ ì
aεá ╞á command¼á a≤á CP/═á wa≤á useΣ t∩á finΣá thσá filσá iεá thσ ì
directory).
Examples:
DU2 B1? r
DU2 B1? w
+[nn] and =[nn]
"+óá advance≤ ▒ secto≥ (iµ belo≈ tracδ 2¼á thi≤ advance≤á t∩ ì
nex⌠á numerica∞á secto≥ anΣ iµ ▓ o≥ more¼á advance≤ baseΣ oεá thσ ì
system'≤ secto≥ skewinτ algorithm¼á i.e«á s∩ ½ wil∞ ge⌠ thσá nex⌠ ì
logica∞ secto≥ oµ thσ file)« "-ó backup≤ u≡ ▒ secto≥ iε thσ samσ ì
sense.
Notσ ½ anΣ - ma∙ takσ aε amount║á fo≥ example¼á +1╡ step≤ iε ì
1╡ sectors« Notσ als∩ tha⌠ "-ó issueΣ a⌠ thσ firs⌠ logica∞ secto≥ ì
oµá thσá disδ wil∞ wra≡ bacδ t∩ thσ las⌠ anΣ "+ó issueΣá a⌠á las⌠ ì
secto≥ wil∞ wra≡ forwarΣ t∩ thσ first.
Examples (actual DU2 session):
DU2 B1? g0
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1
DU2 B1? d
00 07535444 20202020 204D5347 00000002 *.STD MSG....*
10 10000000 00000000 00000000 00000000 *................*
20 004C4449 52202020 20432020 00000038 *.LDIR C ...8*
30 13001500 00000000 00000000 00000000 *................*
40 0843504D 55472020 20434154 01000046 *.CPMUG CAT...F*
50 1C001E00 38003D00 41004300 45000000 *....8.=.A.C.E...*
60 00434F4D 4D414E44 204C4252 01000080 *.COMMAND LBR....*
70 14001600 17001800 19001A00 1B001D00 *................*
DU2 B1? +d
Group = 0000:01, Track = 122, Sector = 2, Physical Sector = 2
00 0754414C 4B202020 2053554D 00000049 *.TALK SUM...I*
10 11002300 24000000 00000000 00000000 *..#.$...........*
20 00554E45 52413135 2041534D 00000060 *.UNERA15 ASM...`*
30 3E003F00 40000000 00000000 00000000 *>.?.@...........*
40 075A3249 4E532020 20575348 0000002A *.Z2INS WSH...**
50 21002500 00000000 00000000 00000000 *!.%.............*
60 075A3243 4F4E2020 20575348 0000003F *.Z2CON WSH...?*
70 12002200 00000000 00000000 00000000 *..".............*
DU2 B1? +d
Group = 0000:02, Track = 122, Sector = 3, Physical Sector = 3
00 07445532 20202020 2042414B 00000057 *.DU2 BAK...W*
10 26002800 29000000 00000000 00000000 *&.(.)...........*
20 04535441 52545550 20C3CF4D 0000001E *.STARTUP COM....*
30 27000000 00000000 00000000 00000000 *'...............*
40 00434F4D 4D414E44 204C4252 03000080 *.COMMAND LBR....*
50 1F002000 30003100 32003300 34003500 *.. .0.1.2.3.4.5.*
60 00434F4D 4D414E44 204C4252 05000080 *.COMMAND LBR....*
70 36003700 39004C00 4D004E00 4F005000 *6.7.9.L.M.N.O.P.*
DU2 B1? +2
Group = 0000:04, Track = 122, Sector = 5, Physical Sector = 5
DU2 B1? d
00 084D4153 54455220 20434154 01000080 *.MASTER CAT....*
10 2D002F00 3A003B00 3C004200 44004600 *-./.:.;.<.B.D.F.*
20 00464958 54455820 2041534D 0100001E *.FIXTEX ASM....*
30 65006600 69006B00 6C000000 00000000 *e.f.i.k.l.......*
40 00554E45 52413135 20434F4D 00000007 *.UNERA15 COM....*
50 52000000 00000000 00000000 00000000 *R...............*
60 084D454E 55202020 20C35052 00000008 *.MENU CPR....*
70 53000000 00000000 00000000 00000000 *S...............*
DU2 B1? -3d
Group = 0000:01, Track = 122, Sector = 2, Physical Sector = 2
00 0754414C 4B202020 2053554D 00000049 *.TALK SUM...I*
10 11002300 24000000 00000000 00000000 *..#.$...........*
20 00554E45 52413135 2041534D 00000060 *.UNERA15 ASM...`*
30 3E003F00 40000000 00000000 00000000 *>.?.@...........*
40 075A3249 4E532020 20575348 0000002A *.Z2INS WSH...**
50 21002500 00000000 00000000 00000000 *!.%.............*
60 075A3243 4F4E2020 20575348 0000003F *.Z2CON WSH...?*
70 12002200 00000000 00000000 00000000 *..".............*
:Commands for Searching for Data
=string
Thi≤ commanΣ perform≤ ß searcΦ fo≥ thσ indicateΣ ASCI╔ text¼ ì
startinτá a⌠ curren⌠ sector«á <xx╛ he° ma∙ bσ imbedded¼á o≥á useΣ ì
alone║á T∩ finΣ "I╬ 0FEH"║á =<db><fe>«á Bi⌠ ╖ i≤ ignoreΣ unles≤ ì
<xx╛ i≤ used« Notσ that¼ duσ t∩ thσ parsinτ schemσ oµ DU2¼ form≤ ì
sucΦá a≤ "+=string"¼á whicΦ position≤ t∩ thσ nex⌠ secto≥ anΣ theε ì
start≤á thσá search¼á arσ allowed«á Form≤ likσá "+2=stringóá arσ ì
equally permitted. The search may be aborted by a ^C. Example:
DU2 B1? g0
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1
DU2 B1? =DU2
= at 24
Group = 0000:0E, Track = 122, Sector = 15, Physical Sector = 15
DU2 B1? d
00 07533130 30202020 20545854 0000000C *.S100 TXT....*
10 0C010000 00000000 00000000 00000000 *................*
20 07445532 20202020 2042414B 00000068 *.DU2 BAK...h*
30 2A006100 6D007800 00000000 00000000 **.a.m.x.........*
40 015A3830 20202020 204D4143 0000000E *.Z80 MAC....*
50 9A000000 00000000 00000000 00000000 *................*
60 E5444953 4B4F5554 20434F4E 00000020 *eDISKOUT CON... *
70 60000000 00000000 00000000 00000000 *`...............*
DU2 B1? +=DU2
Group = 0000:0F, Track = 122, Sector = 16, Physical Sector = 16
= at 64
Group = 0000:10, Track = 122, Sector = 17, Physical Sector = 17
DU2 B1? d
00 075A3243 4F4E2020 20575320 05000080 *.Z2CON WS ....*
10 3D013E01 3F014001 41014201 43014401 *=.>.?.@.A.B.C.D.*
20 075A3243 4F4E2020 20575320 06000077 *.Z2CON WS ...w*
30 45014601 47014801 00000000 00000000 *E.F.G.H.........*
40 E5444953 4B4F5554 20434F4E 00000020 *eDISKOUT CON... *
50 97000000 00000000 00000000 00000000 *................*
60 07445532 20202020 20484C50 01000006 *.DU2 HLP....*
70 98009900 9B009C00 9D000000 00000000 *................*
DU2 B1? +=DU2,d
Group = 0000:11, Track = 122, Sector = 18, Physical Sector = 18
= at 24
Group = 0000:11, Track = 122, Sector = 18, Physical Sector = 18
00 E547454E 494E5320 204D4143 01000080 *eGENINS MAC....*
10 D700EF00 F000F400 F500F600 F700F800 *W.o.p.t.u.v.w.x.*
20 E5445532 20202020 2041534D 01000080 *eDU2 ASM....*
30 EC00ED00 EE00FA00 07010B01 0E011301 *l.m.n.z.........*
40 04445532 20202020 20C3CF4D 0000004E *.DU2 COM...N*
50 F100F200 F3000000 00000000 00000000 *q.r.s...........*
60 E547454E 494E5320 204D4143 02000039 *eGENINS MAC...9*
70 F9000F01 00000000 00000000 00000000 *y...............*
:Commands for Saving and Restoring Data
Thσá followinτ command≤ arσ discusseΣ iε thi≤ sectioε oµ thσ ì
HELP file:
< -- Save Current Block
> -- Restore Saved Block
<B -- Save Current Block at Tail of Queue
>B -- Load Current Block from Head of Queue
<G -- Read and Save Group at Tail of Queue
>G -- Copy Group from Head of Queue and Write
Q -- Print Queue Statistics
QZ -- Zero (Clear) Queue
QS -- Save Queue as a File
< and >
"<óá save≤á curren⌠ blocδ iε aε interna∞ savσá buffer«á ">ó ì
copie≤ thσ interna∞ savσ buffe≥ int∩ thσ curren⌠ blocδ areßá (bu⌠ ì
doe≤ NO╘ writσ i⌠ ou⌠ t∩ disk).
<B and >B
"<Bó save≤ thσ curren⌠ blocδ ont∩ thσ tai∞ oµ thσ DU▓ Queue« ì
Thi≤á Queue¼á ß FIF╧ (Firs⌠ In-Firs⌠ Out⌐ datß structure¼á caε bσ ì
useΣ t∩ collec⌠ ß numbe≥ oµ block≤ fo≥ late≥ cop∙ t∩ ß disδá filσ ì
o≥á explici⌠ placemen⌠ somewherσ oε thσ disk«á ">Bó extract≤ thσ ì
blocδ a⌠ thσ heaΣ oµ thσ DU▓ Queuσ anΣ place≤ i⌠ int∩ thσ workinτ ì
buffe≥ area.
<G[nn] and >G[nn]
"<Gó read≤ thσ curren⌠ grou≡ anΣ save≤ i⌠ oε tai∞ oµ thσ DU▓ ì
Queue«á Thσá sizσá oµ ß grou≡ i≤ dependen⌠ oε thσ forma⌠ oµá thσ ì
disk¼á anΣá DU▓á automaticall∙ adjust≤ t∩ thσ prope≥á grou≡á sizσ ì
withou⌠á yo⌡ havinτ t∩ worr∙ abou⌠ wha⌠ i⌠ is«á ">Gó copie≤á thσ ì
grou≡ a⌠ thσ heaΣ oµ thσ DU▓ Queuσ ont∩ disk« Iµ nε i≤ specifieΣ ì
(a≤ iε "<Gnnó o≥ ">Gnn")¼á theε thσ indicateΣ grou≡ i≤ reaΣá froφ ì
o≥á writteεá to«á Iµá nε i≤ no⌠ given¼á theε thσ grou≡á yo⌡á arσ ì
currentl∙ positioneΣ t∩ i≤ affected.
Q, QZ, and QSfile
╤á report≤á thσ statu≤ oµ thσ DU▓á Queue¼á namel∙á ho≈á man∙ ì
block≤á arσ storeΣ iε i⌠ anΣ ho≈ mucΦ spacσ remains«á Q┌á zeroe≤ ì
(clears⌐ thσ DU▓ Queue«á "QSfilename.typó save≤ thσ DU▓ Queuσ oε ì
disk in the current user area as the indicated file.
Examples (actual DU2 session):
DU2 B1? g0
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1
DU2 B1? d
00 07535444 20202020 204D5347 00000002 *.STD MSG....*
10 10000000 00000000 00000000 00000000 *................*
20 004C4449 52202020 20432020 00000038 *.LDIR C ...8*
30 13001500 00000000 00000000 00000000 *................*
40 0843504D 55472020 20434154 01000046 *.CPMUG CAT...F*
50 1C001E00 38003D00 41004300 45000000 *....8.=.A.C.E...*
60 00434F4D 4D414E44 204C4252 01000080 *.COMMAND LBR....*
70 14001600 17001800 19001A00 1B001D00 *................*
DU2 B1? <
DU2 B1? ch0-7f e5
DU2 B1? d
00 E5E5E5E5 E5E5E5E5 E5E5E5E5 E5E5E5E5 *eeeeeeeeeeeeeeee*
10 E5E5E5E5 E5E5E5E5 E5E5E5E5 E5E5E5E5 *eeeeeeeeeeeeeeee*
20 E5E5E5E5 E5E5E5E5 E5E5E5E5 E5E5E5E5 *eeeeeeeeeeeeeeee*
30 E5E5E5E5 E5E5E5E5 E5E5E5E5 E5E5E5E5 *eeeeeeeeeeeeeeee*
40 E5E5E5E5 E5E5E5E5 E5E5E5E5 E5E5E5E5 *eeeeeeeeeeeeeeee*
50 E5E5E5E5 E5E5E5E5 E5E5E5E5 E5E5E5E5 *eeeeeeeeeeeeeeee*
60 E5E5E5E5 E5E5E5E5 E5E5E5E5 E5E5E5E5 *eeeeeeeeeeeeeeee*
70 E5E5E5E5 E5E5E5E5 E5E5E5E5 E5E5E5E5 *eeeeeeeeeeeeeeee*
DU2 B1? >,d
00 07535444 20202020 204D5347 00000002 *.STD MSG....*
10 10000000 00000000 00000000 00000000 *................*
20 004C4449 52202020 20432020 00000038 *.LDIR C ...8*
30 13001500 00000000 00000000 00000000 *................*
40 0843504D 55472020 20434154 01000046 *.CPMUG CAT...F*
50 1C001E00 38003D00 41004300 45000000 *....8.=.A.C.E...*
60 00434F4D 4D414E44 204C4252 01000080 *.COMMAND LBR....*
70 14001600 17001800 19001A00 1B001D00 *................*
DU2 B1? q
** Queue Status Summary **
0 Blocks in Queue
249 Blocks Left in Queue
Address of Head of Queue: 3E00 Hex
Address of Tail of Queue: 3E00 Hex
DU2 B1? <g
Reading from Group 0000
32 Blocks in Queue
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1
DU2 B1? g1
Group = 0001:00, Track = 122, Sector = 33, Physical Sector = 33
DU2 B1? <g
Reading from Group 0001
64 Blocks in Queue
Group = 0001:00, Track = 122, Sector = 33, Physical Sector = 33
DU2 B1? q
** Queue Status Summary **
64 Blocks in Queue
185 Blocks Left in Queue
Address of Head of Queue: 3E00 Hex
Address of Tail of Queue: 5E00 Hex
DU2 B1? qsdir.sys
Queue Saved in File
DU2 B1? qz
** Queue Status Summary **
0 Blocks in Queue
249 Blocks Left in Queue
Address of Head of Queue: 3E00 Hex
Address of Tail of Queue: 3E00 Hex
DU2 B1? g0
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1
DU2 B1? <b
1 Blocks in Queue
DU2 B1? +<b
Group = 0000:01, Track = 122, Sector = 2, Physical Sector = 2
2 Blocks in Queue
DU2 B1? +<b
Group = 0000:02, Track = 122, Sector = 3, Physical Sector = 3
3 Blocks in Queue
DU2 B1? +<b
Group = 0000:03, Track = 122, Sector = 4, Physical Sector = 4
4 Blocks in Queue
DU2 B1? +2<b
Group = 0000:05, Track = 122, Sector = 6, Physical Sector = 6
5 Blocks in Queue
:Commands for Viewing Data
V[nn]
╓á view≤á thσ curren⌠ blocδ a≤ ASCI╔ characters«á Thσá forφ ì
"Vnnóá view≤á thσá indicateΣ numbe≥ oµá block≤á startinτá a⌠á thσ ì
curren⌠ one.
A, D, and H
─á display≤ ß blocδ o≥ portioε thereoµ iεá botΦá hexadecima∞ ì
notatioε anΣ a≤ ASCI╔ characters«á ┴ display≤ ß blocδ o≥ portioε ì
thereoµá a≤ ASCI╔ characters¼á anΣ ╚ display≤ ß blocδ o≥á portioε ì
thereoµá a≤á hexadecima∞ numbers«á Al∞ threσ command≤á accep⌠á ß ì
range¼ sucΦ a≤ thσ following:
D0-#7F is the same as just D
D3-5
A20-#3F
See next section for examples.
:Commands for Altering Data
CH and CA
C╚á allow≤á thσ use≥ t∩ changσ thσ content≤ oµá thσá curren⌠ ì
blocδ b∙ specifyinτ ne≈ value≤ a≤ hexadecima∞ numbers« C┴ allow≤ ì
the same by specifying an ASCII character string.
CHaddr val val val...
Change Hex data values in block
CAaddr char string...
Change ASCII data values in blockè
NOT┼ tha⌠ <xx╛ ma∙ bσ he° imbeddeΣ iε thσ ASCII║
ca0 OK<d><a><1a>
Use W to write changes to disk.
Ranges may be specified:
CHaddr-addr byte or CAaddr-addr byte
Changes a range of bytes to the same value
Examples (actual DU2 session):
DU2 B7? g0
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1
DU2 B7? d
00 07535444 20202020 204D5347 00000002 *.STD MSG....*
10 10000000 00000000 00000000 00000000 *................*
20 004C4449 52202020 20432020 00000038 *.LDIR C ...8*
30 13001500 00000000 00000000 00000000 *................*
40 0843504D 55472020 20434154 01000046 *.CPMUG CAT...F*
50 1C001E00 38003D00 41004300 45000000 *....8.=.A.C.E...*
60 00434F4D 4D414E44 204C4252 01000080 *.COMMAND LBR....*
70 14001600 17001800 19001A00 1B001D00 *................*
DU2 B7? d0-#f
00 07535444 20202020 204D5347 00000002 *.STD MSG....*
DU2 B7? h0-#f
00 07535444 20202020 204D5347 00000002
DU2 B7? a0-#f
00 *.STD MSG....*
DU2 B7? fdu2.hlp
20 07445532 20202020 20484C50 01000039 *.DU2 HLP...9*
30 28009800 99009B00 9C009D00 00000000 *(...............*
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1
DU2 B7? g28
Group = 0028:00, Track = 125, Sector = 273, Physical Sector = 273
DU2 B7? d
00 496E766F 6B696E67 20445532 20616E64 *Invoking DU2 and*
10 20445532 20496E73 74616C6C 6174696F * DU2 Installatio*
20 6E0D0A44 55322043 6F6D6D61 6E642053 *n..DU2 Command S*
30 756D6D61 72790D0A 436F6D6D 616E6473 *ummary..Commands*
40 20666F72 204C6F67 67696E67 20446973 * for Logging Dis*
50 6B732061 6E642045 78616D69 6E696E67 *ks and Examining*
60 20446973 6B205061 72616D65 74657273 * Disk Parameters*
70 0D0A436F 6D6D616E 64732066 6F722050 *..Commands for P*
DU2 B7? v
Invoking DU2 and DU2 Installation
DU2 Command Summary
Commands for Logging Disks and Examining Disk Parameters
Commands for P
Group = 0028:00, Track = 125, Sector = 273, Physical Sector = 273
DU2 B7? v3
Invoking DU2 and DU2 Installation
DU2 Command Summary
Commands for Logging Disks and Examining Disk Parameters
Commands for Positioning and Reading Data
Commands for Searching for Data
Commands for Saving and Restoring Data
Commands for Viewing data
Commands for Altering Data
Commands for Manipulating Macros and the @ Command
Miscellanea
Examples of command use
Interpret
Group = 0028:02, Track = 125, Sector = 275, Physical Sector = 275
DU2 B7? g28
Group = 0028:00, Track = 125, Sector = 273, Physical Sector = 273
DU2 B7? d
00 496E766F 6B696E67 20445532 20616E64 *Invoking DU2 and*
10 20445532 20496E73 74616C6C 6174696F * DU2 Installatio*
20 6E0D0A44 55322043 6F6D6D61 6E642053 *n..DU2 Command S*
30 756D6D61 72790D0A 436F6D6D 616E6473 *ummary..Commands*
40 20666F72 204C6F67 67696E67 20446973 * for Logging Dis*
50 6B732061 6E642045 78616D69 6E696E67 *ks and Examining*
60 20446973 6B205061 72616D65 74657273 * Disk Parameters*
70 0D0A436F 6D6D616E 64732066 6F722050 *..Commands for P*
DU2 B7? ch0-10 0
DU2 B7? d
00 00000000 00000000 00000000 00000000 *................*
10 00445532 20496E73 74616C6C 6174696F *.DU2 Installatio*
20 6E0D0A44 55322043 6F6D6D61 6E642053 *n..DU2 Command S*
30 756D6D61 72790D0A 436F6D6D 616E6473 *ummary..Commands*
40 20666F72 204C6F67 67696E67 20446973 * for Logging Dis*
50 6B732061 6E642045 78616D69 6E696E67 *ks and Examining*
60 20446973 6B205061 72616D65 74657273 * Disk Parameters*
70 0D0A436F 6D6D616E 64732066 6F722050 *..Commands for P*
DU2 B7? ca11 This is a test
DU2 B7? d0-#1f
00 00000000 00000000 00000000 00000000 *................*
10 00546869 73206973 20612074 6573746F *.This is a testo*
:Commands for Manipulating Macros and the @ Command
Macros
┴á Macr∩á i≤á ß short-hanΣ yo⌡ caε usσ t∩ definσá ßá commanΣ ì
sequence«á Rathe≥á thaε havinτ t∩ typσ aε involveΣ commanΣá ove≥ ì
anΣ ove≥ again¼á thσ DU▓ macr∩ facilit∙ allow≤ yo⌡ t∩ assigε thi≤ ì
commanΣá sequencσá t∩ ß numbe≥ (░ t∩ 9⌐ anΣ theεá executσá i⌠á b∙ ì
simpl∙á presentinτá thi≤á numbe≥ a≤á ßá command«á Thσá followinτ ì
commands are associated with this facility.
:ntext and n
":n<text>ó define≤ thσ tex⌠ followinτ thσ digi⌠ 'nº t∩ bσá ß ì
Macro«á A≤á always¼á ░ <╜ ε <╜ 9«á Thσ macr∩ definition≤ ma∙ bσ ì
createΣá anΣá redefineΣ a⌠ will«á Iµ ß macr∩á ha≤á alread∙á beeε ì
defineΣá fo≥ thσ indicateΣ number¼á i⌠ wil∞ bσ overwritteε b∙ thσ ì
executioε oµ thi≤ command«á "n"¼ wherσ ░ <╜ ε <╜ 9¼ execute≤ thσ ì
indicateΣ macro.
:Pn and :PA
":Pn"¼ wherσ ░ <╜ ε <╜ 9¼ print≤ thσ tex⌠ oµ Macr∩ Numbe≥ n« ì
":PAó print≤ thσ tex⌠ oµ al∞ 1░ macros.
@ and :P@
"@ó execute≤ thσ previou≤ commanΣ linσ tha⌠ diΣ no⌠á contaiε ì
thσá "@ó Command«á Thi≤ provide≤ aε eas∙ wa∙ t∩ repea⌠ thσá las⌠ ì
commanΣ linσ typed« Fo≥ example:
g0 <-- go to Group 0
ch0-7f e5,< <-- Initialize the first block and Save
>,w,+ <-- Read in the Saved Block, Write it
out to disk, and advance to next
logical block
@ <-- Do the Previous Command Again
@ <-- And Again
@ <-- And Again
":P@óá print≤ thσ previou≤ commanΣ linσ (anΣ doe≤ no⌠ changσ ì
it).
Examples (edited DU2 session):
DU2 B7? g0
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1
DU2 B7? :1+,d0-#1f
DU2 B7? :p1
Macro Definitions --
1: +,d0-#1f
DU2 B7? 1
Group = 0000:01, Track = 122, Sector = 2, Physical Sector = 2
00 0754414C 4B202020 2053554D 00000049 *.TALK SUM...I*
10 11002300 24000000 00000000 00000000 *..#.$...........*
DU2 B7? 1
Group = 0000:02, Track = 122, Sector = 3, Physical Sector = 3
00 07444953 4B4F5554 20434F4E 00000000 *.DISKOUT CON....*
10 00000000 00000000 00000000 00000000 *................*
DU2 B7? 1
Group = 0000:03, Track = 122, Sector = 4, Physical Sector = 4
00 04584449 52202020 20C3CF4D 00000054 *.XDIR COM...T*
10 2C002E00 48000000 00000000 00000000 *,...H...........*
DU2 B7? g0,d0-#1f
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1
00 07535444 20202020 204D5347 00000002 *.STD MSG....*
10 10000000 00000000 00000000 00000000 *................*
DU2 B7? 1
Group = 0000:01, Track = 122, Sector = 2, Physical Sector = 2
00 0754414C 4B202020 2053554D 00000049 *.TALK SUM...I*
10 11002300 24000000 00000000 00000000 *..#.$...........*
DU2 B7? :pa
Macro Definitions --
0:
1: +,d0-#1f
2:
< Detail Left Out >
9:
DU2 B7? g0,d0-#1f,1,1,1
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1
00 07535444 20202020 204D5347 00000002 *.STD MSG....*
10 10000000 00000000 00000000 00000000 *................*
Group = 0000:01, Track = 122, Sector = 2, Physical Sector = 2
00 0754414C 4B202020 2053554D 00000049 *.TALK SUM...I*
10 11002300 24000000 00000000 00000000 *..#.$...........*
Group = 0000:02, Track = 122, Sector = 3, Physical Sector = 3
00 07444953 4B4F5554 20434F4E 00000000 *.DISKOUT CON....*
10 00000000 00000000 00000000 00000000 *................*
Group = 0000:03, Track = 122, Sector = 4, Physical Sector = 4
00 04584449 52202020 20C3CF4D 00000054 *.XDIR COM...T*
10 2C002E00 48000000 00000000 00000000 *,...H...........*
DU2 B7? @
Command --
g0,d0-#1f,+,d0-#1f,+,d0-#1f,+,d0-#1f
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1
00 07535444 20202020 204D5347 00000002 *.STD MSG....*
10 10000000 00000000 00000000 00000000 *................*
Group = 0000:01, Track = 122, Sector = 2, Physical Sector = 2
00 0754414C 4B202020 2053554D 00000049 *.TALK SUM...I*
10 11002300 24000000 00000000 00000000 *..#.$...........*
Group = 0000:02, Track = 122, Sector = 3, Physical Sector = 3
00 07444953 4B4F5554 20434F4E 00000000 *.DISKOUT CON....*
10 00000000 00000000 00000000 00000000 *................*
Group = 0000:03, Track = 122, Sector = 4, Physical Sector = 4
00 04584449 52202020 20C3CF4D 00000054 *.XDIR COM...T*
10 2C002E00 48000000 00000000 00000000 *,...H...........*
:Miscellanea
?
"?óá give≤á ß commanΣ summar∙ anΣ tell≤ thσá use≥á wha⌠á thσ ì
curren⌠á value≤ arσ fo≥ Processo≥ Clocδ SpeeΣ anΣ Line≤ pe≥á Pagσ ì
oεá CON║á a≤á wel∞á a≤ thσ addres≤ fo≥ thσ Grou≡á Storagσá Buffe≥ ì
(wherσ thσ DU▓ Queuσ begins).
*[nn]
"*nnóá repeat≤ thσ curren⌠ commanΣ linσ (a≤ entereΣ s∩á far⌐ ì
nεá times«á Thi≤á commanΣá default≤ t∩ "foreveró iµá nεá i≤á no⌠ ì
specified« 'nnº ma∙ bσ ▓ t∩ 65535.
!
"!óá halt≤ processinτ oµ commands¼á display≤ ßá continuatioε ì
messagσá t∩á thσ user¼á anΣ wait≤ fo≥ thσ use≥ t∩ typσá an∙á key« ì
Typinτá ß Control-├ abort≤ commanΣ processing«á Thi≤ commanΣá i≤ ì
usefu∞á iεá stoppinτ loop≤ t∩ givσ thσ use≥ a≤ mucΦá timσá a≤á hσ ì
want≤ t∩ revie≈ thσ display.
P
"Pó toggle≤ thσ printe≥ switcΦ oε anΣ off« I⌠ allow≤ yo⌡ t∩ ì
turε oε anΣ ofµ ß recordinτ oµ you≥ consolσ output.
X
"Xó exi⌠ bacδ t∩ CP/M«á Thσ use≥ i≤ giveε thσ optioε t∩ Warφ ì
Boot¼ iε whicΦ casσ thσ CC╨ anΣ BDO╙ arσ reloaded¼ o≥ not.
Z[nn]
"Znnó cause≤ thσ prograφ t∩ sleep¼ o≥ pause¼ anΣ ma∙ bσ useΣ ì
t∩ looδ a⌠ ß dum≡ quickl∙ iε ß loopinτ commanΣ line« ┌ i≤ ▒ sec« ì
Znε i≤ nε second≤ oε aε ε MH· 8080«á Thσ processo≥ speeΣ ma∙á bσ ì
specifieΣ b∙ thσ use≥ unde≥ GENIN╙ fo≥ hi≤ particula≥ system.
^C
"^C" exits to CP/M and Warm Boots.
Examples (actual DU2 session):
DU2 B7? g0
Group = 0000:00, Track = 122, Sector = 1, Physical Sector = 1
DU2 B7? d0-#f,+,!,*
00 07535444 20202020 204D5347 00000002 *.STD MSG....*
Group = 0000:01, Track = 122, Sector = 2, Physical Sector = 2
Type Any Character to Continue or ^C to Abort -
00 0754414C 4B202020 2053554D 00000049 *.TALK SUM...I*
Group = 0000:02, Track = 122, Sector = 3, Physical Sector = 3
Type Any Character to Continue or ^C to Abort -
00 07444953 4B4F5554 20434F4E 00000000 *.DISKOUT CON....*
Group = 0000:03, Track = 122, Sector = 4, Physical Sector = 4
Type Any Character to Continue or ^C to Abort -
00 04584449 52202020 20C3CF4D 00000054 *.XDIR COM...T*
Group = 0000:04, Track = 122, Sector = 5, Physical Sector = 5
Type Any Character to Continue or ^C to Abort -
DU2 B7? g1
Group = 0001:00, Track = 122, Sector = 33, Physical Sector = 33
DU2 B7? d0-#f,+,*3
00 E5482020 20202020 2042414B 00000004 *eH BAK....*
Group = 0001:01, Track = 122, Sector = 34, Physical Sector = 34
00 E5535542 32202020 2042414B 0100007B *eSUB2 BAK...{*
Group = 0001:02, Track = 122, Sector = 35, Physical Sector = 35
00 E5434420 20202020 204D4143 00000047 *eCD MAC...G*
Group = 0001:03, Track = 122, Sector = 36, Physical Sector = 36
DU2 B7? ^C
B7>
:Examples
Multiple commands may be separated by ","
An∙á valiΣ commanΣ strinτ ma∙ bσ placeΣ a≤ aε operanΣ oµ thσ ì
origina∞ DU▓ command¼ i.e.:
A>DU2 G0,D,G2,=OK<D><A><1A>,D
Example║á thσá followinτá command≤á wil∞ erasσá thσá ┬á disδ ì
director∙ t∩ al∞ E5's:
lb log in b drive
g0 position to dir.
ch0-7f e5 fill with e5
< save the sector
>,w,+,/16 restore, write, next,
repeat 16
This could be shortened to:
lb,g0,ch0-7f e5,<
>,w,+,/16
Using Macros, the following two macros could be defined:
Macro 0 --
:0g0,ch0-7f e5,<
Macro 1 --
:1>,w,+,/16
Now¼á fo≥á thσ use≥ t∩ initializσ thσ director∙ oε Drivσá A║ ì
anΣ theε oε Drivσ B:¼ thσ followinτ command≤ coulΣ bσ issued:
la,0 <-- Log in A and Initialize first block
1 <-- Perform write
lb,0 <-- Log in B and Initialize first block
1 <-- Perform write
n,0 <-- Declare New Disk and Initialize first
block
1 <-- Perform write
:Interpretation of Directory Data Presented by DU2
Thσ followinτ explain≤ thσ forma⌠ oµ ß CP/═ director∙á entr∙ ì
a≤á showε b∙ DU2¼á usinτ eithe≥ thσ ╞ (FinΣ File⌐á command¼á o≥ ì
jus⌠á doinτ ─ (Dump⌐ oµ thσ director∙ sectors¼á whicΦ arσ locateΣ ì
iεá group≤ ░ anΣ ▒ oε ß singlσ densit∙ disk«á Samplσá resul⌠á oµ ì
"FSID.COMó command:
First 40 00534944 20202020 20434F4D 0000003A *.SID COM...:*
line || ||| | || || | |
|| ||^----hex file name-----^ || || ^file name^
|| || || || in ASCII
|| || extent-^^ ||
|| || ||
|| || file size in sectors-^^
|| ||
|| ^^-00 = file active
|| E5 = file erased
^^-displacement of line in directory sector
Second 50 33343536 3738393A 00000000 00000000 *3456789:........*
line | |
^---allocation group numbers-------^