https://github.com/elementalhaven/gbasma
GameBoy ASM Analyzer
https://github.com/elementalhaven/gbasma
assembly gameboy utility z80
Last synced: about 1 month ago
JSON representation
GameBoy ASM Analyzer
- Host: GitHub
- URL: https://github.com/elementalhaven/gbasma
- Owner: ElementalHaven
- Created: 2022-05-19T09:02:04.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2022-10-12T09:57:22.000Z (over 3 years ago)
- Last Synced: 2025-08-24T20:37:41.198Z (10 months ago)
- Topics: assembly, gameboy, utility, z80
- Language: Java
- Homepage:
- Size: 26.4 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# GBASMA
GameBoy ASM Analyzer
This program generates a stylized view of Z80 assembly in the form of web pages from source .asm files.
Code is split up into pages for individual methods and variables with all references being precomputed.
Example output of this program can be found [here](https://ElementalHaven.github.io/GBASMAExample)
## Requirements
- JDK 8 or newer to build and Java 8 or newer to run.
- Gson. Gson 2.8.6 was used but other versions will likely work just as well.
## Usage
```
java MetaGen [-src SRCPATH] [-main MAINFILE] [-dst DSTPATH]
-src,-i,-in Use the path specified by SRCPATH as the location of ASM files
-dst,-o,-out Use the path specified by DSTPATH as the destination for
generated files
-main Generate metadata by using the file specified by MAINFILE
(resolved against SRCPATH, or the current directory if none
specified) as the main file and only generate data for it
and files included with the INCLUDE directive
-help Displays this help method and exits
```
## Limitations
- Currently only one input file can be specified. This can be circumvented by either creating
an ASM file that INCLUDEs all all relevant files or by editing the code to add additional files.
Additionally, existing hardcoded files may need to be removed from the code.
- There's a number of unsupported preprocessor statements/keywords, including DEF outside of if statements.
A number of the supported things only have partial functionality as well.
- This software was based on an understanding of z80 instructions and an existing codebase of disassembly.
In reality, it should have been based on
[the documentation for rgbasm/rgbds](https://rgbds.gbdev.io/docs/master/rgbasm.5/) instead.