This new version of the makecdromfs.module was brought to you by Heinz Wrobel . Please contact him directly if you have questions about ISO. Here's an executive summary of what he wrote about the new file lists and Joliet/HFS: New syntax for filelists in ReadArgs style to support both HFS and Joliet, if (at least) the first line starts with '#'. The hash ('#') introduces comments in the filelist. This is similar to NSDPatch.cfg parsing. // ISO0/S,ISO1/S,ISO2/S, // include file in ISO image // 0 - Don't convert filename for ISO9660 - might use invalid names // 1 - Create ISO level 1 name // 2 - Create ISO level 2 name // UPPERCASE=UC/S, // Convert name to uppercase // INFOLOWERCASE=INFOLC=ILC/S, // .info suffix handled as lowercase // NOROCKRIDGEAMIGA=NORRAMIGA=NRA/S, // don't include Amiga attributes in Rockridge // WORLDACCESS=WA/S, // file is world accessible // GROUPACCESS=GA/S, // file is group accessible // JOLIET/S, // include file in Joliet image // JOLIETNAME/K // optional name to be used for Joliet. Please use quotes. // (currently only 8 bit ISO supported and not checked!) // // HFS/S, // include file in HFS image // HFSNAME/K // optional name to be used for HFS. Please use quotes. // RESOURCEFORK=RF/K, // file to be used as resourcefork for given HFS file. // Please use quotes. // HFSTYPECREATOR=HTC/K, // 8 bytes type and creator text (not checked!). Please use quotes. // // FILE/A, // The original file to put on CD. Please use quotes. // CDNAME/K // Alternative complete file path to be used on CD. Please use quotes. // If the path starts with ':' or contains path separators // the whole path including the filename is used. Otherwise only the // filename is used Old syntax should still work. Error checking is still very limited. If the filelist is not correct: Garbage in, crash out. Testing of the filelist options was also very limited. Expect the unexpected and let me know. BTW, multisession with Joliet not yet supported. Some code still not written. Multisession with HFS cannot be supported due to limitations of HFS. BTW, this version can generate a pure HFS disk without any ISO content. For HFS, a dirty fallback to the ISO volume id has been built in if no HFS volume id has been specified. Charset encoding translation is NOT performed! HFS still has a few problems. It won't pass a Disk First Aid test right now but the volume is basically recognized and file access doesn't seem to be completely broken. HFS is extremely EXPERIMENTAL! The Joliet volume id is currently specified as standard 8 bit ISO-Latin 1 string. 45.7 - first public beta 45.8 ISO string comparison when checking for duplicates was too strict now if ISO Level Amiga (CONVCHARS) was used. Now it is really relaxed again and basically an international case insensitive comparison as used by the FastFileSystem. Name conversions now try hard to leave at least 3 bytes of the extension intact if a name has to be shortened for ISO. If, for Workbench, lower case info extensions are asked for, they will stay intact in level 2, even if the name has to be shortened. Pathtables were messed up if ISO and Joliet didn't have identical hierarchy depth in all directories. This killed ISO on PCs. 45.9 El Torito works now. In other words, you can successfully create a PC bootable CD now. Not happy with it though. Still needs some work to be nice. 45.10 Duplicate checking when building the directory and file tree was broken in many ways. The check itself was very broken and if the user chose to ignore something, the new entry was skipped. This changed completely. If the user choses to ignore something, the old file entry is deleted and the new entry takes precedence. If the old entry is a directory, all content is assimilated and can/will then be replaced as needed. Resistance is futile. Duplicate checking on processing filelists happened twice, and at least once in a useless fashion. Joliet multisession support code implemented. Still have to test. Revision check for Joliet filenames was broken. Actually, noone uses revisions, so nobody would have noticed. As it turns out, non-Joliet objects could have been accessed as if they were Joliet, leading to Enforcer hits. When creating directories, the corresponding Joliet name was not necessarily generate correctly. This should be fixed now. Complaints about duplicate checking led to a serious rework of internal object handling. The complaints were right and the reworks were much more extensive than originally envisioned. The new code is in some ways more flexible, which also can result in more picky situations. If you scan a track containing both Joliet and ISO entries for the same file, it may well be that you get more than one duplicate check because the new code tries to be extra careful about duplicates. RockRidge didn't necessarily handle file versions correctly. 45.11 The sort order of extensions in filenames was not quite correct. In fact, extensions were ignored when sorting. Note that for Joliet, the last dot in a complete identifier is considered to be the start of the extension! The volume descriptors for Joliet were not space padded correctly, though most people likely would not have noticed. As it turns out, Joliet names did not always have a correct revision info attached to their base name. 45.12 I broke ISO Level 1 and 2 with the last update because of a two character typo. ISO Level Amiga worked fine. This should be fixed now. El Torito boot support is close to what it should be now. If you just enter the filename, you get the classic feature set for a single x86 style boot image with the configured emulation type. If you specify an expanded string as described below, you get fairly easy access to all usual El Torito options. The new string format is somewhat like this: [~][::[~]] So in essence you can have more than one boot entry by separating entries with a double colon. You can have options per boot entry by specifying them in ReadArgs style after a tilde right behind the filename. Permissible options are: SectionID=SID/K The section ID for this entry if you want to group multiple entries. For the very first entry, it is used as manufacturer id. Default is an empty string. PlatformID=PID/K One of "x86", "PowerPC", "Mac" or a number, if you know what you are doing. Default is "x86". Bootable=B/S You must set this, if this is a bootable entry. Default is NOT BOOTABLE. EmulationType=ET/K One of "None", "1.2", "1.44", "2.88", "HARDDISK", or a number, if you know what you are doing. Default is "None". IsSCSIDriver=SCSI/S Well ... IsATAPIDriver=ATAPI/S Well ... SegmentAddr=SA/K A number in C decimal, octal or hex notation. Default is 0. Remember, the options are specified in ReadArgs style just as for a Shell command.