1 @database "CDVDFS.guide"
3 @node main "CDVDFS Table Of Contents"
5 CDVDFS - a CD/DVD filesystem for Amiga family of operaing systems
6 -----------------------------------------------------------------
8 Version 1.4 16-Jun-08 (C) 2007-2008 Pavel Fedin
9 (sonic_amiga@rambler.ru)
11 Based on AmiCDROM 1.15 (C) 1993,1994 by Frank Munkert
12 (ln_fmu@pki-nbg.philips.de)
14 * IMPORTANT NOTICE FOR USERS OF AMICDROM:
16 * The format of the Mountlist has been changed.
17 * Please consult the section "USAGE" for further information.
21 @{"INTRODUCTION" link "INTRODUCTION"} - Introduction to CDVDFS
22 @{"DISCLAIMER" link "DISCLAIMER"} - Standard Disclaimer
23 @{"LEGAL" link "LEGAL"} - Copyrights and distribution
24 @{"REQUIREMENTS" link "REQUIREMENTS"} - CDVDFS Requirements
25 @{"INSTALLATION" link "INSTALLATION"} - Installing CDVDFS
26 @{"USAGE" link "USAGE"} - Using CDVDFS
27 @{"FILENAMES" link "FILENAMES"} - CDROM Filenames (ISO-9660, RockRidge and Joliet)
28 @{"SYMLINKS" link "SYMLINKS"} - Symbolic links on Rockridge disks
29 @{"DISKCHANGE" link "DISKCHANGE"} - Diskchange recognition
30 @{"MACHFS" link "MACHFS"} - Macintosh HFS format
31 @{"AUDIO" link "AUDIO"} - Audio disks (CD-DA)
32 @{"MULTISESSION" link "MULTISESSION"} - Multisession Support
33 @{"CDCONTROL" link "CDCONTROL"} - The 'CDCONTROL' Program
34 @{"CDROM" link "CDROM"} - The 'CDROM' Program
35 @{"CHECKCD" link "CHECKCD"} - The 'CHECKCD' Program
36 @{"KILLDEVICE" link "KILLDEVICE"} - The 'KILLDEVICE' Program (MorphOS only)
37 @{"TROUBLESHOOTING" link "TROUBLESHOOTING"} - Troubleshooting
38 @{"UTILITIES" link "UTILITIES"} - Other utilities of interest
39 @{"THANKS" link "THANKS"} - Thanks must go to..
40 @{"BUGS" link "BUGS"} - Bugs and not supported features
41 @{"TODO" link "TODO"} - Things still to do
42 @{"HISTORY" link "HISTORY"} - History of CDVDFS
46 @node INTRODUCTION "Introduction to CDVDFS"
48 CDVDFS is a CD/DVD disk filing system for the Amiga family of operating
49 systems (AmigaOS, MorphOS and AROS). It supports the ISO-9660 standard
50 (single and multiple sessions), the Rock Ridge Interchange Protocol, the
51 Joliet extension and the Macintosh HFS format.
53 The CDROM drive is mounted as a DOS device (e.g. CD0:). You
54 can access files and directories on a CDROM disk by the usual
55 syntax, e.g. "type cd0:foo/readme.txt".
59 @node DISCLAIMER "Standard Disclaimer"
61 This software is provided as-is, without warranty of any kind,
62 either expressed or implied. In no event will the author be liable
63 for direct, indirect, incidental or consequential damages or data
64 loss resulting from the use or application of this software. The
65 entire risk as to the results and performance of this software is
70 @node LEGAL "Copyrights and distribution"
72 CDVDFS author is Pavel Fedin (sonic_amiga@rambler.ru).
73 CDVDFS is a forked project based on AmiCDROM v1.15.
75 AmiCDROM 1.15 is (C) Copyright 1993,1994 by Frank Munkert.
77 This software may be freely distributed and redistributed for
78 non-commercial purposes, provided this notice is included.
80 There are no objections to anyone using or enhancing this code.
84 @node REQUIREMENTS "CDVDFS Requirements"
86 CDVDFS should work with:
88 1) Any "SCSI-direct" compatible SCSI bus adapter.
89 2) Any IDE adapter whose driver supports "SCSI-direct" (this means passing
90 through special commands for CD-ROM drives whose protocol is similar to
92 3) It might also work with old SCSI drivers that have no SCSI-direct feature;
95 The running handler requires about 60K of memory (with default parameter
98 If you are using a GVP controller, you probably will have to disable
99 the "disconnect/reconnect" feature; see your SCSI controller manual.
101 Users of the Pioneer drives DRM600 and DRM602 possibly have to add
102 the option SI=0 to the Control field.
104 CDVDFS and its precedessor AmiCDROM have been tested on the following
105 hardware and software configurations:
107 * Amiga 500 + GVP A500-HD+ + NEC 3Xp (CDR-400) + AmiCDROM 1.11
108 * Amiga 500 + Trumpcard + NEC CDR-25 + AmiCDROM 1.7
109 * Amiga 500 + Blizzard w Supra 500XP contr + Apple CD300 +
111 * Amiga 500 + GVP Series II + Toshiba 4101 + AmiCDROM 1.8
112 * Amiga 500 + cdtv.device + A570 + AmiCDROM 1.7
113 * Amiga 2000 + GForce030 + Apple PowerCD + AmiCDROM 1.8 and 1.9
114 * Amiga 2000 + GVP Series II V4.13 + NEC CDR-55JD + AmiCDROM 1.4
115 * Amiga 2000 + GVP Series II + Apple CD-300 + AmiCDROM 1.4
116 * Amiga 2000 + GVP Series I + Toshiba 3401 + AmiCDROM 1.8
117 * Amiga 2000 + GVP 030 & internal SCSI II host adapter + Sony CDU-561 +
119 * Amiga 2000 + Masoboshi MasterCard + Toshiba 3401 + AmiCDROM 1.6
120 * Amiga 2000 + ICD Advantage 2000 + Apple CD150 + AmiCDROM 1.4
121 * Amiga 2000 + A2091 SCSI Controller + NEC CDR-37 + AmiCDROM 1.12
122 * Amiga 2000 + A2091 SCSI controller + NEC CDR-55JD-1 + AmiCDROM 1.4
123 * Amiga 2000 + GVP Series II (v4.13) + NEC CDR-55JD-1 + AmiCDROM 1.7
124 * Amiga 2000 + GVP Series II + Apple CD300 + AmiCDROM 1.9
125 * Amiga 2000 + A2091 SCSI controller + Toshiba 3301 + AmiCDROM 1.6
126 * Amiga 2000 + A2091 SCSI controller + Sony CDU-561 + AmiCDROM 1.7
127 * Amiga 2000 + Evolution-Controller (V3.x) + Toshiba 3401 +
129 * Amiga 2500 + A2091 SCSI controller + Apple CD300 + AmiCDROM 1.4
130 * Amiga 3000 + internal SCSI device + Toshiba 3301 + AmiCDROM 1.7
131 * Amiga 3000 + internal SCSI device + Toshiba 3401 + AmiCDROM 1.9
132 * Amiga 3000 + internal SCSI device + Chinon 435 + AmiCDROM 1.4
133 * Amiga 3000 + internal SCSI device + NEC CDR 84-1 + AmiCDROM 1.4
134 * Amiga 3000 (WD-08 Chip) + internal SCSI device + Apple CD150 +
136 * Amiga 3000 + internal SCSI device + Apple CD300 + AmiCDROM 1.7
137 * Amiga 3000 (Mercury '040, WD-08 Chip) + internal SCSI device +
138 Apple CD300 + AmiCDROM 1.7
139 * Amiga 3000 + internal SCSI device + Texel DM5028 + AmiCDROM 1.7
140 * Amiga 3000 + internal SCSI + NEC 3Xp + AmiCDROM 1.7
141 * Amiga 3000 + internal SCSI device + Pioneer DRM-604X QuadSpeed Changer +
144 * Amiga 3000 + Commodore 2091 + Toshiba 2100/3200 + AmiCDROM 1.7
145 * Amiga 3000 + Emplant w SCSI (using empscsi.device) + Apple CD 300 +
147 * Amiga 4000 + GVP Series I + Toshiba 3401 + AmiCDROM 1.8
148 * Amiga 4000 + Commodore 2091 SCSI controller + Toshiba 3401 +
150 * Amiga 4000 + Fastlane SCSI II + Toshiba 3401 + AmiCDROM 1.2
151 * Amiga 4000 + Fastlane Z3 SCSI Host Adapter + Apple CD-300 +
153 * Amiga 4000 + A4091 + Apple CD300 + AmiCDROM 1.7
154 * Amiga 4000 + Golem SCSI controller + Toshiba 3401 + AmiCDROM 1.7
155 * Amiga 4000/30 + DataFlyer + Apple SC + AmiCDROM 1.7
156 * Amiga 4000 + Commodore A2091 SCSI controller + NEC 3Xp + AmiCDROM 1.7
157 * Amiga 4000/040 + Oktagon 2008 + Toshiba 3401 + AmiCDROM 1.9
158 * Amiga 4000 + WarpEngine40/28 + Toshiba 3401 + AmiCDROM ?.?
159 * Amiga 4000 + A4091 SCSI controller + NEC 3Xi (CDR-500) + AmiCDROM ?.?
160 [ but: audio support does not work + READ TOC command has funny results ]
161 * Amiga ???? + Oktagon 2008 + Teac CD-50 / Pioneer DRM600 / DRM602 +
163 * Pegasos-II + Samsung SM-352N CDRW+DVD-R combo drive + MorphOS 1.4.5 +
166 The following hardware setups have been reported not to work:
168 * Amiga 2000 + GVP Series I + Toshiba 3401 + AmiCDROM 1.6
169 * Amiga 2000 + GVP Series II (v4.13) + NEC CDR-55JD-1 + AmiCDROM 1.8/1.9
170 * Amiga 2000 + GVP combo 68030/gvpscsi 3.12 + Toshiba 3401 + AmiCDROM 1.6
171 * Amiga 2000 + G-Force-030/gvpscsi 4.5 + Toshiba 3401 + AmiCDROM 1.6
172 * Amiga 2000 + ICD Advantage 2000 + Apple CD150 + AmiCDROM 1.6
173 * Amiga 2000 + Amiga 2000 Vector Acc w SCSI port + Nec MultiSpin 3Xp +
175 * AmiCDROM <= 1.7 + Digital RDD40 (will be fixed in AmiCDROM 1.8)
176 * Amiga 3000 + EMPLANT with SCSI (using empscsi.device) +
177 Texel DM5024 drive + AmiCDROM 1.6
178 * Amiga 3000 (with 68040 acc) + internal SCSI device + Texel CDROM +
180 * Amiga 3000 + internal SCSI device + Apple CD300 + AmiCDROM 1.6
182 * Amiga 3000 + internal SCSI device (WD-08) + Apple CD150 + AmiCDROM 1.8
184 The following hardware setups have been reported to work for some users
185 and not to work for other users:
187 * Amiga 2000 + Evolution-Controller (V3.x) + Toshiba 3401 +
191 @node INSTALLATION "Installing CDVDFS"
193 On AROS CDVDFS is the part of bootimage and does not need any
194 installation. It works automatically out of the box by default.
196 On other systems you can perform the installation as follows:
198 1. Copy the 'cdrom-handler' file to L:cdrom-handler.
200 2. @{"If you use Workbench 2.0" link "2.0"}
201 @{"If you use Workbench 2.1 or higher or MorphOS" link "2.1"}
204 @{"Control" link "startup"} - The 'Control' field
209 @node 2.0 "Installation on 2.0 systems"
211 Create an entry in DEVS:MountList like this:
213 CD0: FileSystem = L:cdrom-handler
226 Control = "ROCKRIDGE LOWERCASE" /* see below */
229 You can choose any name you like for "CD0".
231 Install the handler in DOS using the CLI command "Mount CD0:".
232 If there is a problem during mounting, CDVDFS will put up a
233 requester with an error message.
234 If you use CDVDFS regularily, you might consider to put
235 "Mount CD0:" in the user startup-sequence.
239 @node 2.1 "Installation on 2.1 and higher systems and MorphOS"
241 Edit the file CD0. It contains a Mountlist as described in step 2a
242 (with the exception that "CD0:" and "#" are missing).
243 If you don't like the name "CD0", rename this file and the file
244 CD0.info. Use the Workbench to move the icon CD0 into the drawer
245 sys:Storage/DOSDrivers. Now enter the command "Mount CD0:" to
247 If you use CDVDFS regularily, you might consider to put
248 the icon in the drawer WBStartup or Devs:DOSDrivers; all files in these
249 drawers will be mounted at startup. If the icon is in the WBStartup
250 drawer, the Workbench will not wait until "CD0:" is mounted; if the
251 icon is in Devs:DOSDrivers, the Workbench will wait. The first
252 method is recommendable if you want your system to come up as fast
253 as possible. The second method has to be used if you want to refer
254 to "CD0:" in your s:user-startup sequence.
257 Make sure, that all assigned volume names (such as "L:") are known
258 at the time of mounting. Otherwise, the handler will not be
259 mounted, and no error message will be issued.
261 If you have put CD0 into DEVS:DosDrivers and the handler does not
262 auto-mount, then you probably have a wrong filename in the 'Handler'
265 IMPORTANT FOR MORPHOS:
266 If you wish to completely replace MorphOS internal CD-ROM handler
267 with CDVDFS you need to use "KillDevice" utility to remove built-in
268 handler before installing this one. In order to do this you'll have
269 to insert "KillDevice" command into MOSSYS:S/Startup-Sequence file
272 Mount >NIL: MOSSYS:Devs/DOSDrivers/~(#?.info) DEVS:DOSDrivers/~(#?.info)
274 So that this would look like:
277 Mount >NIL: MOSSYS:Devs/DOSDrivers/~(#?.info) DEVS:DOSDrivers/~(#?.info)
279 This assumes that you put CD0 into DEVS:DOSDrivers directory.
281 Also, be sure that Mountlist for CDVDFS contains "ForceLoad = 1"
282 parameter, otherwise builtin MorphOS CD-ROM handler will be used for the
283 device instead of CDVDFS.
285 If you don't wish to remove MorphOS builtin handler you'll need to
286 choose another name for CDVDFS, for example ACD0.
290 @node startup "The 'Control' field"
292 The 'Control' field in the MountList is a string with the following
295 RETRY/S,L=LOWERCASE/S,ML=MAYBELOWERCASE/S,
296 R=ROCKRIDGE/S,J=JOLIET/S,MI=MACTOISO/S,CS=CONVERTSPACES/S,
297 SV=SHOWVERSION/S,HF=HFSFIRST/S,FB=FILEBUFFERS/K/N,
298 DE=DATAEXT/K,RE=RESOURCEEXT/K,SI=SCANINTERVAL/K/N,PC=PLAYCDDA/K,
299 X=XPOS/K/N,Y=YPOS/K/N,UT=UNICODETABLE/K
301 The following options may be used:
303 L Map ISO-9660 names to lower case
306 ML Do not convert the filenames if the CDROM is a
307 MAYBE- CDTV or CD32 disk, or a disk created by Mkisofs.
308 LOWERCASE Otherwise, map the filenames to lower case.
309 (LOWERCASE and MAYBELOWERCASE are mutually exclusive.)
311 R Use Rock Ridge file names, if possible.
314 J Use Joliet file names, if possible.
317 MI Convert Mac characters into ISO-Latin-1 (Amiga) characters.
318 MACTOISO (The conversion applies only to the filenames, not to
319 the contents of the files.) Additionally, the character
320 ':' will be converted into a '.', and '/' will be
321 converted into '-'; this is necessary because AmigaDOS cannot
322 handle filenames containing those characters.
324 CS Convert spaces in MacHFS filenames into underscores ('_').
327 SV Show version numbers.
330 HF If a new disk is mounted, CDVDFS normally tests first
331 HFSFIRST if the new disk is a ISO-9660 disk. If the option "HF"
332 is given, then the disk is first examined for a HFS
334 This option is useful if you have a "multi-platform"
335 disk with both a ISO-9660 and a HFS partition. Without
336 the option you get the ISO partition; with the option
337 you get the HFS partition.
339 FB Number of 2048 byte buffers for file access with the
340 FILEBUFFERS AmigaDOS Read() call. Default = the same as specified in
341 "Buffers" keyword of the mountlist.
343 DE Extension for the data fork of a file on MacHFS disks.
346 RE Extension for the resource fork of a file on MacHFS disks.
347 RESOURCEEXT (If neither DE nor RE are given, DE is set to the empty
348 string and RE is set to ".rsrc".)
350 SI Time between two successive diskchange checks.
351 SCANINTERVAL Default = 3 seconds.
352 If the value of this option is 0, then no diskchange
353 checks will be performed; in this case, you have to use
354 the DISKCHANGE command in order to inform CDVDFS that
355 a disk has been changed.
357 PC Name of the command to be executed if the user double-
358 PLAYCDDA clicks at the "CD-DA" icon. If you want to execute
359 a command with parameters, you have to create
360 a script file containing the command plus parameters.
361 The name of the script file has to be passed as an
362 argument to the PC option. Don't forget to set the
363 "S" protection bit of the script file.
365 X X position of CD-DA icon. (Default: WB selects position.)
368 Y Y position of CD-DA icon. (Default: WB selects position.)
371 UT Specify file name of Unicode translation table used
372 UNICODETABLE to translate national characters on Joliet disks.
373 These tables are standard Unicode mappings, the same as,
374 for example, supplied with codesets.library. You can
375 find more of them at http://www.unicode.org.
377 RETRY Report no error if the CDROM drive is switched off while
378 mounting the filesystem. The "mount" program will hang until
379 the CDROM drive is switched on.
381 I recommend to specify at least MAYBELOWERCASE, ROCKRIDGE and JOLIET , for
386 Control = "ROCKRIDGE FB=10 DE=.1 RE=.2"
388 Use Rock Ridge if possible and use 10 buffers for file access (FB=10).
389 In HFS filenames, mark the data fork with the extension ".1" (DE=.1)
390 and the resource fork with the extension ".2" (RE=.2).
392 Control = "ROCKRIDGE JOLIET UT=LIBS:Charsets/windows-1251.txt"
394 Use RockRidge or Joliet if possible and use windows-1251 Unicode conversion
395 table (this table defines russian character set).
397 Older Mount commands (e.g. those distributed with Workbench 2.0)
398 cannot handle space characters and "=" signs within startup
399 parameters. In CDVDFS, the following workaround has been made
400 available: every '+' sign will be replaced internally by a space
401 character. This means that
403 Control = "ROCKRIDGE+FB+10+DE+.1+RE+.2"
405 is equivalent to the example above.
407 If you really need a '+' character in the control field (e.g. if
408 yoy want to append ".+res" and ".+data" to HFS file names), then you have
409 to write '++' instead of '+', e.g.
411 Control = "DE+.++data+RE+.++res"
415 @node USAGE "Using CDVDFS"
417 You may use "CD0:" as if it were an ordinary volume, i.e. you may
418 execute commands such as:
427 @node FILENAMES "CDROM Filenames (ISO-9660, RockRidge and Joliet)"
429 A standard CDROM disk ("volume") contains a ISO-9660 directory tree.
430 ISO file names have the following format:
432 FILENAME.EXTENSION;VERSION
436 The filenames may contain upper-case letters, digits and underscores.
438 CDVDFS normally ignores the version number of a file. If you
439 specify the option "SV", however, the version numbers will be
440 displayed. If you have to supply a file name, you may or may not
441 specify a version number. E.g. in order to type the contents of the file
442 README.TXT;1 you might use one of the following commands:
447 (don't forget the quotation marks!)
448 If a directory contains more than one file with the same name (and
449 different version numbers), then you have to supply the version number
450 in order to be able to choose the version you want.
452 Filenames may be mapped to lower-case by specifying the control option "L".
453 Lower-case names are generally easier to read than upper-case names.
455 ISO filenames have a limited length and format. To overcome this
456 restriction, the Rock Ridge Group has devised the Rock Ridge Interchange
457 Protocol which allows arbitrary filenames. Rock Ridge filenames
458 are stored in so-called "system use areas" within the ISO-9660
461 By specifying the control option "R", CDVDFS recognizes Rock Ridge
462 filenames on a Rock Ridge CDROM disk.
466 @node SYMLINKS "Symbolic links on Rockridge disks"
468 The Rock Ridge protocol standard also defines so-called symbolic links.
469 A symbolic link is a file A which contains the filename of another
470 file B. Whenever the name of file A is used, file B will be accessed.
472 CDVDFS maps symbolic links to AmigaDOS soft links. The soft links as
473 specified and implemented in AmigaDOS 2.1/3.0, however, do not work
474 very well. Actually, soft links are not officially supported by Commodore.
475 You most probably will encounter problems, if you use path names which
476 contain soft links in their middle. Therefore, you should always ensure that
477 the soft link part of the path name is the last part, i.e.
478 use "cd cd0:foo/soft" and "cd bar" instead of "cd cd0:foo/soft/bar", if
479 "soft" is a soft link.
481 The AmigaDOS comment field for symbolic links will be set to "Symbolic Link".
482 Therefore, you may use the "list" command in order to identify symbolic
483 links. If you want to know what the target file of a symbolic link is,
484 then you might use the command "cdrom o <symlink-name>".
488 @node DISKCHANGE "Diskchange recognition"
490 In order to recognize a "disk changed" condition, the CDROM drive is
491 periodically (each 3 seconds) queried by the filesystem handler.
493 On some Amigas this may cause the "Hard Disk" LED to flash every
494 3 seconds. Obviously, the "Hard Disk" LED isn't actually connected to
495 a hard disk drive; it is simply an indicator for SCSI bus activity.
497 The time between two successive diskchange checks can be modified
498 with the SCANINTERVAL option. If this option is set to 0, no diskchange
499 checks will be performed. This might especially be useful for BBS
500 systems, where disks aren't changed very often.
502 You may force a diskchange check with the AmigaDOS DISKCHANGE
503 command, e.g. "DISKCHANGE CD0:".
507 @node MACHFS "Macintosh HFS format"
509 Each MacHFS file consists of two parts: a "data fork" and a "resource
510 fork". Each fork may be regarded as an individual file. Both the
511 data fork and the resource fork may be empty.
513 CDVDFS treats each fork as an individual file. While other CDROM
514 filesystems may require you to switch between the modes "show only
515 data forks" and "show only resource forks", CDVDFS displays both
516 data and resource forks in one directory. If either of the two forks
517 is empty, it will not be displayed.
519 By default, the resource fork is marked with the extension ".rsrc".
520 You may change the extensions with the options DATAEXT and RESOURCEEXT.
522 MacHFS file names tend to contain lots of space characters. If you
523 don't like this, you may use the switch CONVERTSPACES to convert
524 all space characters into underscores.
526 The Macintosh uses a slightly different character set than the
527 Amiga. The upper 128 characters in the Amiga character set
528 correspond to the ISO-Latin-1 standard. The upper 128 characters in
529 the Macintosh character set, however, are specific to the Mac.
530 If you want to convert Mac characters in filenames into ISO-Latin-1
531 characters, you should use the MACTOISO option.
535 @node AUDIO "Audio disks (CD-DA)"
537 If a disk that contains one or more audio tracks is inserted into the
538 drive, CDVDFS will display an icon with the name "CD-DA". If you
539 double-click on this icon, the CDROM drive will start to play the
540 first track on the disk. If you double-click on this icon again, the
541 CDROM drive stops playing.
543 If you want to use a more sophisticated way to handle audio disks,
544 you may provide the name of a CD-DA player program as an argument
545 to the PLAYCDDA option. Recommendable programs are "JukeBox" by
546 F-J. Reichert, which uses a CD-player like user-interface,
547 "CDDA" by Olaf Barthel (for an Apple CD-300) and "PlayCDDA" by
548 Frank Munkert and Heiko Rath. PlayCDDA V1.1 is suitable only
549 for Toshiba 3401 and Apple CD-300 drives; these drives can send CD-DA
550 data over the SCSI bus. PlayCDDA reproduces the sound which is recorded
551 on the disk on the Amiga's audio.device.
553 The position of the CD-DA icon on the Workbench can be modified with
554 the options XPOS and YPOS.
556 If you do not like the default CD-DA icon, then you might create an
557 icon in the file "ENV:cdda.info". Then this icon will be used by
558 CDVDFS. The tooltype argument "ICONNAME" will be used as a replacement
559 for the default icon name ("CD-DA"). An example icon can be found in the
560 drawer "icons" in the CDVDFS distribution.
562 You can use this feature only if your CDROM drive supports audio commands.
563 If you only have a SCSI-1 CDROM drive, you probably also won't be able to
564 use this feature (use "cdrom a" to test whether or not you have a SCSI-1
569 @node MULTISESSION "Multisession Support"
571 Some CD-ROMs, such as PhotoCDs, can be recorded in multiple sessions.
572 If your CD-ROM drive supports extended architecture (XA) disks and
573 can read multiple sessions, then CDVDFS will show you always the
576 If you only have a SCSI-1 CDROM drive, you probably won't be able
577 to use this feature (use "cdrom a" to test whether or not you have a SCSI-1
582 @node CDCONTROL "The 'CDCONTROL' Program"
584 The 'cdcontrol' lets the user change parameters of the CDROM handler
585 while the handler is running. These changes are only temporary, and
586 persist only as long as the handler is running.
588 'cdcontrol' is invoked as
590 cdcontrol device: command
592 where 'command' may be one of the following commands:
594 lowercase on Convert ISO filenames to lowercase
596 lowercase off Don't convert ISO filenames
598 mactoiso on Convert Mac to Amiga characters
600 mactoiso off Don't convert Mac filenames
602 convertspaces on Convert HFS spaces into underscores
604 convertspaces off Don't convert spaces in HFS filenames
606 hfsfirst on Look for a HFS partition first
608 hfsfirst off Look for an ISO partition first
610 dataext <name> Set extension for HFS data forks
612 resourceext <name> Set extension for HFS resource forks
614 unicodetable <name> Load Joliet character set conversion table
615 (use special name "none" in order to use
616 defauit built-in Latin-1 table)
620 cdcontrol CD0: dataext ".data"
621 cdcontrol CD0: unicodetable "L:FileSystem_Trans/windows-1251.txt"
623 All command names may be abbreviated to the one- or two-letter
624 abbreviations shown in the section "The 'Control' field".
629 @node CDROM "THE 'CDROM' PROGRAM"
631 The 'cdrom' program is mainly for developers of CDVDFS.
632 However, there are some features which might be useful to
635 In order to use 'cdrom' you have to set the following
636 environment variables:
638 CDROM_DEVICE Name of your SCSI device, e.g. "scsi.device"
640 CDROM_UNIT SCSI-ID of your CDROM drive, e.g. "2"
642 CDROM_FASTMEM Has to be set to any value if you want to use
643 fast memory instead of chip memory for buffers.
645 CDROM_UNICODETABLE Name of character conversion table for Joliet disks.
647 Here are some useful commands:
649 cdrom a Show information on the CDROM drive.
651 cdrom d[rl] dir Show directory 'dir'.
652 Option r: also show subdirectories.
653 Option l: show additional information.
655 cdrom e[rlL] dir Show directory 'dir' using Rock Ridge names.
656 Option r: also show subdirectories.
657 Option l: show names of system use fields.
658 Option L: show names and contents of system use fields.
660 cdrom i Show the format (ISO, RR, J or HFS) of the current disk.
662 cdrom s num Read the contents of sector 'num'.
664 cdrom v Show the primary volume descriptor of the CDROM disk.
666 cdrom z Test if the CDROM drive is ready.
670 @node CHECKCD "The 'CHECKCD' Program"
672 Checkcd performs some consistency checks on an ISO 9660 disk.
673 Set the options CDROM_DEVICE, CDROM_FASTMEM and CDROM_UNICODETABLE as
674 described in the previous section and invoke "checkcd" without arguments.
675 The test may take up to 20 minutes, depending on the complexity of
680 @node KILLDEVICE "The 'KILLDEVICE' Program"
682 Unfortunately MorphOS operating system has a problem - it can't dismount
683 handlers correctly. KillDevice is a hack which allows you to remove
684 existing CD-ROM handler in order to replace it with CDVDFS.
686 Note that it is REALLY A HACK! It actually rips off the device from
687 the system, and not shuts it down in somehow friendly manner. I hope
688 some day this problem will be fixed and this tool will not be needed any
691 The only argument for KillDevice is physical device name:
695 This program exists only in MorphOS version of the package. It is simply
696 not useful on other systems due to its weird nature.
700 @node TROUBLESHOOTING "Troubleshooting"
702 Q: My Amiga crashes if I mount the CD0 device.
703 A: Possibly your SCSI driver does not support the selected
704 access method. Play around with the options "CHIP", "FAST", "DMA" and
705 "ANY"; there should be a setting which also works for you.
707 Q: If I use many screens or many colors, my Amiga runs slower
709 A: Probably you are running out of chip memory. Use the "FAST"
710 option, if your SCSI driver supports this. Otherwise, decrease
711 the size of the CDVDFS buffers with the options FB and SB.
713 Q: My system does not boot if no disk is inserted in the CDROM drive.
714 A: L. Scott Emmons (csusac.csus.edu!cdsac!scotte) suggests this:
715 If the CDROM drive is at a SCSI address lower than the last
716 hard drive device, the system will not boot unless either the
717 drive is powered off, or a data CD is in the drive. To fix,
718 I changed my hard drive to SCSI device 0, put the CDROM drive
719 as device 5, and then rebooted with the CDROM drive powered OFF.
720 I ran HDTOOLBOX, which complained that "something had changed",
721 did a "SAVE", and exited. Now, I can reboot with the CDROM drive
722 either on or off, and everything is fine. Apparently this has to
723 do with setting the "last drive" bit on the hard drive, or some
724 such. This will be a problem with any factory-installed hard
725 drives, since CBM insists on installing them as SCSI device 6.
729 @node UTILITIES "Other utilities of interest"
731 "SCSIUtil" by Gary Duncan and Heiko Rath:
732 Provides low level access to your CDROM drive. Useful for debugging.
734 "ForceIcon" by Kai Iske:
735 A commodity which places icons for volumes and devices at user-definable
736 locations. Useful if you don't like the icon locations and images on
739 "cdromemu.device" (can be found in m68k AmiCDROM v1.15 archive):
740 Emulates a trackdisk device which reads a CDROM image from an AmigaDOS
741 file. Can be used by CDROM manufacturers to verify the output of
742 their pre-mastering program. It is removed from MorphOS distribution
743 because it comes without source code and can't be recompiled.
747 @node THANKS "Thanks must go to.."
749 My promary thanks go to original author, Frank Munkert, for releasing
750 source code of AmiCDROM version 1.15.
752 Also the following people were involved into development and beta testing
753 of previous versions of AmiCDROM:
795 Henning Schmiedehausen
811 @node BUGS "Bugs and not supported features"
813 Bugs: If you find any bugs, please send an e-mail message to:
814 sonic_amiga@rambler.ru
816 If you want to report an error, please describe your system
817 configuration (computer model, operating system name and version,
818 SCSI device name, CDROM drive model) and include your MountList
819 entry for the "CD0:" device. Include in your bug report the output
820 of the commands "cdrom a" and "cdrom v".
822 Not supported features:
824 - Interleaved mode (ISO)
825 - Multi-disk volumes (ISO)
826 - Multi-volume disks (ISO)
835 My current plans for this project are:
837 - Implement UDF filesystem support.
838 - Create MUI-based preferences editor instead of old "cdcontrol" program.
839 - Implement reading CDDA tracks as files (like in AsimCDFS).
841 The project can be supported for all existing branches of Amiga operating
842 systems. Current source code supports three flavours:
844 - AmigaOS/m68k (until v3.9)
848 MorphOS and AROS flavours are maintained by me. Maintainers for m68k build and
849 possible AmigaOS4 build are wanted. Support for unmaintained architectures can
852 If you wish to become a maintainer please mail me at sonic_amiga@rambler.ru.
854 Original to-do from Frank Murket:
855 ---------------------------------
857 - Support trackdisk disk change interrupt:
858 Neither trackdisk interrupts nor trackdisk changenums are supported
859 by the V40 scsi.device for A3000(T). Therefore the trackdisk disk change
860 recognition feature currently cannot be supported by CDVDFS.
864 @node HISTORY "History of CDVDFS"
868 * Fixed reading multisession discs, previously it worked not on all drives.
869 * Supports "Hidden" flag on ISO9660/Joliet volumes, used by for example MacOS.
870 * Hides files with "Associated" flag set, this helps to read discs created
875 * Now reports correct DOS type for volumes.
876 * Fixed losing a volume under MorphOS if a disk has been removed with some
877 files or directories open.
878 * Fixed some problems with RockRidge volumes on some machines.
879 * Fixed disappearing volume upon disc read failure.
880 * Fixed broken CDDA handling.
884 * Added support for protection bits and file comments
885 * Fixed crash with too long file names (longer than 106 characters).
886 * Fixed Mountlist format, now correct and compatible with all systems.
890 * Removed redundant TRACKDISK option, standard trackdisk commands are used
891 for reading data and SCSI-2 commands for other operations.
892 * Added support for trackdisk64 standard, now will really work with DVD disks,
897 * First release under new name.
898 * Rewritten startup procedure, now uses new format of mountlist.
899 * Added Joliet support.
901 Original AmiCDROM changelog follows.
903 Changes for MorphOS port:
905 * Rewritten CDDA play routine, now it should work with all IDE drives.
909 * Mount command returns now even if the SCSI device cannot be opened
910 (with RETRY option only!)
911 * Fixed bug in HFS driver which caused slow or even incorrect file access.
912 * Truncate file names to 30 characters.
913 * Included installer script.
917 * Fixed bug in volume handling routines.
918 * Start sector of files is now returned in the fl_Key field of
919 FileLock structures, for compatibility with the Commodore CDROM file
924 * Offset of last session is determined with a vendor specific command
926 * Added a workaround for the bad NEC 3X READ TOC command, which sometimes
927 contains a wrong track number for the lead-out track.
928 * Added support for packet ACTION_EXAMINE_FH; this fixes the problems with
929 some implementations of the C library routine fstat().
930 * Added support for packet ACTION_PARENT_FH.
931 * Better error message for ACTION_MAKE_LINK.
932 * A volume node will be removed if the last lock from the volume node has
934 * READ TOC command disabled for Apple CD 150, because this command caused
935 some CD 150 drives to block the SCSI bus.
936 * AmiCDROM sources can now be compiled with the GNU C compiler gcc.
937 * Aztec C and DICE C are no longer supported.
941 * Tries to cope with CDROMs which have an incorrect table of contents.
942 * New default CD-DA icon.
943 * User-definable CD-DA icon.
948 * New option MAYBELOWERCASE.
949 * Audio support for Apple CD-150 (= Sony 8002) und CD-300 (= Sony 8003).
950 * Sense length 20 instead of 18 (needed by ALF driver).
951 * Fixed bug in ACTION_DISK_INFO.
952 * Performance improvement for lock+filehandle processing.
956 * Larger buffer for startup strings.
957 * Improved handling of volumes: locks and file handles will not be
958 discarded if a CDROM is removed from the drive.
959 * Adapted ACTION_CURRENT_VOLUME to new volume handling.
960 * CDROM emulator now also supports TD_CHANGESTATE and TD_CHANGENUM,
961 and the virtual CDROMs can be inserted into and removed from the
963 * Fixed bug concerning TRACKDISK disk change recognition.
964 * Improved implementation of ACTION_INHIBIT.
965 * Minor improvements and bug fixes in the HFS driver.
966 * The extended attribute record length has to be considered when
967 reading file sections.
971 * Added support for Rock Ridge relocated directories.
972 AmiCDROM now conforms fully to the Rock Ridge Interchange Protocol Rev 1.09.
973 * Added CDROM emulator cdromemu.device.
974 * Included "checkcd" tool.
975 * Full support for ACTION_INHIBIT.
976 * Better trackdisk disk change recognition.
977 * Toshiba 4101 support.
981 * Support for symbolic links on RockRidge disks.
982 * Support for multisession disks (such as PhotoCDs).
983 * New memory options CHIP, DMA and ANY.
984 * Removed the assembly stubs for the debug process (Aztec and SAS/C).
985 * Support for the ACTION_FLUSH packet.
986 * Changed the packet number for cdcontrol from 666 to 2050.
987 * The option LOWERCASE now also applies to ISO volume names.
988 * Double-clicking at the CD-DA icon (without PLAYCDDA option) now plays
990 * Support for CDROM drives with block lengths of 512, 1024 and 2048 bytes.
991 * Better method for finding HFS master directory blocks.
992 * User may define the location of the CD-DA icon.
993 * If the CD-DA icon cannot be displayed because the WB is not open, then
994 the display function will be retried periodically (all SCANINTERVAL seconds).
995 * The AmiCDROM device node now also contains a pointer a FileSysStartupMsg,
996 in order to live peacefully together with SysInfo and similar tools.
997 * Support for drives which do not support the SCSI-2 READ TOC command.
1001 * Some packets are now handled even if no disk is inserted (e.g. the
1002 ACTION_INHIBIT packet). Otherwise WB would bring up the requester "No Disk
1003 in drive CD0:" when the system is booted without a CD in the drive.
1004 * Improved "cdrom d" and "cdrom e" commands.
1005 * Removed call to GetDefDiskObject(). This call sometimes caused a crash,
1006 because GetDefDiskObject sends/receives DOS packets. A DOS handler isn't
1008 * Added custom CD-DA icon.
1009 * Support for logical block sizes of 512, 1024 and 2048 bytes.
1010 * Fixed bug in HFS module.
1011 * Option MACTOISO now also converts ':' and '/' characters.
1012 * Options MACTOISO and CONVERTSPACES now also apply to volume names.
1016 * CD-DA support; new option: PLAYCDDA.
1017 * New option: SCANINTERVAL (user-programmable diskchange check interval).
1018 * Better support for ACTION_INHIBIT packet.
1019 * Allows ISO filenames with ';' characters.
1020 * Can now be compiled with DICE 2.07.56R.
1024 * Make Toshiba-3401 drives switch between XA and normal mode, depending
1025 on the inserted disk. (Useful for PhotoCDs.)
1026 * New option: SHOWVERSION.
1027 * New option: HFSFIRST.
1028 * Fixed a bug which caused an enforcer hit with the "cdrom" program.
1029 * "cdcontrol" control program.
1033 * Added Mac HFS support.
1034 * The path table of ISO disks is no longer examined. This results in a
1035 little speed increase. Furthermore, the FishMarket V2.0 disk by AsimWare
1036 (which has a corrupted path table) can now be read with AmiCDROM.
1037 * Bug fix: if a there is a disk change immediatedly before mounting AmiCDROM,
1038 the new disk will now be recognized.
1039 * SAS/C support for debug process (dbproc.a).
1043 * Improved caching algorithm.
1044 * New buffering options 'STDBUFFERS' and 'FILEBUFFERS'.
1045 * Fixed bug with locks containing wrong fl_Volume entry. Now the AmigaDOS
1046 shell should show the correct volume prompt.
1047 * New format for the Mountlist 'Startup' field.
1048 * Compiled with small memory model.
1049 * Uses utility.library in order to reduce the size of the executable.
1050 * Recognizes if a non-ISO disk is in the CDROM drive and creates a
1051 'no DOS disk' volume node. This solves some problems with Audio-CDs.
1052 * The volume node now contains the volume creation date.
1053 * Can now be compiled with SAS/C and DICE in addition to Aztec C.
1057 * Support for new packets: ACTION_SAME_LOCK, ACTION_IS_FILESYSTEM,
1058 ACTION_CURRENT_VOLUME.
1059 * Send 'disk inserted' or 'disk removed' event, so that the Workbench
1060 detects disk changes faster.
1061 * Added fast memory option 'F'.
1062 * Writing ACTIONs now return a 'write protected' error status.
1063 * Unload handler after ACTION_DIE.
1064 * Immediately terminate program if called from CLI.
1065 * Set volume label to "Unnamed" for disks without name.
1066 * Added support for LUNs other than 0.
1067 * Included an icon for the Mountlist.
1068 * DOS list changes now bracketed by Forbid() and Permit().
1069 * Corrected another ACTION_SEEK bug.
1070 * Handler cannot be killed if locks or filehandles are in use.
1074 * Bug in ACTION_SEEK handling fixed.
1075 * Bug with top-level ACTION_EXAMINE_OBJECT for Rock Ridge disks fixed.
1076 * Added code to detect whether a lock stems from the current volume
1077 or from another volume which has been removed from the drive.
1078 (In this case the error 'object not found' (205) is reported.)
1079 * Added support for trackdisk calls. (Startup option 'T')