unebonnevie Posted September 11, 2015 Share Posted September 11, 2015 Hi, Below is the memory map for the 2600. So, for the ROM itself, first byte of the game's program is stored at zero address of the ROM? The Atari 2600's 6507 CPU would read the first byte of the ROM via the instruction like LDA $F000 and the RIOT chip would map that to first address (the zeroth address) of the ROM? 0000-002C TIA (Write) 0030-003D TIA (Read) 0080-00FF RIOT RAM 0280-0297 RIOT I/O, TIMER F000-FFFF ROM Quote Link to comment Share on other sites More sharing options...
alex_79 Posted September 11, 2015 Share Posted September 11, 2015 Because of the way the chips are wired and the lack of the upper address lines in the 6507, TIA, RIOT and cart addresses are mirrored several times across the 64K address space. Here you can find the full address map including all the mirrors:http://atariage.com/forums/topic/192418-mirrored-memory/?do=findComment&comment=2439795When powered on, the 6502 loads the "reset vector" (stored in locations $FFFC-$FFFB, which are in ROM) into the program counter (the internal register which holds the address of the next instruction to be fetched) and starts fetching instructions from there.So the beginning of the program can be anywhere in the ROM and it's defined by the reset vector. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.