I don't get why Nintendo decided to have the ROM on the end of the NES memory map rather then in the front. Wouldn't it make programming it a whole lot easier? You wouldn't have to .base to get all of the code in the right address. Another great advantage would be that you would have zero-page in the ROM. Wouldn't having that make programming a whole lot easier? All you would have to do to let's say copy a bunch of .db statements into the nametables would be this simple loop,
That would mean that you could have larger levels with less space. Maybe they thought that zero-page RAM was more important? Of course, I don't often find myself needing to copy large amounts of the same data to RAM.
Code:
.db $a bunch of numbers
Loop:
LDA $db address,X
STA $2007
INX
CPX EndPoint
BNE Loop
Loop:
LDA $db address,X
STA $2007
INX
CPX EndPoint
BNE Loop
That would mean that you could have larger levels with less space. Maybe they thought that zero-page RAM was more important? Of course, I don't often find myself needing to copy large amounts of the same data to RAM.