***************************************************************** * * * Disk Peek and Update (DPU) * * * * Version 1.2 * * * * 23 June 1992 * * * * Copyright © 1992 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. Developing environment 8. Bug reports 9. 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. 2. Distribution DPU is NOT Public Domain, but 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 and DPU.doc. 3. Be careful with writing. You cannot change any data on your disk with DPU, apart from using 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. 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 non-interlaced screen. In case this is not possible, probably because of a NTSC system instead of a PAL, an interlaced screen is 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. If DPU cannot find Rigid Disk Blocks for the currently selected device, the Zap RDB gadget will be ghosted. You must select a device first, before you can perform the other functions. The only exception is the Zap File function. 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. 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 square represents a sector, but for harddisk partitions each square represents one or more sectors, as indicated on the screen. 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 to enter the name of the file to be edited. This is a simple requester and you must supply the filename including the full path, if the file is not in the current directory. If the operating system is Release 2.04 or higher, the ASL requester will be used instead. Else, if DPU finds ARP V39 or higher, the ARP requester will be used. 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. In the upper right corner you see the purpose of each longword. In case a longword points to another sector in the filestructure, the Jump gadget becomes non-ghosted and you may jump to that sector. 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. 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 so, the gadget of this function is made non-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. 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 --> Edit hexadecimal. F2: Ascii --> Edit Ascii. F3: Not used. 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, so you cannot change 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. 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 : 1.3 / 2.04 Compiler : SAS/C Version 5.10a 8. Bug reports Bug reports, comments etc. can be sent to: Frans Zuydwijk Konijnenweide 84 2727GH Zoetermeer Nederland 9. 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. Bugfixes : 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.