-
Notifications
You must be signed in to change notification settings - Fork 7
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
Conversation
src/pages/sym.mdx
Outdated
|
||
## Purpose & Context | ||
|
||
Game Boy ROM files contain pure binary data, but no metadata. |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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"
There was a problem hiding this 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. |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
src/pages/sym.mdx
Outdated
|
||
## Purpose & Context | ||
|
||
Game Boy ROM files contain pure binary data, but no metadata. |
There was a problem hiding this comment.
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]>
Closes gbdev/rgbds#483 at least for now; as noted, the
.map
file format is intentionally not specified for the time being.