Use bankless symbols for VC constants

This is valid according to the .sym file spec:
<https://rgbds.gbdev.io/sym/>
This commit is contained in:
Rangi42 2024-08-04 21:13:45 -04:00
parent 77d051479b
commit 59202a2ab5
3 changed files with 9 additions and 7 deletions

View file

@ -103,12 +103,14 @@ int parse_number(const char *input, int base) {
void parse_symbol_value(char *input, int *restrict bank, int *restrict address) {
char *colon = strchr(input, ':');
if (!colon) {
error_exit("Error: Cannot parse bank+address: \"%s\"\n", input);
if (colon) {
*colon++ = '\0';
*bank = parse_number(input, 16);
*address = parse_number(colon, 16);
} else {
*bank = 0;
*address = parse_number(input, 16);
}
*colon++ = '\0';
*bank = parse_number(input, 16);
*address = parse_number(colon, 16);
}
void parse_symbols(const char *filename, struct Symbol **symbols) {

View file

@ -2,7 +2,7 @@
MACRO vc_const
DEF x = \1
PRINTLN "00:{04x:x} \1" ; same format as rgblink's .sym file
PRINTLN "{02x:x} \1" ; same format as rgblink's .sym file
ENDM
; [FPA 001 Begin]

View file

@ -2,7 +2,7 @@
MACRO vc_const
DEF x = \1
PRINTLN "00:{04x:x} \1" ; same format as rgblink's .sym file
PRINTLN "{02x:x} \1" ; same format as rgblink's .sym file
ENDM
; [FPA 001 Begin]