home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / pc / armedit_1 / Docs / Device < prev    next >
Text File  |  1997-12-06  |  11KB  |  271 lines

  1. File        : Device
  2. Date        : 07-Dec-97
  3. Author      : © A.Thoukydides, 1995, 1996, 1997
  4. Description : Description of the ARMEDIT.SYS DOS device driver.
  5.  
  6.  
  7. INTRODUCTION
  8.  
  9. The ARMEDIT.SYS device driver allows RISC OS filesystems to be accessed like
  10. normal DOS drives. To use this driver it is necessary to load the ARMEdit
  11. module before starting the PC front-end.
  12.  
  13.  
  14. INSTALLING THE DRIVER
  15.  
  16. Add a line like the following to the CONFIG.SYS file:
  17.  
  18.     DEVICE=ARMEDIT.SYS [-limit <limit>] [-long] [-size <size>] [-write]
  19.                        <path1> [<path2> [<path3> [<path4>]]]
  20.  
  21. where
  22.  
  23.     <limit>     - The maximum size of file, specified in megabytes, to
  24.                   include in the device. The default of 10MB is used if no
  25.                   value is specified. Use a value of 0 to allow all objects
  26.                   to be included regardless of size.
  27.  
  28.     -long       - Enables Windows 95 long filenames. This option should not
  29.                   be used with earlier operating systems; the DOS filenames
  30.                   generated may include illegal characters.
  31.  
  32.     <size>      - The approximate size of the device, specified in megabytes.
  33.                   The default of 100MB is used if no value is specified. The
  34.                   smallest allowed size is 8.5MB, and the largest allowed
  35.                   size is 2047MB for Windows 95, with lower limits for other
  36.                   versions of DOS.
  37.  
  38.     -write      - Allow the PC to write to the device. This does not affect
  39.                   the original RISC OS files; changes are restricted to the
  40.                   disc image constructed in RAM. Use this option if spurious
  41.                   write errors are produced. 
  42.  
  43.     <path1> etc - The full RISC OS pathnames for the root of each emulated
  44.                   device. Currently up to four paths may be specified. This
  45.                   limit may be increased in a future version.
  46.  
  47. The RISC OS pathnames may be prefixed by one or more of the following
  48. characters:
  49.  
  50.     \           - Image files are treated as directories. This allows
  51.                   archives to be accessed via a suitable RISC OS dearchiver,
  52.                   e.g. SparkFS or ArcFS. It can also be used to provide
  53.                   read-only access to extra DOSFS partitions.
  54.  
  55.     #           - Disables canonicalisation of the pathname. This allows
  56.                   multiple discs to be used in removable drives.
  57.  
  58. If the driver is not in the root directory of the default drive then the full
  59. pathname should be inserted after the "=" sign.
  60.  
  61. It may also be necessary to change the LASTDRIVE entry in the CONFIG.SYS file
  62. to support more drives.
  63.  
  64.  
  65. DIRECTORY LOGGING
  66.  
  67. The device driver builds up a DOS image of the RISC OS filesystem being
  68. accessed. This has two side effects: Quite a lot of memory can be used, and
  69. changes made to the filesystem from RISC OS will not be seen by the PC.
  70.  
  71. To overcome both these problems the command *ARMEdit_DevicesRelog should be
  72. used to clear unrequired parts of the disc log. This command does not take
  73. immediate effect - it waits until DOS informs the device driver that the disc
  74. may be changed. Hence, there should be no files open from the PC on the
  75. emulated device, and a simple operation should be performed (such as typing
  76. "DIR"), or selecting a "Refresh" option from Windows 95.
  77.  
  78. Unexpected disc errors, or missing files, can be due one of a number of
  79. limitations being reached, such as RAM or number of FAT entries. If this
  80. happens, and repeating the operation does not complete the operation
  81. successfully, then try *ARMEdit_DeviceRelog to clear the logged data.
  82.  
  83. Note that the memory requirements increase if either more devices or a larger
  84. device size are configured. Choose the minimum device size that suits the
  85. application.
  86.  
  87. If a Risc PC is being used, then the problem of a large amount of memory
  88. being used for the logged directories can be overcome by using my virtual
  89. memory manager Virtualise, available from Clares.
  90.  
  91.  
  92. FILENAME TRANSLATION
  93.  
  94. To behave as a normal DOS device, all RISC OS filenames need to be translated
  95. into acceptable equivalents. This is performed in a number of steps.
  96.  
  97. Firstly, the three character file extension is chosen. If the original
  98. filename had a DOS extension (starting with a "/" character) then this is
  99. used. Otherwise, the RISC OS filetype is translated using the same DOS
  100. mappings as used by the PUTFILE and GETFILE commands. These mappings can be
  101. updated using *ARMEdit_DOSMap.
  102.  
  103. The individual characters of the filename are then translated, in a similar
  104. manner to DOSFS, to give a Windows 95 long filename. Additionally, hard
  105. spaces (code 160) are converted to normal spaces, and characters without a
  106. suitable equivalent are replaced by underscores ("_"). Any leading or
  107. trailing spaces are then removed.
  108.  
  109. The behaviour of the final mapping to DOS 8+3 filenames depends upon whether
  110. long filenames have been enabled. If they have, then the mapping is
  111. approximately the same as used by Windows 95. Otherwise the mapping is
  112. similar, except that more characters are mapped to underscores.
  113.  
  114. Finally, regardless of the mapping used, any duplicate DOS filenames are
  115. modified by the addition of a tilde and a digit, for example "~1", to ensure
  116. that all files have unique names.
  117.  
  118.  
  119. DRIVE LETTERS
  120.  
  121. Drive letters are assigned to all block input/output devices configured for
  122. use. Examples of block devices are disc drives, CD-ROMs, scanners, and the
  123. ARMEDIT.SYS device driver. Drive letter after the C: (boot) drive may change
  124. when this device driver is installed.
  125.  
  126. Drive letter changes can affect the access to a network, CD-ROM drives, and
  127. applications that reference existing drive letters.  When drive letters
  128. change, the following items need to be checked:
  129.  
  130.     CONFIG.SYS and AUTOEXEC.BAT files need to reflect the new drive letters
  131.     when loading device drivers.
  132.     
  133.     The PATH statement in the AUTOEXEC.BAT file may require changes to refer
  134.     to the correct drives.
  135.     
  136.     Other batch files may reference the wrong drives.
  137.     
  138.     Windows .INI files, program groups, and shortcuts should be updated with
  139.     the new drive letter assignments.
  140.     
  141.     Rerun INSTALL or SETUP for application programs that do not allow the
  142.     drive letter to be changed.
  143.     
  144.     Update any network login scripts as necessary.
  145.     
  146.     Remount any compressed drives.
  147.  
  148.  
  149. PRESERVING PREVIOUS DRIVE MAPPINGS
  150.  
  151. With PC-DOS (or versions of MS-DOS up to 5.0), the DOS ASSIGN command can be
  152. used to overcome the problem of drives changing name. As an example, if
  153. before using ARMEdit the CD-ROM drive was E: and a single ARMEdit device is
  154. added which shifts the CD-ROM to drive F: then the command
  155.  
  156.     ASSIGN E=F F=E
  157.  
  158. will make the CD-ROM drive appear as drive E: and the ARMEdit device as drive
  159. F:. Similarly, if two ARMEdit devices are added then
  160.  
  161.     ASSIGN E=G F=E G=F
  162.  
  163. will sort it out.
  164.  
  165. There does not appear to be a good solution to the problem with MS-DOS 6 or
  166. Windows 95, although the SUBST command can sometimes help.
  167.  
  168. With PC DOS 7 the DYNALOAD command can be used to load the driver after the
  169. CD-ROM drive assigments have been performed by MSCDEX. The syntax to use is:
  170.  
  171.     DYNALOAD ARMEDIT.SYS [options] <path1> [<path2> [...]]
  172.  
  173. This may be either typed at the command line or included in the AUTOEXEC.BAT
  174. file. Prefixing the line by LOADHIGH will load the driver as if it had been
  175. loaded with DEVICEHIGH in the CONFIG.SYS file.
  176.  
  177.  
  178. CD-ROM ACCESS
  179.  
  180. Many Windows 95 CD-ROMs do not work correctly under some versions of the PC
  181. card software. THE ARMEDIT.SYS device driver has frequently be used to access
  182. these CD-ROMs.
  183.  
  184. To access CD-ROMs via the device driver it is necessary to add the CD-ROM
  185. driver to the list of paths that map to devices, such as:
  186.  
  187.     DEVICE=ARMEDIT.SYS -limit 0 -long -write -size 1000 #CDFS::0.$
  188.  
  189. There are several important points to note about the specified options:
  190.  
  191.     -limit 0    Allow files of any size to be included. This is especially
  192.                 important when accessing CD-ROMs since they frequently
  193.                 contain extremely large data files.
  194.  
  195.     -size 1000  Ensure that the size of the device is sufficiently large to
  196.                 handle a complete CD-ROM (approximately 650MB), allowing for
  197.                 the overhead of directory and FAT allocations.
  198.  
  199.     #CDFS::0.$  The hash ("#") character disables canonicalisation of the
  200.                 path. This allows the CD-ROM to be swapped. However, it is
  201.                 still necessary to force a relog to recognise when the CD has
  202.                 been changed.
  203.  
  204. Note that this will not help with CD-ROMs that contain Windows 95 style long
  205. filenames; those require an updated Windows CD-ROM driver.
  206.  
  207.  
  208. OTHER POINTS TO NOTE
  209.  
  210. Low level PC disc tools may not operate as expected on emulated devices. This
  211. is due to the way in which the directory structure of the device is
  212. dynamically constructed as it is accessed.
  213.  
  214. If heavy use has been made of emulated devices then some operations, such as
  215. quitting the PC software, can take a surprisingly long time to complete. This
  216. is normal, and is due to the operation of RISC OS memory management.
  217.  
  218. When used with Windows 95, the error:
  219.  
  220.     Windows was unable to identify the specified real mode driver which was
  221.     loaded in your Config.sys file.
  222.  
  223.     If you no longer need this driver, remove it from your Config.sys file,
  224.     Otherwise contact the manufacturer of this driver to see if a Windows
  225.     (protected-mode) driver is available.  Windows will not perform optimally
  226.     until you have done one of these things.
  227.  
  228. will be displayed. This is a consequence of the driver being written for DOS.
  229. Ignore this error - the driver will operate correctly, will only a marginal
  230. effect on the performance of Windows.
  231.  
  232.  
  233. THINGS TO DO
  234.  
  235. The following are changes that may be made to the ARMEdit device driver
  236. sometime in the future.
  237.     
  238.     Extend the device driver's command line from the PC card software's
  239.     Config file.
  240.     
  241.     Generate more descriptive disc names for the devices.
  242.  
  243.     Support write operations.
  244.     
  245.     Perform an automatic relog if a relevant UpCall is received after a
  246.     period of inactivity.
  247.  
  248. Please note that there are currently no plans to write a 32 bit Windows
  249. version of this driver. However, if someone is willing to provide the
  250. necessary development tools and information it may be considered.
  251.  
  252.  
  253. VERSION HISTORY
  254.  
  255. 0.00 (07-May-96)    Original development version.
  256.  
  257. 0.01 (27-May-96)    Support for Acorn's software PC emulator included.
  258.  
  259. 0.02 (13-Jun-96)    PC emulator support code corrected.
  260.  
  261. 1.02 (06-Aug-96)    First official release version.
  262.  
  263. 1.03 (21-Feb-97)    Maximum object size to include may be specified.
  264.                     ARMEdit_DevicesRelog now accepts a "-now" switch.
  265.                     Added option to disable canonicalisation of path names.
  266.  
  267. 1.04 (07-Dec-97)    Device marked as removable to allow relog with Windows 95.
  268.                     Added support for Windows 95 long filenames.
  269.                     More than 32MB files handled correctly.
  270.                     The size of the device can be configured.
  271.                     Sizes now specified in megabytes instead of bytes.