DiskX V2.0 ----------- by Steve Tibbett ================ Index (sorta): Section 1: An introduction to what DiskX is all about. Section 2: The basics of DiskX © how to use it. Section 3: Features added to newer versions of DiskX (2.0, 2.1) Section 4: FastFileSystem - What it is, how it works with DiskX. A lot of this manual is in a sort of Chronological order - The newer info is at the end. If you have already used an earlier version, you should check Section 4 and on. --------------------------------------------------------------------------- 1: INTRODUCTION: ------------- Hi there. One day I was happily using DiskEd, the Commodore-supplied Disk Editor, when I realized that I wasn't really "Happily" using it. The Amiga is a mouse-based graphics-oriented system. DiskEd is designed to confuse everybody except the person who wrote it, unless you are willing to spend a good bit of time learning how to use it. This shouldn't be. Enter DiskX. (the start of the Entire X-Series!) DiskX's main purpose in life is to be a Sector-based Disk Editor (as opposed to a File based editor, such as FileZap). DiskX can also be used as a file editor, how to do this will be discussed a bit later on. (geez, this sounds like a manual, doesn't it?). I suppose I should start putting those little title things in here so people know which parts to skip over: Overview: --------- DiskX lets you view the disk in a block-by-block format. It also gives you the capability to FIND strings of text anywhere on the disk, to find the First block of any file, to view each block either as the mass of Hex numbers it really is, and the ability to view the block as what it REALLY is (i.e., File Header Block, User Directory Block, etc.). The different block types there are can be found in the AmigaDOS manual by Bantam. 2: HOW TO USE DISKX ---------------- What is a DOS DEVICE? --------------------- DiskX lets you look at anything that AmigaDOS sees as a device. If you have a Hard Disk, there should be a hddisk.device, jdisk.device, or something similar in your DEVS: directory on your workbench disk. This also goes for the VD0: recoverable ram disk, which has asdg.vdisk.device there. Note that the RAM: disk is NOT really a DOS device. The Ram Disk is managed by the RAM-HANDLER in the L directory, thus making it ineligable (or inelegable or inelegible depending on whether you teach spelling or not). Also, DiskX will not allow you to look at the PAR:, PRT:, SER:, NIL:, or anything else that isn't a device, because printers and modems don't like being asked to return a specific cylinder. 1.3 NOTE: Workbench 1.3 (Gamma 4) includes a CARD: device. In DiskX, you can use this © this is more like a DOS Device than the RAM: disk. Just get the "Find File" requester up, and enter CARD: as the drawer. Modes of Operation: ------------------- DiskX has two modes of operaiton, HEX mode and INTERPRET mode. Hex Mode: --------- Hex Mode will allow you to look at what is actually in the block, 256 bytes at a time. If you are looking at the first half of the block, the offset will be less than 100 (in Hex). The offset is displayed at the bottom right of the screen somewhere, and reflects the current position of the cursor. The cursor can be moved around either with the mouse (Point and Click), or with the Cursor Keys. Pretty simple, eh? While in hex mode, hitting the return key will allow you to enter Ascii Text starting at the current cursor position. Just move the cursor to where you want to start, hit Return, type in your text, then hit Return again. Note that the cursor keys will not work when you are entering text, but the Mouse Pointer will still allow you to move the cursor. When you are in Hex mode, there are a couple of extra Gadgets (the square, obnoxious-looking things) that pop up on the bottom of the screen. There's the 'Other Half' gadget, which will show you the other half of the block, there's the Modify gadget, which will let you edit the contents of that byte in either Hex, Decimal, or Binary, and then there's the Show Type gadget, which will flip you into: Interpret Mode: --------------- This is where the excitement lies. In Interpret mode, instead of just showing you what is in the block as Hex, it tries to make some sense out of the block the same way AmigaDOS does, showing you only the contents of the block that are relevant to that block type. For instance, if the block is a Data Block, you will see the contents of actual DATA part of the block in the middle of the screen, and at the top of the screen you will see where that block's File Header Block is located, what it's Sequence Number is, where the Next Block is, and the Size of that block. When you're in Interpret mode, a few other keys come into play, also depending on what type of block you are looking at. The left and Right cursor keys will move up/down by one block. R will move you to that disk's ROOT lock. P will bring you to that block's Parent Block (If it has one). N will bring you to the Next block, if the current block type supports it. W will tell it to Write the block back to the disk, and E won't do a darn thing. Also, if the block type supports it, you will get either a "First Block", "Next Block", or a "Parent Block" gadget on the screen. Find: ----- Find will let you search for a string of text. Just type in the string, then select either to start from Here (the current Block Number), or from Block #0. Key # vs Block #: ----------------- The terms Key and Block get used fairly often here - they both mean the exact same thing. They refer to the current Block Number, which is how far into the disk we are in 512 byte blocks. Parent Block and Header Block: ------------------------------ These two terms end up being used a good bit in the program - again, they both mean the same thing, they mean the block that this block is pointed to by. Getting Out: ------------ All good things must come to an end, and you've got three ways to end it all from here: Hit Escape, click on the Quit Gadget, or use the Quit menu option and you're out. Notes: ------ - DiskX will only work properly on devices which use a 512 byte block. I have yet to see one that uses a different sized block, so it didn't seem like a big problem. - If you want to change anything on your KickStart disk, there is a Public Domain Program out there called SumKick, which will fix the checksum on the KS disk for you after you've changed it. Otherwise, whenever you Reboot, it will want Kickstart back. Uses: ----- After reading all this, you're saying "Great, but what will I use it for?". Well, here are some uses: If you live in Canada, (like all the real people in the world, eh? Turn the heat up, Bob.), you can take any program which refers to "State" and change it to refer to "Prov." using the Find command. You can read the text in the Virus without ever allowing the Virus to load into your machine by putting a disk with the Virus on it in the external drive, and looking at Block #1 in ASCII mode. You can find hidden messages in your Kickstart disk. You can dig through your favorite game to find all kinds of strings which may be helpful. You can waste a lot of time going through programs which hide any ASCII text contained in them. Using the Write Block to File option, you could take any auto-booting disk (the kind that uses the boot sector to load the game), write it to a file, and disassemble it or whatever. ---------------------------------------------------------------------------- 3: NEW FEATURES ------------ New Features in DiskX 2.0: - It now works with ANY DOS device, include Hard Disks! - Ability to Search the disk for ascii strings without being case-sensitive. - Ability to recover a deleted file from any device. - Ability to view ALL ascii strings on the disk, in a simple manner. Using other DOS devices: ------------------------ DiskX will now read the DeviceList and find any device you are using in the system (if it is a Block-based device). If your favorite device isn't on the "Unit" menu, here's how to get it: Bring up the "Find File" requester (from the Project menu), and type in the device name into the Drawer area. That should do it - if you go for "Disk Info" (on the same menu), you will see info on it. Case Independent Search: ------------------------ When you go to Search (using the Find... gadget on the main screen), if the first character of the pattern you are searching for is an Asterisk ("*"), it will ignore the case of the string it is searching for. (If you tell it to search for *Hello, it would find Hello, hELLO, HeLlO, or any other variation). If the first character of the pattern you enter to search for is an "@" (at sign), DiskX will treat this as though you were looking for a file name - it will ignore case, and will only stop at blocks which are file headers whose filename matches this pattern. More on this later. Searching for Text Strings: --------------------------- You can now search the whole disk, starting at either block Zero or from the current position, for ANY ascii text (It will display any text string longer than 6 characters). It's a menu option. Also, if you select the "Through Links" option, you can start searching from a file header (using the "Find File Header" menu option to find the file header) to search through a particular file for text. Also, take a look through the Kickstart disk - there's lost of neat stuff on there. Recovering Files: ----------------- You've just deleted a file. The file's name is LostFile, and it is on DH0:. Here's how to get it back: 1. Select the DH0: menu option on the Project menu (in the Unit Number submenu). Same thing applies for any device. 2. Click on the Find... gadget on the bottom of the main screen. Tell it to search for "@LostFile". This will find LostFile's file header block and make it the current block. (Remember that the @ sign tells DiskX that you're looking for a file header) (You will probably have to hit the "Show Type" gadget to get it to tell you that it is a file header, as after doing a Search, DiskX defaults to Hex mode) (Not any more!). Note that doing a Find on a hard disk can take a good bit of time. 3. Select the "Recover..." menu option.. DiskX will now search through the entire disk for any block whose Parent block field points to the file header for LostFile (any block belonging to Lostfile). 4. When it's done, there will be a file requester asking you where you want the file to be written to. DO NOT WRITE THE FILE TO THE SAME DEVICE YOU ARE RECOVERING IT FROM. While the chances are you won't have any major problems doing it, things could go wrong. A safe place to write to is the RAM: disk, and it's the default drive when this requester comes up. 5. After you've entered the new name for the file here, hit OK (or hit return), and the file will be recovered. That's it. It sounds like a lot of work, but after you've done it once, it's actually pretty easy. New Features to 2.1: Bug Fixes: No longer writes back to wrong HD partition Support for Interlaced screens. -> Any other ideas? What would YOU like in a disk editor?? <- ---------------------------------------------------------------------------- Another new feature: On the special menu, there is an option to write the current block to a file. The first time you select this option, you will be asked for the filename you want to write the data into. Each time you go for this option after that, it will write the block into the same file (If you haven't closed it already). If you plan to write a number of blocks during the same session (say to write the 2 boot blocks into a file so you can disassemble it), just don't close the file after each write, wait until you have written all you want to write, and then close the file. If the block you are writing is a Data Block (part of a file), only the data part of the block (488 bytes) will be written, otherwise all 512 bytes (including the block's checksum) will be written. If you forget to close the file before quitting, DiskX closes it for you. ----------------------------------------------------------------------- If you own a device other than the ones listed on the Unit menu, to get to it, use the Find File Header command. Enter the device name you want to get to into the Drawer gadget, and nothing in the filename area. Hit OK, and you should be there. ----------------------------------------------------------------------- DiskX should now work correctly with HD partitions - If it will read from it properly, it will write to it properly. It also takes into account the area at the beginning of some drives for mapping bad sectors into - it won't redirect the bad sectors to there, but it will ignore that space. Anyways, on some drives, it gets confused as to where the root block is. If when you first select the drive, the block you see is NOT of type Root Block, you are going to have to go up or down a cylinder or two to find it. It's just a minor hassle - also, the "Disk Info" menu option will show the Disk's name wrong. ----------------------------------------------------------------------- Note that DiskX becomes a lot nicer to use (if you use it a lot) if you run one of the Text speedup programs available (BlitzFonts, FastFonts). BlitzFonts is a good candadate, since it's a PD program. Note that DiskX now has FastText built in, so you can ignore the previous paragraph 8-) ----------------------------------------------------------------------- Plea to your good nature: ------------------------- Y'know, folks, this Amiga device is great, but nobody seems to be able to make anything cheap for it. I'm just about to pay $1400 (in Canadian bucks - ouch) for a hard drive, and, well, I could use some form of $$ for this program. I was looking at Sectorama recently, (Nice program - I stole a bunch of ideas from it for here), and I think I'm going to steal something else from it: His idea of compensation for a "Freeware" program. If you like DiskX, you can either do Absolutely nothing about it and just hope I manage to stay alive and keep making these things, or you can do something about it. What you can do is either send me some cash, which I really wouldn't object to, or, send me something you've written. Anything. If you're a developer, well, I probably couldn't afford to BUY whatever it is you're developing anyways, and it wouldn't cost you much to make me happy... Steve Tibbett 2710 Saratoga Pl. #1108 Gloucester, Ontario CANADA K1T 1Z2 (You can get me on 2 BBS's: OMX at 613-731-3419, and Ottawa Online at 613-237-4701. I'm on BIX, too, as "S.Tibbett") I mean, hey, I got 3 (count 'em, THREE) letters from people who liked the original DiskX. It wasn't THAT bad, was it? ...Steve (Another note - DiskX now builds the list of devices dynamically when the program is first run. It will find ANY device that it can get at, and put it in the Unit menu.)