home *** CD-ROM | disk | FTP | other *** search
- PDNVDISK version 1.02
- 8 January, 1992
- by: Peter Norberg, Consulting
- Compuserve ID 76260, 3355
- Phone: (314) 647-8487
-
- The PDNVDISK.SYS subsytem is a simple, prototype OS/2 2.0 VDISK driver,
- designed to have a theoretical upper limit of 33 Megabytes of
- ram disk available for allocation. It is installed and used
- IDENTICALLY to the IBM VDISK driver provided as part of OS/2 2.0,
- although it ignores the SECTOR SIZE argument defined by that driver.
-
- The module PDNVDISK.SYS is placed in some convenient subdirectory,
- and then is loaded via a DEVICE statement in the CONFIG.SYS file.
-
- NOTE: IT IS STRONGLY RECOMMENDED THAT THE LOAD OF THE PDNVDISK DRIVER
- BE THE LAST DEVICE DRIVER LOADED IN THE CONFIG.SYS FILE. Since
- it uses up a large amount of fixed memory (the amount requested,
- plus some overhead to take into account the FAT and the base
- directory), it can cause physical device drivers which actually
- need memory in the low 16Meg of RAM to fail to load.
-
-
- WARNING! THIS DRIVER IS NOT DESIGNED TO OPERATE ON ANY SYSTEM
- EXCEPT OS/2 2.0.
-
- If you need a driver for OS/2 1.1 through 1.3, or you need
- abilities not present in this driver, please contact the author.
-
- The format of the DEVICE statement is:
-
- DEVICE=<your.path>PDNVDISK.SYS NNNN SSSS DDDD
-
- where all parameters (NNNN, SSSS, DDDD) are optional, and commas may be
- used to separate parameters (but are only needed if you want a parameter
- to retain its default value). Any value outside of the legal parameter
- range maps into the corresponding limit, EXCEPT that 0 maps into the default
- value for that parameter.
-
- <your.path> is the drive and path to where PDNVDISK.SYS is stored
-
- NNNN is the number of Kbytes of RAM disk you want to have available
- after the allocation and initialization is complete.
- 16 to 32640 is legal, which maps into
-
- 16 * 1024 = 16,384 bytes to
- 32,640 * 1024 = 33,423,360 bytes
-
- The default value is 64K.
-
- SSSS is a dummy parameter, which matches IBM's Sector Size parameter.
- In PDNVDISK, the sector size is fixed at 512 bytes.
-
- DDDD specifies the desired number of directory entries which are
- to be reserved. The legal limits are 16 to 1024, and the
- actual amount available will be rounded UP to the next
- multiple of 16, minus 1 (i.e., the first entry is always
- used as the volume label entry, which is PDNVDISKnnn).
-
- WARNING! The test bed computer has only 16 Meg of RAM installed!
- This code has never been tested by the author on large
- memory machines!
-
-
- Thank you for being willing to test this code; please IMMEDIATELY post
- a message to me at my Compuserve address if you experience any problems!
-
-
- TECHNICAL DETAILS
-
- PDNVDISK is currently at ALPHA test level. It has been excercised on
- one machine (a 16 Meg 486), and found to experience no problems on
- any tested size RAM disk from 16K to 12 Meg. It has NOT been tested at each
- of the possible RAM disk sizes (I do not have time to reboot the machine
- 16000 times), nor has it been tested at the 33 Meg (or any value above 12 meg)
- levels, despite the specifications, due to the test machine not having enough
- memory for such a test.
-
- In its current form, the following Device Driver calls all report
- COMMAND errors:
-
- DD_READ_NO_WAIT
- DD_QRY_INPUT_STATUS
- DD_INPUT_FLUSH
- DD_QRY_OUTPUT_STATUS
- DD_OUTPUT_FLUSH
- DD_DEINSTALL
- DD_QRY_COUNT_DRIVES
- DD_QRY_LOGICAL_UNIT_MAP
- DD_SHUTDOWN
- DD_QRY_DRIVER_CAPS
-
- Only 2 DevIoCtl classes are supported:
-
- Categories 8 (disk IOCTL) and 90 (PDN Private)
-
- CAT 8 FUNCTION RESPONSE
-
- 0 (Lock Drive) Processed as needed
- 1 (Unlock Drive) Processed as needed
- 2 (Redermined Media) Processed as needed
- 3 (Set Logical Map) OK -- action accepted, no remaps!
- 4 (Begin Format) ACCESS DENIED
-
- 20h (Block Removable) Media is fixed
- 21h (Get Map) OK -- returns no remaps needed
-
- 43h (Set Device Par.) ACCESS DENIED
- 44h (Write Track) INVALID COMMAND
- 45h (Format Track) ACCESS DENIED
-
- 60h (Media Sense) INVALID COMMAND
-
- 63h (Get Device Par) OK -- action performed as needed
- 64h (Read Track) INVALID COMMAND
- 65h (Verify Track) OK -- all tracks assumed valid
-
- All other FUNCTION codes within catagory 8 are reported as
- INVALID COMMAND.
-
- Category 90h is used privately by the code, as internal
- diagnostic control.
-
- Any other DevIoCtl catagory reports INVALID COMMAND.
-
-
- This program "believes" IBM's documentation, which claims (on page 3-2 of the
- preliminary draft of "OS/2 Physical Device Driver Reference", document
- number 10G6266, October 30, 1991),
-
- "Note: Unlike the OS/2 Version 1.x operating systems,
- the OS/2 Version 2.00 device drivers always execute
- in protect mode".
-
- If this statement is NOT true, I would fully expect some combination of
- DOS windows to be able to crash the code (my testing has not caused such
- a crash, however).
-
- As a design goal, this code should be changed from using DevHlp_AllocPhys
- to using DevHlp_VMAlloc (since that gives you greater control over the
- memory allocated). As of this version, that implementation remains
- elusive.
-
- CHANGES FROM VERSION 1.01
-
- The DevIoctl subsystem should now be responding to everything
- which it needs to: that is to say, assuming you don't try to run NORTON
- on it to recover lost files, or that you don't try to format the drive,
- the subsystem should operate with all well-haved code using normal
- I/O requests. It will NOT operate with code which tries to lock the
- drive and perform TRACK level I/O, so DISKCOPY and direct sector
- inspection utilities are not likely to operate correctly.
-
- An ERROR in 1.01 was detected and corrected. The error caused
- a "COMMAND ERROR" to be reported if you tried to access the LAST sector
- of the VDISK.
-
- ON A PERSONAL NOTE:
-
- I would also appreciate anyone using this code to send me a message to
- tell me their thoughts about it, and to also give me ideas for "real"
- products which you need implemented for OS/2 2.0. Although my company
- specializes in OS/2 Systems design, Device Drivers, and DSP Real Time
- Data Acquisition Control and Processing, any ideas presented to
- me will not fall on deaf ears! I appreciate your feedback, and value
- any suggestions which you can give me.
-
-
- Peter Norberg
-
- President
- Peter Norberg, Consulting
-
-