DiskSpareDevice 1.6 written and by Klaus Deppisch Files for this can be found in DF0:CLI/DISKSPARE on Vark Utils #5. What is diskspare.device: It is a completion or replacement of the trackdisk.device. It lets you format your disks with 960 kB or 984 kB !!! How could it be: I change the track-construction a little bit. In detail I leave out the (unused) sector-headers and read/write some bytes more than the trackdisk.device. The result: I'm able to read/write 12 sectors/track ! By the way, ALL the drives I tested were able to read/write more than 12 sectors (at least 12.4 sectors). -> There should be no problems. The device is able to read/write 12*160*512 = 983040 Bytes. Or (new for v1.6) 12*164*512 = 1007616 Bytes. Soon coming: HD-version (24*164*512= 2015232 Bytes (1968K)). When you mount the device you can use it like any other disk or partition. That means you can access it with your favourite dir-util, format , diskcopy or whatever you want to do with it. What do you need: - Kickstart 2.0 or higher (NO WAY to get it run < KS 2.0 !) - diskspare.device (here it is) - mountlist-entry (included) - a floppy-drive (you should have one) - an Amiga (hmm..) What to do: - read this doc-file (the WHOLE text !!!) - copy the file 'diskspare.device' into your DEVS: directory. - append the file 'Mountlist' to your Mountlist (to be found in your DEVS: directory) using (for example) Ed. - insert the lines 'mount DS0:' and 'addbuffers DS0: >NIL:' (or DS1-3) into your 'User-Startup' (can be found in S:) - OR if you're using WB 2.1/3.0 copy the File(s) DS0-DS3 in your DEVS:DosDrivers directory. - reboot your Amiga Examples: 1. You've got two drives and want to use 'DF1' as 'DS1' with 960 kB. You've copied the file 'diskspare.device' and appended 'Mountlist' to your Mountlist (do *** NOT *** simply COPY it to devs: or your personal Mountlist will be LOST !!!). To test whether it work (or not) type in 'mount DS1: ' then 'dir DS1: '. You should see a requester now 'No disk present in device DS1', cancel it. Insert a blank (or empty) disk into your drive and type: 'format drive DS1: name test noicons'. The disk should be formatted like any other disk. After format type 'info ' you should find a line like this: 'DS1: 959K 1918 2 0% 0 Read/Write test' this means that everything works fine and you're able to use this disk like any other disk. 2. If you've only one drive and want to use it as 'DS0' with 984 kB. You've copied the file 'diskspare.device' and appended 'Mountlist' to your Mountlist (do *** NOT *** simply COPY it to devs: or your personal Mountlist will be LOST !!!). First you have to modify the mountlist a little: - the line 'Flags = 1' must be changed to 'Flags = 3' - the line 'HighCyl = 79' must be changed to 'HighCyl = 81' Follow the test-procedure above. After 'info' you should see a line like this: 'DS0: 983K 1966 2 0% 0 Read/Write test'. The line 'addbuffers DSX: >NIL:' is necessary to make the device 'visible'. It's better to use this than to modify the mountlist with 'Mount = 1' cause then you'll get a 'no disk'-requester when mounting. Problems: What problems ? Ok, here some possibilities: - If you modify the icons for WB 2.1/3.0, check if they have the right unit-number (use information from the icons-menu). - Mount returns an error: 'Entry not found' -> check if you really appended the mountlist and typed the right name - dir returns an error: 'device or directory not mounted' -> did you copy the device to devs: or did you try to access an invalid drive (if you've got df0: and df1: you can't mount ds2:. It's logical, or what !!!) - format returns: 'no disk inserted' -> you must wait a few seconds after inserting a disk (trackdisk must access the disk first) - format returns: 'format failed try another disk' -> do so - format returns always the above -> it looks like you've got a drive that doesn't work -> try another drive or curse me and delete all 'diskspare-files'. NOTES: -This is NO easy using program! That means, You should know what you're doing. If you don't know how to use the Shell and how to edit a mountlist and user-startup read the manual that came with your machine! Or ask a friend to help you. -If you mount the device after 'LoadWB' there will be no Icons for unformatted disks or during format,diskcopy etc. that say 'DSX:BAD' or 'DSX:BUSY'. This isn't a bug of my device but an oddity of the Workbench. (It's the same if you mount RAD: or any other device AFTER 'LoadWB'). -If you use the device for 984K disks NOTE that it IS a HACK! Normally you CAN'T read/write Cyl. 80/81 via trackdisk.device. It's only possible due to a PATCH of a PRIVATE device.structure! I tried to make it as safe as possible and it works fine with KS2.0/KS3.0 but there's NO GUARANTEE that it will work with future releases. (Until I fix it). THIS IS THE ONLY HACK OF THIS PROGRAM !!! ALL other functions work only with documented trackdisk-cmds. That's the reason why it doesn't work with KS1.2/1.3 cause the RawRead/RawWrite-cmds don't work (reliable) till KS2.0. p.s. I use it with 984K (logical!) -It might be possible that there are drives which aren't able to read/write up to Cyl.81 (I've never seen one). Bonus: If you use diskspare.device you won't have any problems with bootblock-viruses cause they try to write single sectors via trackdisk.device. Trackdisk can't read the track so it can't write single sectors! If there should be a virus which is able to write itself to the first blocks of a diskspare-disk then this will be it's last activity cause the device can't be made resident -> you can't boot from this disk -> the virus won't be executed! Some details: 1. Safety: I've tested the device since Dec. 1992 on different Amigas (A500-A4000) and I've (nearly) copied all my disks to diskspare- format. I use the cheapest No-Name-Disks and don't have any problems (yet). All updates and enchantments made, concerned to the device-routines and not to the track-construction. The only problem could be the floppy-drive. There're so many different types (I've got 6 drives of 4 different manufacturers) that it might be possible that someone doesn't work. 2. Speed: Diskspare.device is about 5%-15% faster than the trackdisk.device (68000 5%, 68020 10%, 68030 15%) example: (A2000 with A2630/25MHz/2Meg) kB sec speed format 984 81 -> 12.1 kB/s (it's true!) 880 83 -> 10.6 kB/s 4. Mountlist: Flags = 0 -> Diskchange works only on DSX:. (X= 0-3) (you have to do a diskchange for DFX by hand e.g. 'diskchange df0'). Flags = 1 -> Diskchange works on DSX: AND DFX:. (like CrossDOS). Flags = 2/3 -> (Bit 1 set) It's now possible to read/ write up to Cyl. 81. You must ALSO change HighCyl to 81 or nothing will happen. ALL other values are reserved. These flags may be different for each drive. You may change BlockSize,BlocksPerTrack and Sectors/Block but note that a file of even 1 (ONE) Byte length needs 2 blocks (FileHeaderBlock & DataBlock). -> if you use big blocks you waste a lot of disk-space! BE CAREFUL: The entry 'Reserved' MUST BE '2' !!! It cost me a lot of time and nervs because I set it to '0' to get 1K more capacity. The only thing I got were curious error-messages! That's obvious a bug of the fastfilesystem. If you want to waste a lot of speed and capacity you may set the 'Buffers < 25' and 'DosType = 0x444f5300'. A good value for Buffers is 50 (also for DFx:). IMPORTANT: The device is FreeWare. You may use it with your own projects until this doc.file and the Mountlist.files are distributed with it. You may also use it for commercial programs if you say CLEARLY that this device is FREEWARE! You MUSTN'T modify the device itself or this doc.file or the MountList.files. Only exception is a translation of this file. If you need a modified/enchanted version please contact me. This disk-format MUSTN'T be used for NDOS-Games !!! MOST IMPORTANT: You use the above described software on your OWN RISK. Under NO CIRCUMSTANCES the author will be liable for any direct or indirect damage or data loss resulting from the use or missuse of this software. All rights are reserved by the author. Suggestions and (detailed) bug-reports are welcome. Author: Klaus Deppisch Beckenwengert 3 97246 Eibelstadt Germany Phone: 09303 1579