Jump to content
IGNORED

Session 5: Memory Architecture


Recommended Posts

so writing for instance to 0x30 has the same effect as writing to 0x00 (both locations are the VSYNC register).

575204[/snapback]

 

I wouldn't be terribly surprised if $0030-$003F map back to $0000-$000F, but I would expect that $0040-$005F would map to $0000-$001F [rather than to $0010-$002F as your diagram would suggest]

866984[/snapback]

Look here for complete 2600 mirror charts: http://www.atariage.com/forums/index.php?s...ndpost&p=847985

Link to comment
Share on other sites

  • 1 year later...

I'd like some feedback on this. How many people are following this, and how many of those want more?

It is only to keep you up to the fact that I read your tutorial and that if you want I can give you some feedback. Your good work give me confidence in writing games for the 2600... I am not new in the programming world :-) But addressing the 2600 is a kind of challenge... Thanks again...

Link to comment
Share on other sites

  • 6 years later...
  • 5 years later...

Hate to revive such an old thread, but I was using this and a reference, but something seems wrong:

$0200-022F [shadow] TIA

Isn't this
0x0200 - 0x02FF RIOT registers ?


Atari 2600 Memory Map:
----------------------
$0000-002F TIA Primary Image
$0030-005F [shadow] TIA
$0060-007F [shadow-partial] TIA
$0080-00FF 128 bytes of RAM Primary Image (zero page image)
$0100-002F [shadow] TIA
$0130-005F [shadow] TIA
$0160-017F [shadow-partial] TIA
$0180-01FF [shadow] 128 bytes of RAM (CPU stack image)
$0200-022F [shadow] TIA
$0230-025F [shadow] TIA
$0260-027F [shadow-partial] TIA
$0280-029F 6532-PIA I/O ports and timer Primary image
$02A0-02BF [shadow] 6532-PIA
$02C0-02DF [shadow] 6532-PIA
$02D0-02FF [shadow] 6532-PIA
$0300-032F [shadow] TIA
$0330-035F [shadow] TIA
$0360-037F [shadow-partial] TIA
$0380-039F [shadow] 6532-PIA
$03A0-03BF [shadow] 6532-PIA
$03C0-03DF [shadow] 6532-PIA
$03E0-03FF [shadow] 6532-PIA
$0400-07FF [shadow] Repeat the pattern from $0000-03FF
$0800-0BFF [shadow] Repeat the pattern from $0000-03FF
$0C00-0FFF [shadow] Repeat the pattern from $0000-03FF

$1000-17FF Lower 2K Cartridge ROM (4K carts start here)
$1800-1FFF Upper 2K Cartridge ROM (2K carts go here)


Link to comment
Share on other sites

Hmmm... quite a necro-bump. But since I was already looking at the schematics, I figured I'd answer it. That chart is a little confusing.

 

TIA is selected whenever both address bits A7 and A12 are low, so address < $1000, and low byte $00-$7F... TIA doesn't use address bit A6, so the TIA is at $00-$3F and mirrored at $40-$7F.

 

RIOT is selected whenever address bit A7 is high and A12 is low, so address < $1000, and low byte $80-$FF. RAM is selected when address bit A9 is low, so when the high byte is $00 or $01.

 

$0000-$007F - TIA

$0080-$00FF - RIOT - RAM

$0100-$017F - TIA

$0180-$018F - RIOT - RAM

$0200-$027F - TIA

$0280-$02FF - RIOT - IO

$0300-$037F - TIA

$0380-$03FF - RIOT - IO

 

Then this layout is mirrored 3 more times:

$0400-$07FF

$0800-$0BFF

$0C00-$0FFF

 

Hopefully this clarifies what's going on.

Link to comment
Share on other sites

Right, it makes sense, but what about the original post by Andrew Davie:

$0000 - $007F TIA registers
$0080 - $00FF RAM
$0200 - $02FF RIOT registers
$1000 - $1FFF ROM


How can $0200 be both RIOT and TIA ?


Should the $0200 be $0280 ?

Reason I necro-bumped was speccing a new circuit, and wanted to make sure I wasn't doing something wrong from the get-go.

Thanks.



Edited by rbairos
Link to comment
Share on other sites

I agree with Nukey Shay... it's definitely a typo in the original post... Andrew actually has the correct info elsewhere in the original post:

 

 

,,, but TIA registers are mapped in the memory addresses 0 to $7F, RIOT (a bit of '2600 hardware we'll look at later) from $280 - $2FF (roughly), and our program is mapped into address range $1000 to $1FFF (a 4K size).

 

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