Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Specify the symbol file format #37

Merged
merged 1 commit into from
Sep 16, 2022
Merged

Specify the symbol file format #37

merged 1 commit into from
Sep 16, 2022

Conversation

ISSOtm
Copy link
Member

@ISSOtm ISSOtm commented Jun 18, 2022

Closes gbdev/rgbds#483 at least for now; as noted, the .map file format is intentionally not specified for the time being.


## Purpose & Context

Game Boy ROM files contain pure binary data, but no metadata.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"metadata" is quite a confusing term in this context and I don't think I've ever seen it used to explain what a symbol table is. Review also https://en.wikipedia.org/wiki/Symbol_table

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried to say that Game Boy ROMs are raw binary dumps with no extra info, including a symbol table.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried to say that Game Boy ROMs are raw binary dumps with no extra info, including a symbol table.

This is already more clear than just "no metadata"

Copy link
Member

@aaaaaa123456789 aaaaaa123456789 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few notes, some more important than others.

The symbol name can contain any characters except ASCII spaces, tabs, non-printable ASCII characters, or characters excluded by earlier processing (e.g. semicolons).
A symbol whose name does not contain any periods (`.`, U+002E) is a **global symbol**.
If a symbol's name contains exactly one period, it is a **local symbol**; the portion up to but not including the period is the **global portion**, the rest is the **local portion**; neither shall be empty.
A symbol with two or more periods in its name shall be processed in an implementation-defined manner, which may include rejecting or ignoring it.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Define this. No reason not to.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, what should it be defined to, then?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Whatever you want RGBASM to do with such a symbol in the future, even if it's not implemented today.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

...which involves a lot of moving parts that I don't want to design ahead of time.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's really only deciding what it will mean. Will Foo.bar.baz be a local for Foo.bar, for Foo, or both? I'd say "both" is the ideal answer. If so, just specify so. RGBDS can support it in 10 years if it need be.

@ISSOtm ISSOtm requested a review from aaaaaa123456789 June 27, 2022 20:48

## Purpose & Context

Game Boy ROM files contain pure binary data, but no metadata.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried to say that Game Boy ROMs are raw binary dumps with no extra info, including a symbol table.

This is already more clear than just "no metadata"

Closes gbdev/rgbds#483 at least for now; as noted,
the `.map` file format is intentionally not specified for the time being.

Co-authored-by: Rangi <[email protected]>
Co-authored-by: aaaaaa123456789 <[email protected]>
@ISSOtm ISSOtm requested review from avivace, aaaaaa123456789 and Rangi42 and removed request for aaaaaa123456789 September 3, 2022 17:32
@ISSOtm ISSOtm merged commit 0980a9c into gbdev:master Sep 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Specify the sym and map file formats
4 participants