Load custom symbols in GDB for Game Boy (RGBDS)

Mads Ynddal <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>
Hi,

I’m in the process of implementing GDB remote serial protocol in my Game Boy
emulator PyBoy. I have a rudimentary setup working, and can step instructions,
add breakpoints given an address, continue execution, display memory etc.

The biggest challenge is loading symbols from the RGBDS assembler/linker package
for the Game Boy Z80 variant (not to be confused with the "gbz80" platform from
GNU Assembler). RGBDS outputs its own .sym file-format like this mock-up:

; File generated by rgblink
00:0000 main
00:0006 main.erase
00:0015 main.memcpy
...
01:00d3 main.B2
02:00db main.O
10:00e3 main.Y2
1b:00fc exit

The first digits of each line is the ROM/RAM bank number, and after the colon,
the 16-bit memory address, then a space and the label for this location.

What would be the easiest way to get GDB to load these symbols? Would a Python
extension for GDB help?

And does GDB support ROM/RAM banks? I.e. displaying memory from a specific ROM
bank, or add a breakpoint to specific bank+address.

Best regards,
—
Mads Ynddal
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.