Hey so I have been trying to convert this SNES init tutorial to HiROM
http://wiki.superfamicom.org/snes/show/ ... ES+Program
and have been facing a few issues.
So initially I did the first part of what bazz specifies here:
http://www.cs.umb.edu/~bazz/snes/wladx/loromtohirom/
and got the ROM to work. However, the other day I was trying to transfer the ROM to a chip/PCB and opened up SNESRomUtil to SwapBin the ROM and got an error. The ROM will show up as a HiROM game, as a "good" ROM in every emulator I have (ZSNES, NO$SNS, SNES9X, BSNES).
When I change all the bank definitions to .ORG to $0000, the SNESRomUtil understands I have a HiROM game however the ROM will not work (black screen) and shows up as a "bad ROM" in the emulators mentioned above
I have tried what bazz recommends (using the .BASE $40 directive), but I'm not really getting anything with that either. Do I have to add a colon to every subroutine call? Do I have to add a .BASE $40 to every label?
When I look at the ROM in a hex editor things seem to check out (the header is at $FFC0, all the interrupt vectors look okay, the byte that designates the memory map is $21) , despite that, it seems like the code is never getting to the reset vector, I'm not sure the best way to "step through" the code...but when I reset it does not go to SEI, the first opcode at the reset vector. Is there a hopefully dumb explanation as to why this might happen, $FFCO is still in the same "bank" (as far as the 65816 64K bank definition is concerned), do I have to do something to make it get to the reset vector?
(sorry if I am saying anything that is obviously incorrect, I have been reading a lot of 65816 info where a "bank" is defined as 64K bytes and all the SNES stuff indicates a bank as 32K bytes).
http://wiki.superfamicom.org/snes/show/ ... ES+Program
and have been facing a few issues.
So initially I did the first part of what bazz specifies here:
http://www.cs.umb.edu/~bazz/snes/wladx/loromtohirom/
and got the ROM to work. However, the other day I was trying to transfer the ROM to a chip/PCB and opened up SNESRomUtil to SwapBin the ROM and got an error. The ROM will show up as a HiROM game, as a "good" ROM in every emulator I have (ZSNES, NO$SNS, SNES9X, BSNES).
When I change all the bank definitions to .ORG to $0000, the SNESRomUtil understands I have a HiROM game however the ROM will not work (black screen) and shows up as a "bad ROM" in the emulators mentioned above
I have tried what bazz recommends (using the .BASE $40 directive), but I'm not really getting anything with that either. Do I have to add a colon to every subroutine call? Do I have to add a .BASE $40 to every label?
When I look at the ROM in a hex editor things seem to check out (the header is at $FFC0, all the interrupt vectors look okay, the byte that designates the memory map is $21) , despite that, it seems like the code is never getting to the reset vector, I'm not sure the best way to "step through" the code...but when I reset it does not go to SEI, the first opcode at the reset vector. Is there a hopefully dumb explanation as to why this might happen, $FFCO is still in the same "bank" (as far as the 65816 64K bank definition is concerned), do I have to do something to make it get to the reset vector?
(sorry if I am saying anything that is obviously incorrect, I have been reading a lot of 65816 info where a "bank" is defined as 64K bytes and all the SNES stuff indicates a bank as 32K bytes).