Skip to content

Meta Data Handling #7

@oliverschmidt

Description

@oliverschmidt

Hi,

I've pointing out the below several times in the past so in case it bothers you please just close this issue but I thought I'd give it another try here...

There are from my POV several options on how to transport meta data from a cross dev tool that produces Apple II files in some foreign filesystem (like Merlin32) to a tool that incorporates the files into a ProDOS / GS/OS filesystem (like Cadius):

  1. Sidecar file (like _FileInformation.txt):
    The lifecycle of the file doesn't match the lifecycle of the main file. It gets forgotten when copying/moving the main file. It doesn't get deleted when the main file is deleted.

  2. Filename extension:
    The name of the file changes when e.g. the load address of a plain BIN file is changed in its source code.

    2.1 Either the extended filename is part of the Makefile, then the Makefile needs to be adjusted. Given that the Cadius-like tool is most likely called from within Makefiles this means that there is no real gain over command line arguments for providing the meta data in the first place.

    2.2 Or the extended filename is not part of the Makefile but replaced with some $(wildcard) "hack". Then it gets pretty ugly when the Makefile is supposed to know the time stamp of that file to construct the right order of re-build commands.

  3. Proprietary foreign filesystem features:
    MacOS HFS+, Windows Alternate Datastreams, Linux XATTR etc. for sure allow to transport the meta data from the dev tool to the Cadius-like tool - if and only if they both run on the same filesystem. But as soon as it comes to sending a file to someone else, moving it to another filesystem, uploading it to some cloud space, putting it into an archive, <...> the meta data is lost.

  4. Proprietary file header:
    The dev tools and the Cadius-like tools should agree on a common format to allow for interoperability.

From my POV the last option is in fact the only really viable option!

So I'd say if we agree on some proprietary file header and ...

  • You implement it both in Merlin32 and Cadius

  • I implement it in cc65

  • I talk to the AppleCommander and Exomizer authors to have it implemented

... then we have for sure the momentum to create a standard and have this issue solved once for all!

Just my two cents,
Oliver

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions