Menu

#5 Cannot open HFS CD-ROM images with filenames in Japanese Mac OS encoding

HFSExplorer
closed
None
5
2021-09-25
2021-09-23
No

Cannot open HFS CD-ROM images with filenames in Japanese Mac OS encoding.

Example CD-ROM images: https://archive.org/search.php?query=creator%3A%22BNN+%28Bug+News+Network%29%22

Discussion

  • Erik Larsson

    Erik Larsson - 2021-09-23

    Hi,

    Can the images not be opened at all or can they be opened but the filenames aren't decoded properly? If they can't be opened at all, then could you please copy the output in File->Debug console after attempting to open an image and then paste it here?

    • Erik
     
  • Erik Larsson

    Erik Larsson - 2021-09-23

    Hi,

    I downloaded an image to experiment a bit and I got it working somewhat quickly. The latest state of the 'proposed' branch in github has the changes:
    https://github.com/unsound/hfsexplorer/tree/proposed

    This is what I'm getting for MACLIFE44.ISO when selecting the MacJapanese encoding (see screenshot):

     
  • Matt Sephton

    Matt Sephton - 2021-09-24

    Sorry I have only had time to respond to your earlier message just now.

    That listing looks quite correct! Many thanks.

    As you have found out that particular ISO opens but with incorrect encoding, as do all the others in that collection it seems.

    I have been trying others that have a different problem. Just uploaded one, though I have many more affected like this: https://archive.org/details/maclife-kanjitalk-75

    Screenshot of directory structure as mounted in System 7 is attached.

    Second screenshot shows ISO Buster listing the HFS partition.

    In HFSExplorer: the Partition map is found, then I get "could not open file".

    ISO details:

    MACLIFE-KT75.ISO: Apple Driver Map, blocksize 512, blockcount 660064, devtype 0, devid 0, driver count 0, contains[@0x200]: Apple Partition Map, map block count 2, start block 1, block count 2, name Aplix CDWriter/DiscManager 1.00, type Apple_partition_map, valid, allocated, readable, contains[@0x400]: Apple Partition Map, map block count 2, start block 64, block count 660000, name MACLIFE 1995?N1????, type Apple_HFS, valid, allocated, readable

    Debug log below...

    Trying to detect CEncryptedEncoding structure...
    CEncryptedEncoding structure not found. Proceeding...
    Detecting sparseimage structure...
    Trying to detect UDIF structure...
    UDIF structure not found. Proceeding...
    Could not open file! Exception thrown:
    java.lang.RuntimeException: length undefined and offset != 0 (fsLength=0 fsOffset=32768)
        at org.catacombae.hfsexplorer.FileSystemBrowserWindow.loadFS(FileSystemBrowserWindow.java:1084)
        at org.catacombae.hfsexplorer.FileSystemBrowserWindow.loadFSWithUDIFAutodetect(FileSystemBrowserWindow.java:880)
        at org.catacombae.hfsexplorer.FileSystemBrowserWindow.loadFSWithUDIFAutodetect(FileSystemBrowserWindow.java:735)
        at org.catacombae.hfsexplorer.FileSystemBrowserWindow$4.actionPerformed(FileSystemBrowserWindow.java:312)
        at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
        at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
        at javax.swing.AbstractButton.doClick(Unknown Source)
        at javax.swing.AbstractButton.doClick(Unknown Source)
        at javax.swing.plaf.basic.BasicMenuItemUI$Actions.actionPerformed(Unknown Source)
        at javax.swing.SwingUtilities.notifyAction(Unknown Source)
        at javax.swing.JComponent.processKeyBinding(Unknown Source)
        at javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(Unknown Source)
        at javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(Unknown Source)
        at javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(Unknown Source)
        at javax.swing.JMenuBar.processKeyBinding(Unknown Source)
        at javax.swing.KeyboardManager.fireBinding(Unknown Source)
        at javax.swing.KeyboardManager.fireKeyboardAction(Unknown Source)
        at javax.swing.JComponent.processKeyBindingsForAllComponents(Unknown Source)
        at javax.swing.JComponent.processKeyBindings(Unknown Source)
        at javax.swing.JComponent.processKeyEvent(Unknown Source)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
        at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
        at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
        at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
        at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$500(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
    
     

    Last edit: Matt Sephton 2021-09-24
  • Matt Sephton

    Matt Sephton - 2021-09-24

    I have heavily edited the previous post.

     
  • Erik Larsson

    Erik Larsson - 2021-09-25
    • status: open --> closed
    • assigned_to: Erik Larsson
     
  • Erik Larsson

    Erik Larsson - 2021-09-25

    Closing this ticket as the original issue was addressed and further discussion was moved to github ticket 15: https://github.com/unsound/hfsexplorer/issues/15