Jump to content
IGNORED

Atari 2600 Memory map and the ROM


unebonnevie

Recommended Posts

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

 

 

Link to comment
Share on other sites

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=2439795

When 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.

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...