Function 1: Read-out ISO-9660/UDF Descriptors on a device, image-file or blocklist
Function 2: Read/ find directories/ files or read-out their Directory Records
Use: ISOINFO.G4B [SWITCHES] DEVICE|FILE
Help: ISOINFO.G4B /?
SWITCHES
General: [--Q] [--HEX] [--BLOCKSIZE=bytes] [--MDBASE=sector] [--INFO]
ISO 1: --ISOVDS|--ISOPVD|--BD|--SVD[2]|--VPD|--VDT|--ROOT[2/3]
ISO 2: --DIR/RECORD[2/3][RR]=[PATH][name.ext[;n]] [--ATTRIB=DF[-]H] [--CASE] [--DEEP]
UDF 1: --VRS|--UDFVDS|--VDS2|--FDS|--AVDP|--PVD|--IUVD|--PD|--LVD|--USD|--LVID|--FSD|--FE|--EFE|--TD|
--VAT|--SPT|--MF|--MMF|--MBF|--SBD|--UDFROOT [--MIRROR|--PREVIOUS]
UDF 2: --UDFDIR/UDFRECORD=[PATH][filename.ext] [--ATTRIB=DF[-]H[-]0] [--CASE] [--MIRROR|--PREVIOUS]
[--MDCOPY|MDMAP=disk_num]
UDF 3: --LSN=sector|--LBN=number [--OFFSET=bytes] [--MIRROR|--PREVIOUS]
REMARKS
Maximum length of PATH (and FILE) about 510 chars
All (greyed-out) hex-offsets zero based (ECMA-119 starts at 1, so read '+1')
ISO-9660 and UDF tested up to 8GB-DVD, UDF up to 465GB-Partition (on Hard Disk)
On ISO-9660 big-endian values are read-out but only showed if exist and not equal to little-endian value
EXAMPLES
ISOINFO.G4B (hd0,0)/filename.iso
ISOINFO.G4B --ISOPVD (0xe0)
ISOINFO.G4B --UDFVDS (0xe0)
ISOINFO.G4B --RECORD=FILENAME.EXT;1 (0xe0)
ISOINFO.G4B --RECORD2=boot.catalog (0xe0)
ISOINFO.G4B --DIR2=SUBDIR/bo*.c* (0xe0)
ISOINFO.G4B --UDFRECORD=System\ Volume\ Information (hd0,0)/some.iso
ISOINFO.G4B --UDFDIR="System Volume Information/" (hd0,0)/some.iso
ISOINFO.G4B --RECORD=/.. (hd0,0)/some.iso
Version 0.7.2
BUGFIX: ISO-9660 PVD/SVD Root Directory Record always showed with HEX, bug was introduced in v0.7.1 (harmless)
Version 0.7.1
BUGFIX: last byte of 'Implementation Use Area' was not displayed (UDF)
BUGFIX: Output variable 'Rblock' wrong in case of multiple Extents (UDF)
Small Output-related changes (textual only)
NEW: view Directory Record of the root of a directory with '--RECORD[2/3][RR]=[PATH].' (ISO-9660)
NEW: view Directory Record of Parent Directory with '--RECORD[2/3][RR]=[PATH]..' (ISO-9660)
NEW: view File Identifier Descriptor and (Extended) File Entry of Parent Directory with '--UDFRECORD=[PATH]..' (UDF)
Version 0.7
First published version
Supported:
ISO-9660 (all levels), El Torito, Joliet, Rock Ridge
Unsupported:
PATH length above 510 chars
Path Table
UTF-8 characters
Extended Attributes outside System Use Area
Multi-Extent files
Interleave Gap
Supported:
All UDF-versions (v2.60 untested on optical media)
Unsupported:
PATH length above 510 chars
More than one Volume/ (real) Partition
Higher Character set's than OSTA CS0
Multi-session
Named Streams (except first System Stream)
Not-embedded Extended Attributes
WORM
Secure-UDF
ECMA 119 4th Edition / June 2019: https://ecma-international.org/wp-content/uploads/ECMA-119_4th_edition_june_2019.pdf
Clayton Summers' Introduction to ISO-9660: https://hwiegman.home.xs4all.nl/fileformats/C/cdrom/iso9660.pdf
El Torito spec: https://pdos.csail.mit.edu/6.828/2018/readings/boot-cdrom.pdf
System Use Sharing Protocol 1.12 specs: https://docplayer.net/29621206-Ieee-p1281-system-use-sharing-protocol-draft-standard-version-1-12-adopted.html
Rock Ridge 1.09 specs: http://web.archive.org/web/20230826015627/http://ftpmirror.your.org/pub/misc/bitsavers/projects/cdrom/Rock_Ridge_CD_Proposal_199108.pdf
Rock Ridge 1.10 specs: https://archive.org/details/enf_pobox_Rrip
Rock Ridge 1.12 specs: https://www.nextcomputers.org/NeXTfiles/Projects/CD-ROM/Rock_Ridge_Interchange_Protocol.pdf
https://wiki.osdev.org/ISO
https://problemkaputt.de/psxspx-cdrom-iso-volume-descriptors.htm
https://problemkaputt.de/psxspx-cdrom-iso-file-and-directory-descriptors.htm
ISO-9660 part (ppt): https://dokumen.tips/download/link/07udf-iso9660-file-system.html
El Torito info (not free): https://www.scribd.com/document/435188636/food
https://betterexplained.com/articles/unicode/
https://ultibo.org/wiki/Unit_CDFS
Date/ Time format: https://superuser.com/questions/559031/how-to-find-out-when-a-disc-dvd-has-been-written-burned
https://handwiki.org/wiki/TRANS.TBL
https://dev.lovelyhq.com/libburnia/web/wikis/Aaip
SEGA CD-XA specs: https://antime.kapsi.fi/sega/files/ST-040-R4-051795.pdf
ECMA 167 3rd edition, June 1997: https://ecma-international.org/wp-content/uploads/ECMA-167_3rd_edition_june_1997.pdf
ISO-9660/ UDF Bridge: https://ecma-international.org/wp-content/uploads/ECMA_TR-71_1st_edition_february_1998.pdf
All UDF specs: http://www.osta.org/
https://wiki.osdev.org/UDF
https://en.wikipedia.org/wiki/Universal_Disk_Format
Wenguang's Introduction to Universal Disk Format (UDF): https://web.archive.org/web/20140512230150/https://sites.google.com/site/udfintro/
About offset of Metadata Partition/ embedded directory: https://stackoverflow.com/questions/8832031/udf-filesystem-reading-bluray-metadata-partition-libdvdread-with-iso-images
https://www.rodneybeede.com/programming/understanding_the_udf_file_system_specification.html
ISO-9660/ UDF Bridge (ppt): https://dokumen.tips/download/link/07udf-iso9660-file-system.html
https://betterexplained.com/articles/unicode/
https://alt.os.development.narkive.com/PVcJX551/iso-9960-and-udf
Date/ Time format: https://superuser.com/questions/559031/how-to-find-out-when-a-disc-dvd-has-been-written-burned
https://docs.huihoo.com/doxygen/linux/kernel/3.7/osta__udf_8h_source.html
Extended File Entries: clalancette/pycdlib#94
Stream Directory: https://patentimages.storage.googleapis.com/ae/15/ca/7aa2dca80b7392/US07324740-20080129-D00046.png
https://bsdio.com/edk2/docs/master/_mde_pkg_2_include_2_industry_standard_2_udf_8h_source.html
Windows 10 quirks: https://lore.kernel.org/lkml/96e1ea00-ac12-015d-5c54-80a83f08b898@digidescorp.com/T/
Rare: http://netwinder.osuosl.org/users/a/andrewm/udf/docs/CDUDF190.pdf
ISO-9660 with various extensions: https://github.com/vdechenaux/iso-9660/tree/master/tests/fixtures
ISO-9660 with UTF8 characters: https://github.com/barneygale/isoparser/tree/master/isoparser/test
ISO-9660 with many extensions (including Apple): https://github.com/KBNLresearch/isolyzer/tree/main/testFiles
UDF 1.50-2.60 test iso's: https://sourceforge.net/p/sevenzip/patches/389/
UDF 1.02 with single file: https://sourceforge.net/p/sevenzip/bugs/964/
UDF on bluray: http://www.av-info.eu/download_dvd+bluray.html
UDF 2.01 filesystem with ISO 9660 UDFONLY.TXT: clalancette/pycdlib#94
UDF with mounttab (absolute link): https://bugs.freebsd.org/bugzilla//show_bug.cgi?id=163065
Test-iso from DVD+R with true UDF Multi-Session: https://drive.google.com/drive/folders/1qbQghX-uem0xR3Y1yx94sy-HT5Q8gRs9?usp=sharing
ISO-9660/ UDF Descriptors on Windows 10 iso
Examples of read-out of Booting Catalog to get access to FAT efi-floppy on Windows 10 iso:
DIR-function on UDF v2.50
ISO-9660: DIR functions and Directory Record with Rock Ridge Extensions
DVD+R: using previous UDF v1.50 Virtual Allocation Tables
DVD+R: using previous UDF v2.01 formatting
Using ISOINFO.G4B on GRUB4DOS for UEFI with CD (0xa0) to get access to small file (embedded in File Entry)
CD-RW: small empty UDF v2.01 Sparing Table with HEX