home *** CD-ROM | disk | FTP | other *** search
- *****************************************************************
- * *
- * 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.
-
-