Hiya folks, maybe somebody can shed some light on something for me. I had an idea today for running smaller roms via a single eeprom, using ram in place of the CHR rom, saving me from having to program two different chips. To test my idea, I've been patching a copy of the Japanese version of Galaga (16kb PRG) to include the CHR rom in the PRG rom, which will be copied into the CHR ram on execution by replacing the reset vector with my own. But along the way, I had a little hurdle.
The problem revolves around my use of: lda ($00),y
Whenever I use this in my code during the transfer process, the assembler generates the opcode $B9, when it really should be producing $B1. $B9 is "LDA $aaaa,Y", which obviously has a much different effect, and was the reason for my hour long head scratching!
Using ".db $b1,$00" works like a charm, btw, so this is how I know my code is good to go. The CHR rom transfered over and it jmp'd to the real reset vector, and I was playing Galaga from a single rom.
So as much as I like NESASM, does anyone else know of the problem I've come across? Are there other opcodes it generates incorrectly as well? Am I, unfortunately, going to have to use a totally different assembler? I haven't been using it for too long, and since I'm fairly new around here, I figured that made me newbie-qualified to ask in this section. Thanks in advance!
The problem revolves around my use of: lda ($00),y
Whenever I use this in my code during the transfer process, the assembler generates the opcode $B9, when it really should be producing $B1. $B9 is "LDA $aaaa,Y", which obviously has a much different effect, and was the reason for my hour long head scratching!
Using ".db $b1,$00" works like a charm, btw, so this is how I know my code is good to go. The CHR rom transfered over and it jmp'd to the real reset vector, and I was playing Galaga from a single rom.
So as much as I like NESASM, does anyone else know of the problem I've come across? Are there other opcodes it generates incorrectly as well? Am I, unfortunately, going to have to use a totally different assembler? I haven't been using it for too long, and since I'm fairly new around here, I figured that made me newbie-qualified to ask in this section. Thanks in advance!