Looking for help with NROM flashing using INL Retro Program

Are you new to 6502, NES, or even programming in general? Post any of your questions here. Remember - the only dumb question is the question that remains unasked.

Moderator: Moderators

Post Reply
User avatar
Kiro
Posts: 2
Joined: Tue Apr 30, 2019 3:01 am

Looking for help with NROM flashing using INL Retro Program

Post by Kiro » Tue Apr 30, 2019 3:12 am

Hi All,

I've been tinkering on a project for a while and learning to code for the NES while porting a classic DOS game.
I've since received an INL Retro Programmer/Dumper (the new version, not Kazzo) and I am trying to flash my NROM game onto one of the INL NROM carts. Problem is the data that ends up on the flash cart won't work in my NES.

I've had a dig through the data I can dump off the cart after I've flashed it and then used the dump and verify methods. The data dumped from the cart seems mostly fine, it at least ends up on there. A curious difference though is the data for the reset vectors, which is in my master ROM (and prg/chr files) but doesn't end up in the data I dump from the cart after the flash.
I feel like it needs to be in there because if I manually add the missing reset vector data to the dumped file and then just add the iNES header the resulting file will work fine in an emulator as expected.

Are there any issues with the new flashing software for NROM carts using the new INL programmer or is it just me and my linker memory map? Does the linker memory map for ld65 even affect this or am I looking in the wrong place?

User avatar
Kiro
Posts: 2
Joined: Tue Apr 30, 2019 3:01 am

Re: Looking for help with NROM flashing using INL Retro Prog

Post by Kiro » Thu May 02, 2019 10:16 pm

So I think it is my memory map for ca65/ld65.

I'm using this one based off tepples example. I'm trying to use the full 32k (256) NROM space for my PRG. I don't think I've mapped it right, what am I doing wrong?

Code: Select all

# CA65 configuration script for NROM

MEMORY {
  ZP:       start = $00, size = $100, type = rw;
  # use first $10 zeropage locations as locals
  HEADER:   start = $0000, size = $0010, type = ro, file = %O, fill=yes, fillval=$00;
  STACK:    start = $0100, size = $100, file=%O;
  OAM:      start = $0200, size = $100, file=%O;
  RAM:      start = $0300, size = $0500, type = rw;
  ROM7:     start = $8000, size = $8000, type = ro, file = %O, fill=yes, fillval=$FF;
  CHRROM:   start = $0000, size = $2000, type = ro, file = %O, fill=yes, fillval=$FF;
}

SEGMENTS {
  HEADER:  load = HEADER, type = ro, align = $10;
  ZEROPAGE: load = ZP, type = zp;
  RAM:      load = RAM, type = bss, define = yes, align = $100;
  DMC:      load = ROM7, type = ro, align = 64, optional = yes;
  CODE:     load = ROM7, type = ro, align = $100;
  RODATA:   load = ROM7, type = ro, align = $100;
  VECTORS:  load = ROM7, type = ro, start = $FFFA;
  CHR:      load = CHRROM, type = ro, align = 16, optional = yes;
}

FILES {
  %O: format = bin;
}

lidnariq
Posts: 9025
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Looking for help with NROM flashing using INL Retro Prog

Post by lidnariq » Thu May 02, 2019 10:29 pm

If your game works correctly in multiple different emulators (e.g. Nestopia, puNES, Mesen, Nintendulator) it's most likely a problem with the programmer and/or cart instead of the data you tried to put in it.

User avatar
gauauu
Posts: 673
Joined: Sat Jan 09, 2016 9:21 pm
Location: Central Illinois, USA
Contact:

Re: Looking for help with NROM flashing using INL Retro Prog

Post by gauauu » Fri May 03, 2019 8:49 am

Just to verify -- are you stripping off the 16-byte nes header from the rom before flashing it to the cart?

Post Reply