Looking into "Wikipedia" I have learned that 6507 only had 13 address pins for 8K of memory and was lacking the interrupt functions but otherwise was identical to 6502. A part of this 8K address space was mapped into the "game cartridge" where the "game application program" was resident.
To my understanding this must mean that the top of the address space,
???? - $1FFF
was ROM with reset vector either in $1FFC,$1FFD (as for 6502) or in $1FFE,$1FFF (no IRQ or NMI). Programming a game then means (re)programming the cartridge (what hardware is needed for this) while the operating system in ???? - $1FFF never is touched!
wstjohn's
Code:
*= $FFFA
.word Start ; NMI
.word Start ; RESET
.word Start ; IRQ
therefore has no meaning. The top of the memory is $1FFF and the ROM in ???? - $1FFF is of no concern for the game developer, he only deals with the cartridge area in the lower part of the memory, $0000 - ????-1
Execution must then start in the operation system resident in ROM and the game starts with a JSR or a JMP statement to the cartridge entry when the the start-up sequence has terminated. As there is no IRQ the application program resident in the cartridge must then actively pass control to operating system services (user/TV interface) by JSR to system routines in ROM.
Is this correct?