Path: utzoo!hoptoad!daisy!wyse!vsi1!ames!mailrus!wmich!wmu-cs!dodgson From: dodgson@cs.wmich.edu (Harry Dodgson) Newsgroups: alt.sources Subject: Re: Atari 2600 programming Summary: Memory Map of the VCS Keywords: VCS, Atari, video games Message-ID: <405@cs.wmich.edu> Date: 27 Jan 89 17:11:45 GMT References: <403@cs.wmich.edu> Organization: Western Michigan Univ. CS Dept., Kalamazoo, MI Lines: 96 Atari 2600 Stella Memory Map Write Address Registers 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 bit 6 bit 7 0 Cxm0p xx00 0000 Read Collision M0-P1 M0-P0 1 Cxm1p xx00 0000 M1-P0 M1-P1 2 Cxp0fb xx00 0000 P0-PF P0-BL 3 Cxp1fb xx00 0000 P1-PF P1-BL 4 Cxm0fb xx00 0000 M0-PF M0-BL 5 Cxm1fb xx00 0000 M1-PF M1-BL 6 Cxblpf x000 0000 BL-PF ----- 7 Cxppmm xx00 0000 P0-P1 M0-M1 8 Inpt0 x000 0000 Read Pot Port 0 9 Inpt1 x000 0000 Read Pot Port 1 A Inpt2 x000 0000 Read Pot Port 2 B Inpt3 x000 0000 Read Pot Port 3 C Inpt4 x000 0000 Read Input (Trigger) 0 D Inpt5 x000 0000 Read Input (Trigger) 1 Atari 2600 RIOT Memory Map 80-FF Ram also at 180-1FF 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 Atari 2600 ROM Memory Map E000-FFFF Rom also 1000-1FFF 3000-3FFF .... -- Harry Dodgson Jr. Internet: dodgson@cs.wmich.edu Western Michigan University Computer Science Department Voice: (616) 387-5803 Kalamazoo, MI 49008