Disk Storage Deluxe 1.10 By: Khalid Aldoseri. ----------------------------------------------- INTRODUCTION: ------------- This is a small program that will run from either the WB or CLI. It will open its own window and display a list of ALL currently mounted devices, including hard disk partitions. The window displays the following info: - Name: This is the AmigaDOS name for the device. E.G. DF0: DH0: VD0: etc. - Usage: Shows a percentage of how full the device is. - Free: Shows the amount of free storage left in a device. (in KiloBytes) - Size: Shows the total amount of storage a device has. (also in K) - Volume: This is the device volume. E.G. Workbench: Boot: etc. - Alarm: This is the alarm level for the relevant device. (in K) This will be explained later. - Chip: The amount of free Chip memory in the system. - Fast: The amount of free Fast memory. - Total: The total amount of free memory. - Chunks: The number of free memory chunks available. This gives you an idea of how fragmented the computer's free memory list is. - RAM Disk Size: This is the size of the RAM: disk device in kilobytes. STORAGE ALARM: -------------- Disk Storage Deluxe's (DSD) main function is to keep track of how much free storage is remaining in every device. If the free storage in any device is less than 5% of its total size, that device will be highlighed. Also, if the storage drops below 5% while DSD is running, DSD will inform you of the fact by a 'Storage Alarm.' This can be any of the following types: 1. Flash: This will flash all the screens in the system five times, while also flashing the relevant item in its window. 2. Requester: This will put up a 'requester' informing you of the alarm. Click into the requester to continue. The requester will pop up on ANY screen. 3. Beep: This will beep three times. 4. Speech: The program will speak to you informing you of the alarm. (If the translator.library is not in the LIBS: directory, this option will not work.) 5. No Alarm: DSD will just ignore the alarm. ALARM LEVEL: ----------- The Alarm level normally is 5% of the total capacity of the device with a minimum alarm level of 50k. You can change the Alarm level by clicking on the device row you want to change. A gadget will appear at the bottom of the window. Enter the new Alarm level and hit return. If you want to turn the alarm off for a specific device, enter a 0 as the alarm level. Or, if you enter a negative value, a percent of storage space will be used, e.g. if you enter a -25, the alarm level will be 25% of its total storage space. UPDATE RATE: ------------ DSD updates it display once every 3 seconds. This can be changed to anything between 1 second and 15 minutes. To do this, click on the 'update speed' gadget (it's a tiny block normally in the upper right hand corner of the window, next to the title line.) To change the update rate, click on this gadget and hold it down, the window's title will display the current update rate, move the mouse up or down to change the update rate. Let go of the mouse button when you find a rate you like. If you need an immediate update of the display, activate DSD's window and then click on the mouse menu (right) button. DSD will also update the display every time a disk is inserted or removed from the drive. DSD'S WINDOW: ------------- The window is mostly fairly clear except for the following: - If a floppy disk has the write-protect tab on, an asterisk (*) will appear next to the 'Free' number corresponding to that disk. - Also, if AmigaDOS is currently validating a disk, a 'V' will appear next to the 'Free' number corresponding to that disk. If this happens, the info for that disk might not be correct. Be careful. Anyway, you should not write to a disk as long as it is validating. - DSD's window will be as tall as it needs to be to display all the mounted devices. The limit for that is 20 devices. - The RAM Disk Size display applies to the normal RAM Disk and not VD0: or RAD: as those would appear with the normal disk list. If the RAM Disk has not been accessed yet, DSD will start it up and display 'RAM Disk Empty'. If DSD can't start up the RAM Disk for any reason, it will display 'RAM Disk Not Initialized.' DEVICE SELECTION AND REMOVAL: ----------------------------- You can remove devices from the display if you do not need them. This is accomplished by 'selecting' a device from the list. (To select a device click on its line TWICE.) Then select 'Remove Selected' from the menu. (More on this later.) When a device is removed, it will no longer be checked for its alarm level. There are many 'Remove' options. These will be discussed in the Menus section. MENUS: ------ DSD has the following menus attached to it: - Options Menu: ------------- - Reset All: Resets the device list. - Clear Selections: Clears all 'selected' disks. - Memory Display: Turns the memory display box on/off. - Time Display: DSD displays the time and date on its window title. This menu item will turn this off or on. - RAM Disk Display: Turns the RAM Disk size box on/off. - Go To Sleep: Selecting this item will put the program to sleep. It wil close its window and open up a tiny window instead. The program will be frozen during that time. To return to normal just click into the tiny window and the original window will be back. - Pop up to front: When this option is selected, DSD's window will always 'pop up' on whatever screen is on front. (Note: If the front screen is not big enough to display DSD's window, DSD will come up on the screen behind it and will automatically turn Popup off.) - Quit: Guess what this does! :-) - Remove Menu: ------------ This menu has all the different 'Remove' options. They are: - Selected: This will remove just the 'selected' disks. You can have more than one selected disk at the same time. - Unselected: This will remove all the disks except the selected ones. Useful when you only want to see one or two devices. - Floppies: Removes all devices beginning with 'DF'. - Not Floppies: Removes all devices not beginning with 'DF'. - < Alarm Level: Removes all devices that are below the Alarm Level. - > Alarm Level: Removes all devices that are above the Alarm Level. - Empty Drives: Removes all drives that have no disk in them. - Everything: Removes ALL the devices from the list. - Alarm Menu: ----------- This menu allows you to select the Alarm Type. - Save Menu: ---------- - Save Config: When selecting this, DSD will save the following settings to a file called 'S:DSD-Config': - Memory Display (on/off) - RAM Display (on/off) - Time Display (on/off) - Used/Size Display - Memory Chunk/Total Display - Alarm Type - Volume Name Display (on/off) - Shrink (on/off) - Popup (on/off) - Update Speed - DSD's Window position. (X & Y coords) - Sleep Window position. (X & Y coords) When DSD is first loaded, it will look for this file and change its settings to what was saved. - Save Devices: When selecting the 'Save Devices' option, DSD will save the current device list and the alarm level selected for each device into a file called 'S:DSD-Devices'. Everytime DSD is run, it will read this file and will set the device list and alarm levels to what they were when the list was saved. - Screens Menu: ------------- This menu has a list of the currently available 'screens' in the system, with the screen on which DSD's window is currently living marked with a checkmark. (Max screens listed are 10.) To move DSD's window to any other screen, just select its name from the menu. The menu will also tell you what kind of screen you are moving to. (Either Normal, Workbench, or Simple Screen.) Be careful when moving to a Simple (i.e. SIMPLE_REFRESH) screen. Some Simple screens may lose the contents under DSD's window. (e.g. Paint Programs) GADGETS: -------- DSD has many hidden gadgets that control the display options. The file 'DSD.PIC' shows exactly where each gadget is. (Use any IFF display program to see it.) To select a gadget, just click on where it should be. - Size/Used Gadget: (Position: First Line, Second Column) This will toggle the display between % used and actual device size in k. - Volume/Free+Alarm Gadget: (Position: First Line, 3rd & 4th Columns) This will toggle the display between either Free and Alarm levels or the device's Volume name. - Memory Total/Chunks Gadget: (Position: Memory Box, last column) - Color Select Gadget: (Position: Memory Box, 1st & 2nd Columns) This will rotate the colors of DSD's window. - Shrink/Expand Window: (Close Gadget) This will shrink DSD's window to just the title bar. This will NOT affect any other operation of the program. I.E. alarms will still work, unlike the 'Sleep' mode. If you want to quit the program, select the 'Quit' menu item as the close gadget will only shrink/expand the window. COMMENTS: --------- - The time/date display will only be updated as often as the update time you selected. - Be careful when selecting an update rate of 1 second. This can take too much time from the processor. 2 seconds is okay, but I find the optimal to be between 10 and 15 seconds if you are not using drives a lot, and between 3 and 5 if you are. - DSD's window will always come up as inactive. It will also turn itself into inactive after a fixed period. (around 10 to 60 seconds, depending on the update rate.) - DSD knows about WBLace V3.00 or higher (by the same author), and will close its own window for about 2 seconds when WBLace requests this from it. This is in order to allow WBLace to change the Workbench Interlace setting on or off. If you don't have WBLace, you can find it in the AmigaForum on Compuserve in DL13 as WBLCE3.ARC. - DSD takes little processor time. For example, with three disks displayed, DSD will only consume about 1% of processing time (at an update rate of 5 seconds.) Its memory usage is around 20k. But be careful if you have more than 10 disks on the list. It can get very busy. KNOWN BUGS: ----------- - If any program takes complete control of a drive, (e.g. DiskCopy, Format, DiskDoctor, DiskSalv) DSD will not be able to check that drive, and it will display '- No Disk Present -' I can't currently find a way around this. (Maybe I shouldn't mess with the drive when it's busy anyway.) - If any program closes its screen while DSD is living on that screen, DSD will pop back up to the current screen, BUT you will lose 704 bytes of memory. If you want to close a program's screen while DSD is still on it, first move DSD to another screen. - DSD runs at a priority of 0. So, if there is a lot of activity in the system, the update rate will not be correct. I.E. An update rate of 3 seconds will means that DSD will update its display NOT LESS THAN every 3 seconds. It might take upto 5 or 6 seconds to update its display. - DSD currently uses Forbid() and Permit() a lot, this means that at times, the mouse pointer will freeze for a split-second while it is moving. Sorry about this, but it's better than getting a guru! PLEASE! PLEASE! If you have any ideas on what can be added to this program, easyplex me with your ideas, as I have run out of them! Many thanks to the folks on the AmigaTech forum, especially Keith Young for their help with this. Any comments, suggestions, complaints, etc. should be sent to me on Compuserve ID: 75166,2531. This program is Freely Distributable, you can spread it as much as you like as long as you keep the files with it, and don't modify any of them. Please upload it to other networks, BBS's etc. I hope you find this program as useful as I do. By: Khalid Aldoseri. CIS: 75166,2531. _ | / | | |/ |_| |\ | | | \ o | | o If you have used DSD Version 1.00 before then the following are the major changes between 1.00 and 1.10: - DSD has been improved to run around 5 times faster. It is difficult to notice this difference, but it is there. :-) So, I changed DSD's priority level to 0. (It was -2 in version 1.00) - Added two major new items: Save Config and Save Devices. These allow you to customize DSD as much as you like and then save these. Every single setting in DSD (including window positions, etc.) are saved and are automatically restored everytime you run DSD. - Several menu items have been removed and hidden gadgets have been implemented instead. These are much easier to use than menus. - Sometimes the display would get confused when rapidly changing menu items back and forth. This has finally gotten fixed. - Added Color customization. - You can now turn the alarm off for a specific device or enter a percentage of total disk size. Read 'Alarm Level' in doc file. - Now when you select 'Reset All' any new devices that were mounted after DSD was first run will be added to the device list. - The program's code is internally much cleaner. There was a bug in version 1.00 that would cause a guru from time to time. This has been fixed. - The program's code size and memory usage has been lowered. That's all. I feel that DSD is now much more usable because of the 'Save' options. Next up for version 1.20 will be an ARexx port which will give info about any device. (Don't hold your breath, though. :-) I repeat my request: If you have any ideas about stuff to add, tell me! Khalid. These are the changes from DSD version 1.10 to 1.20: - Fixed bug that would occasionally cause DSD to display a blank window and refuse to update its display. - Fixed bug that would trash low memory when moving DSD's window between screens. - Added RAM: Disk Alarm. To set this, just click once on the RAM: Disk box, and then enter the alarm setting in k. You will get an alarm when the size of the RAM: disk becomes LARGER than the alarm level. The type of alarm is the same as the alarm type you selected. - Added Fast Memory and Chip Memory Alarms: To set the Chip memory alarm click on the RAM: Disk gadget TWICE, then enter the alarm level. (notice that the size is kilobytes, i.e. entering 10 will give you an alarm level of 10240.) To set the Fast memory alarm click on the RAM: Disk gadget 3 times, and do the same as for Chip. The alarm for those is just a screen flash (3 flashes for Fast and 7 for Chip.) This is because when you get a memory alarm, memory could be too low to open a requester or do a beep. If free Chip or Fast memory is less than its respective alarm level, the text in the Memory box will change from "--CHIP--" to "|-CHIP-|" and the same for Fast. - Enter 0 for the previous alarms to turn them off. - These 3 new alarm settings are saved with the 'Save Config' menu item and not the 'Save Devices' item because I felt that they are part of the program's configuration and not separate devices. :-) - Note: The RAM: Disk alarm will not be active if the RAM: Disk display is turned off. Likewise, the Fast and Chip Memory alarms will not be active if the Memory Display is turned off. Shrink, however, will not affect their operation. - DSD will now automatically shrink its window if chip memory dips below 20k. It will also quit completely if total free memory goes below 10k. This will free around 22k, which is DSD's total memory requirements. - Improved the method that DSD deals with different screen sizes. It will now check if its window will not fit in a screen and automatically turn on 'shrink' mode. Thanks to Henry Colonna for reporting the bug and to Brian Bartlett for spreading the program around. Khalid. 13 February 1989.