diff options
Diffstat (limited to 'mapper_add.py')
| -rwxr-xr-x | mapper_add.py | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/mapper_add.py b/mapper_add.py deleted file mode 100755 index 7092ddb..0000000 --- a/mapper_add.py +++ /dev/null @@ -1,80 +0,0 @@ -#!/usr/bin/env python3 -import sys - -def generate_mapper_files(mapper_id, submapper_id=0): - mapper_id = int(mapper_id) - submapper_id = int(submapper_id) - - # Format: mapper_<decimal>_<hexsub> - full_id = f"{mapper_id}_{submapper_id:x}" - filename = f"mapper_{full_id}" - - # Generate C file content - c_content = f"""#include "{filename}.h" - -static uint8_t {filename}_prg_rom_read(struct nes_state *state, uint32_t addr) {{ - return 0; -}} - -static void {filename}_prg_rom_write(struct nes_state *state, uint32_t addr, uint8_t value) {{ -}} - -static uint8_t {filename}_chr_read(struct nes_state *state, uint32_t addr) {{ - return 0; -}} - -static void {filename}_chr_write(struct nes_state *state, uint32_t addr, uint8_t value) {{ -}} - -static uint8_t {filename}_ciram_read(struct nes_state *state, uint32_t addr) {{ - return 0; -}} - -static void {filename}_ciram_write(struct nes_state *state, uint32_t addr, uint8_t value) {{ -}} - -static void {filename}_tick(struct nes_state *state) {{ -}} - -void {filename}_init(struct nes_state *state) {{ - state->mapper.prg_rom_read = {filename}_prg_read; - state->mapper.prg_rom_write = {filename}_prg_rom_write; - state->mapper.chr_read = {filename}_chr_read; - state->mapper.chr_write = {filename}_chr_write; - state->mapper.ciram_read = {filename}_ciram_read; - state->mapper.ciram_write = {filename}_ciram_write; - state->mapper.tick = {filename}_tick; -}} -""" - - # Generate H file content - h_content = f"""#pragma once - -struct {filename} {{ -}}; -void {filename}_init(struct nes_state *state); -""" - - # Only generate mapper ID -> init pointer - table_entry = f"""\t{{ 0x{mapper_id:x}, {filename}_init }},""" - - # Write files - with open(f"{filename}.c", "w") as f: - f.write(c_content) - - with open(f"{filename}.h", "w") as f: - f.write(h_content) - - print(f"Generated files: {filename}.c, {filename}.h") - print("\nTable entry (copy-paste this into your mapper table):") - print(table_entry) - -if __name__ == "__main__": - if len(sys.argv) < 2: - print("Usage: python3 newmapper.py <mapper_id> [submapper_id=0]") - print("Example: python3 newmapper.py 3 0 # Creates mapper_3_0.*") - sys.exit(1) - - mapper_id = sys.argv[1] - submapper_id = sys.argv[2] if len(sys.argv) > 2 else 0 - generate_mapper_files(mapper_id, submapper_id) |
