home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
World of A1200
/
World_Of_A1200.iso
/
programs
/
disk
/
misc
/
dpu
/
dpu.doc
< prev
next >
Wrap
Text File
|
1995-02-27
|
25KB
|
599 lines
*****************************************************************
* *
* Disk Peek and Update (DPU) *
* *
* Version 1.5 *
* *
* 9 July 1993 *
* *
* Copyright © 1992-1993 Frans Zuydwijk *
* *
*****************************************************************
Table of contents
1. Introduction
2. Distribution
3. Be careful with writing
4. Controlling DPU
5. Functions in the main menu
5.1. Select Device
5.2. Show Device Info
5.3. Show BitMap
5.4. Check Disk
5.5. Zap File
5.6. Zap Disk
5.7. Zap FileSystem
5.8. Zap Rigid Disk Blocks
6. Edit Sector
7. Pulldown menus
7.1. Project menu
7.2. Settings menu
7.3. Zap FileSystem menu
8. Developing environment
9. Thanks
10. Bug reports
11. History
1. Introduction
DPU is a program, which enables you to get information about the
physical contents of your disks and diskfiles. Furthermore you can
change these contents.
Starting at version 1.3, DPU requires Release 2.04 or higher.
Currently DPU can handle OFS (DOS\0) and FFS (DOS\1) disks. CrossDOS
devices (MSD\0 and MSH\0) are recognized, but not all functions can be
performed on the MSDOS disks.
In Release 2.1 and 3.0 there are new filesystems introduced. Since I
do not have documentation about them yet, DPU will treat them as other
unknown filesystems.
2. Distribution
DPU is NOT Public Domain, but copyrighted freeware : it may be
distributed and used freely.
DPU may not be sold, but inclusion in a PD-library is permitted as
long as only a SMALL fee is charged to cover the costs of copying and
distribution. The Fred Fish Library is the perfect example.
Program and documentation must be distributed together.
It concerns the files DPU, DPU.info, DPU.doc and DPU.doc.info.
3. Be careful with writing.
DPU writes data to your disk in two cases :
- When you use the Write gadget in the 'Edit' environment. To be on
the safe side, you have to press a Shift key at the same time too.
- When you select 'Force validation'. DPU sets the BitMap flag in
the rootblock to invalid. The validation process of AmigaDOS will
set it to valid again after successful validation.
If you want to change anything, be sure that you know what you do,
it's easy to corrupt an executable file or a whole disk.
I do not take any responsibility for what you do with this program.
4. Controlling DPU
DPU uses a 640 x 256 screen. On a PAL system this is not a problem,
but on a NTSC system this is not always possible without interlace.
Therefore DPU asks the Display Database, if a PAL HiRes screen can be
opened. For a NTSC system this means, that there must be an Agnus chip
which can switch between NTSC and PAL, and that the user must have
indicated, that PAL screens can be displayed on his monitor, either by
supplying an AddMonitor command in the startup sequence or by copying
the file PAL from the MonitorStore drawer to the Monitors drawer.
If a PAL HiRes screen is not possible according to the Display
Database, an NTSC HiRes interlaced screen will be used.
DPU will use your default system text font, provided it is 8 pixels
high and 8 pixels wide. If this font has a companion 9 pixels high and
10 pixels wide, this will be used for gadget texts etc. Default
Topaz-8 and Topaz-9 will be used.
You control DPU by mouse and/or function keys.
The button gadgets can be operated by clicking the mouse on them.
Operation can also be done by pressing the (function) key indicated on
the gadget.
In case of writing you must press a shift key together with pressing
the function key or clicking the gadget.
Requesters are used to ask or supply information.
Instead of clicking on an OK or Continue gadget in a requester, you
may also press the Return key. Cancel gadgets can only be operated by
clicking on them.
5. Functions in the main menu
In the main menu you see the possible functions.
Choose a function by clicking on the gadget or pressing the
corresponding function key.
You must select a device first, before you can perform the other
functions. The only exception is the Zap File function.
If DPU does not recognize the DosType of the currently selected
device, you may choose to cancel or to treat the device the same as a
known one.
If DPU cannot find Rigid Disk Blocks for the currently selected
device, the Zap RDB gadget will be ghosted.
If you select one of the functions Check Disk, Zap Disk, Zap File-
System or Zap Rigid Disk Blocks, access to the current device will be
inhibited if the 'Inhibit access' menu item is checkmarked. Selection
of any other function will undo an existing access inhibition.
5.1. Select Device
This function shows you the disk devices, which DPU has found. If
there is a volume present, it's name is shown.
Select the device you want to operate upon. You cannot select a device
without a volume present.
5.2. Show Device Info
This function shows you some information about the selected device.
F1: MountList --> Create a MountList entry. All information is taken
from the devicelist in memory, except for GlobVec
(always set to -1) and Mount (always set to 1).
A filename is selected in a ASL filerequester and
the MountList entry is appended to this file. The
file is created, if it does not exist yet.
F10: Menu --> Go back to the main menu.
5.3. Show BitMap
This function reads the bitmap sectors of the selected device and
shows the usage of the disk in a graphical way.
For a floppy disk each rectangle represents a sector, but for harddisk
partitions each rectangle represents one or more sectors, as indicated
on the screen.
A white rectangular line is used as a cursor, to point at one of the
sector rectangles. You can move this cursor with the cursor keys and
the mouse. The text line just above the gadgets tells you at which
sector the cursor is pointing.
F1: Disk --> Show the bitmap for the whole disk.
F2: System --> Show the bitmap for the filesystem blocks (directory
blocks, file headers etc.).
F3: Directory --> Show the bitmap for a selected directory.
Select the directory in the ASL filerequester.
F4: File --> Show the bitmap for a selected file.
Select the file in the ASL filerequester.
F10: Menu --> Go back to the main menu, or return to Zap File-
System if you came from there.
5.4. Check Disk
This function reads all sectors of the selected device track by track.
Errors encountered are reported.
In a requester the current track is reported. You may abort this
function by clicking the Cancel gadget in this requester.
5.5. Zap File
You are requested by means of the ASL requester to supply the name of
the file to be edited. If, for some reason, the ASL requester cannot
be used, a simple requester will be used instead.
The file is read and shown sector by sector (512 bytes).
You can walk through the file using mouse or function keys.
F1: Edit --> Edit sector, see the 'Edit sector' section.
F2: Find --> Search for an ASCII or HEX string.
A requester appears, in which you must enter the
string. To indicate ASCII or HEX, click the ASC/HEX
gadget to toggle.
Searching starts at the current sector. Progress is
reported in a requester. You may click the Cancel
gadget to abort searching.
F3: Find Next --> Search for the next instance of the string.
F4: Not used.
F5: Goto --> Go to a specific sector.
You must specify the number of this sector in a
requester.
F6: Top --> Go to the first sector.
F7: Backward --> Go to the previous sector.
F8: Forward --> Go to the next sector.
F9: Bottom --> Go to the last sector.
F10: Menu --> Go back to the main menu.
5.6. Zap Disk
The first sector of the selected device is read and shown.
You can walk through the disk using mouse or function keys.
F1: Edit --> Edit sector, see the 'Edit sector' section.
F2: Find --> Search for an ASCII or HEX string.
A requester appears, in which you must enter the
string. To indicate ASCII or HEX, click the ASC/HEX
gadget to toggle.
Searching starts at the current sector. Progress is
reported in a requester. You may click the Cancel
gadget to abort searching.
F3: Find Next --> Search for the next instance of the string.
F4: Identify --> Identify current sector.
The AmigaDOS file structure is searched for the
current sector number and info about the sector is
reported, e.g. 'sector is free', or 'sector is block
xx in file yy'.
Progress is reported in a requester. You may click
the Cancel gadget to abort searching.
F5: Goto --> Go to a specific sector.
You must specify the number of this sector in a
requester. To indicate ASCII or HEX, click the
ASC/HEX gadget to toggle.
F6: Top --> Go to the first sector.
F7: Backward --> Go to the previous sector.
F8: Forward --> Go to the next sector.
F9: Bottom --> Go to the last sector.
F10: Menu --> Go back to the main menu.
5.7. Zap FileSystem
The root sector of the selected device is read and shown.
You can move through the 4-byte longwords in a sector using mouse or
cursor keys. If 'Show item info' in the Settings menu is checkmarked,
a window is opened at the right side of the screen, showing you info
about the highlighted longword and a list of items in this sector.
Selecting a list item will highlight the corresponding longword.
In case the highlighted longword points to another sector in the
filestructure, the Jump gadget becomes non-ghosted and you may jump to
that sector. Jumping is performed by pressing F5 or clicking the 'F5:
Jump' gadget or clicking the highlighted longword. In this way you can
walk through all sectors of the filestructure (root-, directory-,
fileheader-, hardlink-, softlink-, file extension- and datablocks).
You can walk through the filestructure using mouse or function keys.
The functions of the gadgets/function keys vary, depending on the type
of the current block.
F1: Edit --> Edit sector, see the 'Edit sector' section.
F2: Date --> Show the date(s) in the current block.
F3: BitMap --> Show the BitMap of the disk/partition.
Root block only.
F3: Root --> Go to the root block.
F4: Locate --> A directory or fileheader block can be located.
A requester appears and asks for the name. The
AmigaDOS file structure is then searched for a block
with this name. If found, go to the block.
F5: Jump --> Go to the block, indicated by the currently selected
longword. If the longword does not contain a valid
sector number, the gadget is ghosted.
F6: Parent --> Go to the parent block of the current block.
F6: Header --> Go to the fileheader block of the current block.
F7: HashChain --> Go to the block, indicated by the hashchain
longword.
F7: Backward --> Go to the previous data block.
F8: Data --> Go to the first data block of the file.
F8: Forward --> Go to the next data block.
F8: Link --> Go to the block, indicated by the hardlink
longword.
F9: LinkBack --> Go to the block, indicated by the hardlinkback
longword.
F9: Extens. --> Go to the block, indicated by the file extension
longword.
F9: Last Bl. --> Go to the last data block.
F10: Menu --> Go back to the main menu.
For some special functions, see 7.3. Zap FileSystem pulldown menu.
5.8. Zap Rigid Disk Blocks
With this function you can see the contents of the Rigid Disk Blocks
on your harddisk. You can change it too, but again : know what you do!
When you select a harddisk partition with Select Device, DPU checks if
the first physical cylinder of this harddisk contains RDB information.
If not, the gadget of this function will be ghosted.
DPU reads the RDSK block and shows it to you.
From here you can walk through the blocks using mouse or function
keys. The functions of the gadgets/function keys vary, depending on
the type of the current block.
You can move through the 4-byte longwords in a block using mouse or
cursor keys. The top line describes the purpose of each longword.
If 'Show item info' in the Settings menu is checkmarked, a window is
opened at the right side of the screen, showing you a list of items in
this block. Selecting a list item will highlight the corresponding
longword.
F1: Edit --> Edit sector, see the 'Edit sector' section.
F2: Go RDSK --> Go to the RDSK block.
F2: Go BADB --> Go to the first/next BADB block.
F3: Go PART --> Go to the first/next PART block.
F4: Go FSHD --> Go to the first/next FSHD block.
F5: Go LSEG --> Go to the first/next LSEG block.
F6: Top --> Go to the first RDB.
F7: Backward --> Go to the previous RDB.
F8: Forward --> Go to the next RDB.
F9: Bottom --> Go to the last RDB.
F10: Menu --> Go back to the main menu.
6. Edit Sector
When you select 'Edit' in one of the above functions, a cursor appears
and a new set of function gadgets is shown.
You may now type over the information in the current sector. The new
characters are shown in a different color.
You can move the cursor with mouse or cursor keys.
Nothing will be changed on disk, unless you select the 'SF5: Write'
gadget or press the F5 function key. In both cases you have to press a
Shift key at the same time too.
F1: Hex/Asc --> Toggle between hexadecimal and Ascii editing.
F2: Load --> Load the sector from a file.
You are asked to supply a filename and a blocknumber.
The bytes for this sector are read from the file,
starting at position 'blocknumber * 512'. The bytes
of the current sector in memory are overwritten now.
If you use the 'Write' function, the sector on disk
will be overwritten too, of course.
F3: Save --> Save the sector in a file.
You are asked to supply a filename. The bytes of the
sector are written to this file. In case the file
already exists, the bytes are appended to the file.
F4: Print --> Print sector.
SF5: Write --> Write sector. You must press a shift key too.
If the sector contains a checksum, this will be
computed before writing, if 'Compute checksums' in
the 'Settings' menu is checkmarked.
Warning : DPU computes a checksum only, if it
recognizes the sector. For instance, if you change the
identifying first or last longword of a FFS
fileheader, DPU may think it is a datablock and will
not compute a checksum.
F6: Top --> Move cursor to first byte.
F7: Not used.
F8: Not used.
F9: Bottom --> Move cursor to last byte.
F10: Return --> Leave edit environment and return to function.
If you did not select 'SF5: Write', the current sector
will be unchanged.
7. Pulldown menus
7.1. Project menu
- About... : shows the info-requester.
- Quit DPU : quits DPU. Shortcut Right Amiga key + Q.
7.2. Settings menu
- Skip requesters : if ON, the progress requesters reporting
directory/file scanning will be skipped. Advantage : much
faster. Disadvantage : you cannot cancel the action and you
see no progress on screen. Default OFF. Shortcut Right Amiga
key + R.
- Show hex offsets : show offsets in sector/block in hexadecimal
instead of decimal. Selecting this is effective when the next
sector is displayed. Default OFF. Shortcut Right Amiga key + H.
- Show item info : if ON, a window will appear at the right side
of the screen during Zap FileSystem or Zap RDB. In this window
you see a list of the items in the current sector. Selecting an
item in this list will highlight the corresponding longword in
the sector. In Zap FileSystem you see also information about
the highlighted longword in this window. Default ON. Shortcut
Right Amiga key + I.
- Inhibit access : inhibit access to current device by others.
Only applicable for the functions Check Disk, Zap Disk, Zap
FileSystem and Zap Rigid Disk Blocks. The status of the current
device is changed immediately. Default ON.
- Compute checksums : compute checksums for floppy bootblocks,
filesystem blocks and Rigid Disk Blocks. Default ON. You should
have a good reason to set this OFF.
7.3. Zap FileSystem menu
This menu will be accessible only during Zap FileSystem. It
contains options, which may be useful when trying to repair a
filesystem.
- Goto sector : go to a specific sector.
You must specify the number of this sector in a requester. To
indicate ASCII or HEX, click the ASC/HEX gadget to toggle.
If you use this, DPU may loose track of the position in the
filesystem. 'Identify sector' will tell you the position then.
- Identify sector : search the filesystem to identify the sector.
- Find references : search the filesystem to find all references
to the sector. On a Old FileSystem (OFS) disk the data blocks
are not searched, although they contain references to their
header block and next data block.
- Force validation : force AmigaDOS to validate the disk.
DPU inhibits access, reads the rootblock, rewrites it with the
BitMap flag set to invalid and releases access again. This will
start the validation process of AmigaDOS.
8. Developing environment
Computer : A2000, 1 MB Chip RAM, 2 MB Fast RAM.
Devices : - trackdisk.device (floppy disk).
- supradirect.device (Supra WordSync Series II harddisk).
- janus.device (Amiga partition of harddisk on PC side of
XT Bridgeboard).
OS : 2.04
Compiler : SAS/C 6.3
9. Thanks
I like to thank the following people for their comments, suggestions,
bug reports and testing : Albert-Jan Brouwer, Arnout Grootveld, Arthur
T. Murray, Bert Hooyer, Ekke Verheul, Marcel Offermans, Paul van der
Valk, Peter Struijk, Steve Nordquist.
10. Bug reports
Bug reports, comments etc. can be sent to:
Frans Zuydwijk
Konijnenweide 84
2727GH Zoetermeer
Nederland
FidoNet : 2:281/614
InterNet : zuydwijk@vcgn.hacktic.nl
11. History
- Version 1.0 : 9 May 1992
First release.
- Version 1.1 : 8 June 1992
New : - The ASL filerequester will be used in case of Release
2.04 or higher.
Bugfix : - The information in the BitMap Extension blocks was
misinterpreted (partitions >= 50 MB).
- Version 1.2 : 23 June 1992
New : - Requester looks are changed.
- Shift keys to indicate ASCII or HEX are replaced by a
toggle gadget in the requesters.
- Not used gadgets are ghosted.
- AmigaDOS requesters are suppressed during Select Device.
Bugfix : - If the user set a high keyboard repeat rate with
Prefs/Input, DPU could get an Address Error or hang
during moving with the cursor keys.
- Device names of more than 3 characters are no longer
chopped.
- Version 1.3 : 23 November 1992
New : - Release 2.04 or higher is required.
- Faster find in Zap File and Zap Disk.
- Pulldown menus :
- Project : About and Quit.
- Settings : Toggles for progress requesters, hex
offsets, inhibit access and compute checksums.
- Zap FileSystem : Goto sector, Identify sector, Find
references and Force validation.
- Load and save functions in Edit Sector.
- Bitmaps of system blocks, directory, file.
- In case of unknown DosType, Zap FileSystem and Show
BitMap are not allowed, and writing is not allowed in Zap
Disk.
- Some minor changes.
- Version 1.4 : 19 December 1992
New : - Default system text font used, if it's 8 x 8.
- Jumping can be done by clicking on the highlighted
longword (Zap FileSystem).
Bugfix : - DPU reported an error wrongly about too many bitmap
pointers (partitions >= 50 MB).
- Version 1.5 : 9 July 1993
New : - In case of unknown DosType, the user has the choice
whether to continue or not.
- A MountList entry can be created from devicelist info in
Show Device Info.
- On a NTSC system, a PAL screen will be opened instead of
an interlaced NTSC screen, if this is possible according
to the Display Database.
- 'Show item info' in Settings menu will bring up a window
with item information and item list (Zap FileSystem and
Zap RDB).
- In Show BitMap you can move a cursor and see at which
sector the cursor is pointing.
- If text overscan is set with Prefs, the screen will be
opened with that size and the window will be centered on
the screen.