home *** CD-ROM | disk | FTP | other *** search
- $VER: vdisk.doc 2.4 (11.11.1994) (C) 1994 by Etienne Vogt
-
-
- INTRODUCTION
-
- vdisk.device is a driver for a recoverable RAM disk. It started 2 years ago as
- a hack of ASDG-RAM (written by Perry S. Kivolowitz). These hacked versions
- (1.3 -> 1.12) were not distributed.
- As of version 2.0, it has been entirely rewritten, with many new features added :
-
- - Up to 16 units with virtually unlimited size (512 MB)
- - Dynamic memory allocation and (optionnaly) deallocation
- - Full support of all AmigaDOS Filesystems.
- - Will survive the heaviest system crashes as long as its own data is not
- corrupted.
- - In case of a recovery failure, the cause can be reported by a support command.
-
- VDisk requires AmigaDOS 2.04 or higher (V37). It has been heavily tested on
- the following configurations :
-
- - A500 68000 ECS , 1 Mb Chip 2 Mb Fast , WB 2.04 -> 3.1
- 20 Mb IDE-XT + 170 Mb SCSI HDs
- - A3000 68030 ECS, 2 Mb Chip 8 Mb Fast , WB 2.04 -> 3.1
- 100 Mb + 1 Gb SCSI HDs
- - A500 68040 ECS , 1 Mb Chip 2 Mb Fast16 8 Mb Fast32 , WB 2.04
- 50 Mb SCSI HD
- - A4000 68040 AGA, 2 Mb Chip 8 Mb Fast , WB 3.0
- 100 Mb IDE HD
-
- VDisk has been developed independently from StatRam (Another ASDG-RAM based
- ram drive written by Richard Waspe and Nicola Salmoria)
-
-
- DISTRIBUTION
-
- vdisk.device is Freely Distributable Copyrighted Software (FreeWare).
- Some restrictions from the original ASDG-RAM package remains :
-
- This package :
-
- - Must be copied only in the form of the original lha archive, as uploaded
- to aminet by the author.
- - May not be distributed by any commercial software or hardware vendor.
- - May not be sold under any guise.
- - Must contain the following copyright information.
-
- vdisk.device, Copyright 1994 by Etienne Vogt.
- Inspired from asdg.vdisk.device, Copyright 1987 by Perry S. Kivolowitz
- (ASDG Incorporated)
-
- Specifically :
-
- No maker or seller of Amiga expansion hardware or software may distribute
- this software in any way. No reseller of public domain software may
- distribute this software either (as this in NOT in the public domain).
- The only acceptable means of distribution is by networks, bbs's and by
- non-profit user groups. Distribution MUST BE FREE (except for media
- costs plus a token amount covering only shipping and handling).
-
- Fred Fish is explicitely allowed to include this package in his AmigaLibDisk
- collection (either on floppy disk or on CD-ROM), as is the aminet group for
- their Aminet CD-ROM.
-
-
- DISCLAIMER
-
- This software is provided "as is" without any warranty, either expressed or
- implied. By using this software, you accept the entire risk as to its quality
- and performance.
-
-
- INSTALLATION
-
- - Copy the file 'vdisk.device' to your DEVS: directory .
- NEVER CHANGE THE NAME OF THIS FILE !!!
-
- - Copy the support commands CleanRamDisk, DeleteRamDisk, VDStat to your
- C: directory or whatever you like. You may also copy the .info files.
-
- - If you have OS 2.1 or higher, copy the file VD0 to your DEVS:DOSDrivers
- directory. You may change the name of this file to whatever you want.
- You may edit this file to change some parameters of the recoverable RAM
- disk, such as its maximum size. (see below)
-
- - If you have OS 2.0 , join the file VD0.mountlist to your DEVS:MountList
- file. You may change the name of the mountlist entry to whatever you want.
- You may also edit the mountlist record to change some parameters of the
- recoverable RAM disk (see below). Make sure you do not have another
- entry with the same name in your mountlist (especially if you use the
- old asdg-ram).
- Add a 'Mount VD0:' command to your S:User-Startup. If you have 1 Mb or
- less memory, it may be wise to put this command at the beginning of your
- Startup-Sequence to minimize the risk of recovery failures.
-
- - If you still have OS 1.x, well... It's time to upgrade !
-
- - After that, reboot your Amiga. If all is OK, you should see an icon named
- VD-RAM-00 on your Workbench.
-
- NOTE : If you are upgrading from an earlier version of vdisk.device, you
- *MUST* issue a 'DeleteRamDisk' command on all active units before
- rebooting the system, or unexpected things may happen.
- See the support commands below.
-
-
- CHANGING MOUNTFILE PARAMETERS
-
- WARNING : Changing any other MountFile parameter than those listed below will
- cause the vdisk.device to cease to function and to wake up the
- GURU with recoverable alert number $50000005 !
- After changing ANY parameter of an already active unit, you MUST
- issue a 'DeleteRamDisk' command on it before rebooting the system,
- or unexpected things may happen.
-
- - DOS device name : Unlike the original asdg.vdisk.device, you can give any
- name you want to the recoverable RAM disk. Just change the name of the
- mountfile (OS 2.1+) or the mountlist entry (OS 2.0). It is recommended
- that the last character be a digit equal to the unit number.
-
- - Unit : This is the device unit number. You can have several recoverable
- RAM disks by having different mountfiles with different values for this
- keyword. Valid numbers are 0 to 15, giving a possible total of 16 units.
-
- - Flags : Different options may be selected here. At this time, you have
- only one option.
- A Flags value of 1 will enable autocleaning on the corresponding unit.
- This means that the memory used by the ram disk will automatically decrease
- when you delete files in it. This also implies that you cannot use tools
- like DiskSalv to recover the deleted files.
- A Flags value of 0 disables autocleaning. You must then use the CleanRamDisk
- support command to free memory after deleting files. Cleaning may still
- happen if the system runs low on memory.
- It is recommended that you keep AutoCleaning enabled.
-
- - HighCyl : This is used to specify the maximum size the recoverable RAM disk
- is allowed to use. When this size is reached, you will get a 'Volume is full'
- requester. Note that unlike RAD, vdisk.device does only allocate memory when
- you write files into it.
- Do not set this too high ! If you run out of memory before reaching the
- maximum size of the RAM disk, you will get a 'write error' requester and
- the files in the RAM disk might become corrupt !!!
- The recommended maximum size is one fourth of your total FAST RAM.
- The HighCyl parameter must be set to an ODD VALUE. HighCyl + 1 is the total
- number of 'virtual tracks' usable by the RAM disk. One virtual track has
- a size of 8 Kb (16 sectors of 512 bytes).
- The default HighCyl value of 63 thus corresponds to a maximum size of
- 512 Kb. For a 2 Mb RAM disk, you will set HighCyl to 255. The maximum
- allowed value is 65533. This corresponds to 512 Mb. Remember this value
- *MUST* be odd !
-
- - Buffers : This is the number of buffers used by the File System to speed up
- disk accesses. With a RAM disk, it may actually slow it down, so you'd
- better not change this.
-
- - BufMemType : Strictly speaking, this is the type of memory used by the
- File System for its internal buffers. For vdisk.device, is also affects
- the type of memory allocated to store data you write into it.
- Useful values are 1 (any memory), 3 (only CHIP memory, not recommended !)
- and 5 (only FAST memory, the default).
- If you have both 16 bit and 32 bit FAST memory, and you want to use only
- the 16 bit memory for the RAM disk, set BufMemType to 517.
-
- - DosType : The type of File System used. Possible values are :
- 0x444f5300 : Old File System. Slow and not really needed since vdisk.device
- has its own checksums.
- 0x444f5301 : Fast File System. The default.
- 0x444f5302 : International Old File System. OS 2.1 + only.
- 0x444f5303 : International Fast File System. OS 2.1 +
- 0x444f5304 : Directory Caching Old File System. OS 3.0 +
- 0x444f5305 : Directory Caching Fast File System. OS 3.0 +
- International mode may be used if you run OS 2.1 or higher. Directory Caching
- is not a good idea since it will slow down the RAM disk.
-
- - Activate : Instructs the mount command to start the device immediately when
- set to 1. If you set it to 0, you must add some command in your Startup
- that accesses VD0 to start it really.
-
-
- SUPPORT COMMANDS
-
- CleanRamDisk :
-
- This command is used to force a vdisk unit to free deleted file space. It
- is generally not needed with autocleaning units.
- This command may be used from Workbench (but you can't use the switches).
- Select the virtual disk icon, then double-click on the CleanRamDisk icon.
-
- Usage : CleanRamDisk DEVICE,UNIT/K/N,NOFREECHIP/S,REBUILD/S,FREEBOOT/S
-
- DEVICE : This is the AmigaDOS device name (ex. VD0: )
- UNIT : Alternatively to the AmigaDOS name, you may specify the unit number
- (ex. UNIT 0)
- NOFREECHIP : When BufMemType is set to 1, CleanRamDisk normally attempts to
- free some CHIP memory by relocating virtual tracks located in
- CHIP RAM to FAST RAM. This switch inhibits this behaviour.
- REBUILD : When a vdisk unit has read errors on it (generally caused by some
- bad software that writes over someone else's memory), it will be
- lost at the next reboot (which in this case may come soon).
- This switch forces a rebuild of all internal checksums so that
- the unit will be kept alive after reset. Some data will still be
- bad, but you should be able to save most of it.
- FREEBOOT : If something has been written in the RAM disk's boot blocks
- (unused at this time), virtual track 0 will be locked in memory.
- This switch will mark the boot blocks as free, thus enabling the
- Cleaning routine to flush track 0 out.
-
- DeleteRamDisk :
-
- This command deletes a virtual disk unit entirely (as RemRAD for RAD). All
- memory used is freed and the File System is inhibited. (VD0:BUSY)
- This command may be used from Workbench. Select the virtual disk icon, then
- double-click on the DeleteRamDisk icon. A requester will ask you for confir-
- mation.
- You *MUST* use this command when you change the mountfile parameters of
- an active unit. You must also delete all active units when you upgrade to
- a newer version of vdisk.device.
-
- Usage : DeleteRamDisk DEVICE,UNIT/K/N
-
- DEVICE : This is the AmigaDOS device name (ex. VD0: )
- UNIT : Alternatively to the AmigaDOS name, you may specify the unit number
- (ex. UNIT 0)
-
- VDStat:
-
- This command is used to get information about a virtual disk unit that
- failed to recover its data after reboot. It is mainly intended for beta
- testers, so it cannot be used from Workbench.
- Recovery error 2 (Root Structure not found) will always show at power-up.
-
- Usage : VDStat DEVICE,UNIT/K/N,FULL/S
-
- DEVICE : This is the AmigaDOS device name (ex. VD0: )
- UNIT : Alternatively to the AmigaDOS name, you may specify the unit number
- (ex. UNIT 0)
- FULL : This switch causes more information to be displayed. It is mainly
- used for debugging purposes.
-
- Recovery error codes :
-
- 1 (Deleted Unit) : This will show after reboot when a unit is deleted by
- the DeleteRamDisk command.
- 2 (Root structure not found) : This will always show up at power-up. It may
- also happen if something else (like RAD) allocates memory in reverse order
- before vdisk.device starts. To avoid this, always mount a vdisk unit before
- any ramdrive units. Last possibility is a bad program trashing memory.
- This error indicates that all units were lost.
- 3 (Bad Root Structure Checksum) : The Root Structure has been corrupted.
- Bad program around ! All units were lost.
- 4 (Bad Sector CheckSum) : Either a bad program has trashed your data, or
- you have a memory failure.
- 5 (Track not found) : Bad virtual track. This may happen if the unit maximum
- size is set too big, your memory is heavily fragmented or a bad program
- trashed some memory.
- 6 (Reallocation Failure) : Everything seems OK, but memory couldn't be
- reallocated with AllocAbs(). This is a bad one that will also wake up
- the guru with recoverable alert number $50010003. If you have access
- to E-Mail, please send a bug report to me (address below).
- 7 (Unit Structure not found) : Unit structure get trashed. Bad program !
- 8 (Bad Unit Structure Checksum) : Corrupted unit structure. Bad Program !
- 9 (Unknown Error) : How did you get this one ?
-
-
- CONTACTING THE AUTHOR
-
- I can be reached by E-Mail at the following address : vogt@mesiob.obspm.fr
-
- Bug reports must include the complete hardware and software configuration,
- including any third party software that was running in the background.
-
-
- Etienne Vogt, 11/11/1994
-