[stella] 2600 Memory Map & Question

Subject: [stella] 2600 Memory Map & Question
From: Glenn Saunders <cybpunks@xxxxxxxxxxxxx>
Date: Wed, 21 Jun 2000 00:25:02 -0700
Corrections welcome:


<INTERNAL MEMORY> <BEGIN PAGE 0> Write Address Registers (located inside TIA?)

Addr Assy Name Bits Used Function

00      Vsync           0000 00x0       Vertical Sync Set-Clear
01      Vblank          xx00 00x0       Vertical Blank Set-Clear
02      Wsync           ---- ----       Wait for Horizontal Blank
03      Rsync           ---- ----       Reset Horizontal Sync Counter
04      Nusiz0          00xx 0xxx       Number-Size player/missle 0
05      Nusiz1          00xx 0xxx       Number-Size player/missle 1
06      Colup0          xxxx xxx0       Color-Luminance Player 0
07      Colup1          xxxx xxx0       Color-Luminance Player 1
08      Colupf          xxxx xxx0       Color-Luminance Playfield
09      Colubk          xxxx xxx0       Color-Luminance Background
0A      Ctrlpf          00xx 0xxx       Control Playfield, Ball, Collisions
0B      Refp0           0000 x000       Reflection Player 0
0C      Refp1           0000 x000       Reflection Player 1
0D      Pf0             xxxx 0000       Playfield Register Byte 0
0E      Pf1             xxxx xxxx       Playfield Register Byte 1
0F      Pf2             xxxx xxxx       Playfield Register Byte 2
10      Resp0           ---- ----       Reset Player 0
11      Resp1           ---- ----       Reset Player 1
12      Resm0           ---- ----       Reset Missle 0
13      Resm1           ---- ----       Reset Missle 1
14      Resbl           ---- ----       Reset Ball
15      Audc0           0000 xxxx       Audio Control 0
16      Audc1           0000 xxxx       Audio Control 1
17      Audf0           000x xxxx       Audio Frequency 0
18      Audf1           000x xxxx       Audio Frequency 1
19      Audv0           0000 xxxx       Audio Volume 0
1A      Audv1           0000 xxxx       Audio Volume 1
1B      Grp0            xxxx xxxx       Graphics Register Player 0
1C      Grp1            xxxx xxxx       Graphics Register Player 1
1D      Enam0           0000 00x0       Graphics Enable Missle 0
1E      Enam1           0000 00x0       Graphics Enable Missle 1
1F      Enabl           0000 00x0       Graphics Enable Ball
20      Hmp0            xxxx 0000       Horizontal Motion Player 0
21      Hmp1            xxxx 0000       Horizontal Motion Player 1
22      Hmm0            xxxx 0000       Horizontal Motion Missle 0
23      Hmm1            xxxx 0000       Horizontal Motion Missle 1
24      Hmbl            xxxx 0000       Horizontal Motion Ball
25      Vdelp0          0000 000x       Vertical Delay Player 0
26      Vdelp1          0000 000x       Vertical Delay Player 1
27      Vdelbl          0000 000x       Vertical Delay Ball
28      Resmp0          0000 00x0       Reset Missle 0 to Player 0
29      Resmp1          0000 00x0       Reset Missle 1 to Player 1
2A      Hmove           ---- ----       Apply Horizontal Motion
2B      Hmclr           ---- ----       Clear Horizontal Move Registers
2C      Cxclr           ---- ----       Clear Collision Latches

Read Address Registers (located inside TIA?)

                                                        bit 6   bit 7
00       Cxm0p           xx00 0000       Read Collision  M0-P1   M0-P0
01       Cxm1p           xx00 0000                       M1-P0   M1-P1
02       Cxp0fb          xx00 0000                       P0-PF   P0-BL
03       Cxp1fb          xx00 0000                       P1-PF   P1-BL
04       Cxm0fb          xx00 0000                       M0-PF   M0-BL
05       Cxm1fb          xx00 0000                       M1-PF   M1-BL
06       Cxblpf          x000 0000                       BL-PF   -----
07       Cxppmm          xx00 0000                       P0-P1   M0-M1
08       Inpt0           x000 0000       Read Pot Port 0
09       Inpt1           x000 0000       Read Pot Port 1
0A       Inpt2           x000 0000       Read Pot Port 2
0B       Inpt3           x000 0000       Read Pot Port 3
0C       Inpt4           x000 0000       Read Input (Trigger) 0
0D       Inpt5           x000 0000       Read Input (Trigger) 1

RIOT Memory Map
80-FF                                   128 bytes FREE Ram

</PAGE 0>

<PAGE 1>
180-1FF			128 bytes FREE RAM (used primarily as 6507 stack)
</PAGE 1>

RIOT Hardware registers
280     Swcha                           Port A data register (joysticks...)
281     Swacnt                          Port A data direction register (DDR)
282     Swchb                           Port B data (console switches)
283     Swbcnt                          Port B DDR
284     Intim                           Timer output

294     Tim1t                           set 1 clock interval
295     Tim8t                           set 8 clock interval
296     Tim64t                          set 64 clock interval
297     T1024t                          set 1024 clock interval
                                                these are also at 380-397
</INTERNAL MEMORY>
-----------------------------------------------------------------------------------------------
<EXTERNAL MEMORY>
Atari 2600      ROM Memory Map

E000-FFFF                             8K Rom
(shouldn't this be EFFF-FFFF?  this is an 8K range above)

1000-1FFF			4K Rom (mirror)
3000-3FFF			4K Rom (mirror)
</EXTERNAL MEMORY>


I am curious about something here. The 6507 has a 13-bit address bus. This comes out to 8192 bytes linear addressable. Don't these hex values jump around too much to fit within that address space?



Glenn Saunders - Producer - Cyberpunks Entertainment Personal homepage: http://www.geocities.com/Hollywood/1698 Cyberpunks Entertainment: http://cyberpunks.uni.cc


-- Archives (includes files) at http://www.biglist.com/lists/stella/archives/ Unsub & more at http://www.biglist.com/lists/stella/

Current Thread