retroenv / nesgodisasm

Nintendo Entertainment System ROM disassembler written in Golang
Apache License 2.0
14 stars 2 forks source link

Unsupported assembler '' #81

Closed SmokedSeaBass closed 3 months ago

SmokedSeaBass commented 3 months ago

Describe the bug Disassembling a Super Mario Bros. 3 (U) (PRG1) ROM fails with an error stating that assembler '' is unsupported. Explicitly specifying an installed assembler (nesasm, ca65, asm6f) does not seem to have an effect.

To Reproduce Steps to reproduce the behavior (used ROM filename/CRC32 and command-line parameters):

  1. Acquire an Super Mario Bros. 3 (U) (PRG1) ROM "smb3.nes"
  2. Run command nesgodisasm smb3.nes -o smb3.asm or nesgodisasm smb3.nes -a ca65 -o smb3.asm

Expected behavior The SMB3 ROM is disassembled using the ca65 assembler and output as "smb3.asm".

System (please complete the following information):

Additional context No matter what assembler is specified, the log always reports INFO Processing ROM {"file":"smb3.nes","mapper":4,"assembler":""}.

SmokedSeaBass commented 3 months ago

This doesn't seem to be ROM-specific; I tested and encountered the same issue with a SMB1 ROM.

cornelk commented 3 months ago

Thanks for your detailed bug report, the solution to this issues is to pass the filename to disassemble last:

nesgodisasm -o smb3.asm smb3.nes

The next version will detect this and show an error message if passed in the wrong order.