The emulator supports 4 VDisk drives. These are drives 0, 1, 2 and 3. FLEX sees these disks in the normal manner.
The drives cannot be directly accessed by utilities that directly "hit" the (non-existent) floppy disk or hard disk controller hardware; they can only be accessed via the normal FLEX FMS routines.
It is worth noting that I have never yet encountered a FLEX application that hit the disk hardware directly, other than disk formatting utilities. This is of no consequence to users of the emulator because these disk utilities are not appropriate for use with it, commands such as NEWDISK and FORMAT having been replaced by my Win95 shell command "MAD" (fully described elsewhere in this document).
The drives use virtual disks, which I refer to as VDisks. These are actually files that reside under the Host's filesystem. VDisks are unique items that can be virtually inserted and removed from the emulator's drives most any time (except you really don't want to do that when they're being accessed... just like a real FLEX system). Since there are four drives, you can access up to four VDisks at one time. Disk sizes may vary arbitrarily from drive to drive. A table is provided below that details what sizes are usable.
Because the emulation can use multiple VDisks, you need a means inside FLEX to "change" which ones are "inserted" in the emulator's virtual disk drives. This is provided via the File/Open/0,1,2,3 and File/Close/0,1,2,3 menu selections, and a new built-in command within FLEX itself — "LOGIN" (detailed below). You may use either mechanism as you prefer.
The Open operation allows you to traverse the Win95 file system to locate a VDisk to open. The Open dialog will remember the filesystem location you last opened a VDisk from; however, if you cancel the Open operation, the path will remain the same as the last time you opened the dialog (because Win95 does not return the dialog's path to the calling program in that situation, unfortunately). Using the Open dialog does not change the current directory of the emulator, so using a relative filesystem name to the emulator's startup directory will work at all times, no matter what you have done with the Open dialog.
The Open dialog provides a custom match list option; you can set it to either see only .dsk files, which is the extension I have chosen for the VDisks, or you can set it to show all types of files. I very strongly recommend the use of the .dsk extension to make use of the Open dialog less cumbersome, and to promote ease of use. The emulator will remember your choice for the match list during a session, and saves this setting when you exit.
At any time, you may select the Help/Status menu item to see what drives are loaded (that is, the names in the Host filesystem). Additionally, if the drive has been changed and not saved, this will be indicated.
You should be aware that the mechanism for changing disks works just like a real disk system... that is, it is possible for you to remove the disk in the middle of a disk operation, and if you do, and the disk was being written to, the contents of the disk may be come unusable. Also, the program that was attempting to read or write data to that disk may also become unstable (it very likely will, in fact). What a great emulation, eh? So true to life...
When a new disk is "placed in" a drive, any disk that was previously in that drive, if any, is removed automatically and if changes were made to it, they are saved. One consequence of this is that you'll probably rarely, if ever, use the LOGOUT or File/Close operations, since loading a new disk handles that cleanly. The disk LED for that specific drive will turn green when a disk is successfully loaded.
When a disk is closed or logged out, the LED for that specific disk will go dark.
Two new built in commands within this version of FLEX handle the virtual disk mechanism from the FLEX command line: LOGIN and LOGOUT. To put a disk in a virtual drive, you use LOGIN. To remove a disk from a virtual drive you use LOGOUT.
The syntax for these commands is as follows:
LOGIN <HostDiskFileName> <FLEXDriveNumber> LOGOUT <FLEXDriveNumber>
To save current changes to the VDisks without exiting the emulator, execute the FLUSH command or the File/Flush menu selection.
Please consider supporting my Reflex efforts via a small PayPal donation. |