Page 208-211
From C64-Wiki
Jump to navigationJump to searchPage 208-211 covers the memory locations 53248-54271 ($D000-D3FF). This area is wholly reserved for the VIC-II Registers.
Addresses[edit | edit source]
Hex Address | Dec Address | Type | Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 | Contents |
---|---|---|---|---|---|---|---|---|---|---|---|
$D000 | 53248 | Register | M0X | X Coordinate Sprite 0 | |||||||
$D001 | 53249 | Register | M0Y | Y Coordinate Sprite 0 | |||||||
$D002 | 53250 | Register | M1X | X Coordinate Sprite 1 | |||||||
$D003 | 53251 | Register | M1Y | Y Coordinate Sprite 1 | |||||||
$D004 | 53252 | Register | M2X | X Coordinate Sprite 2 | |||||||
$D005 | 53253 | Register | M2Y | Y Coordinate Sprite 2 | |||||||
$D006 | 53254 | Register | M3X | X Coordinate Sprite 3 | |||||||
$D007 | 53255 | Register | M3Y | Y Coordinate Sprite 3 | |||||||
$D008 | 53256 | Register | M4X | X Coordinate Sprite 4 | |||||||
$D009 | 53257 | Register | M4Y | Y Coordinate Sprite 4 | |||||||
$D00A | 53258 | Register | M5X | X Coordinate Sprite 5 | |||||||
$D00B | 53259 | Register | M5Y | Y Coordinate Sprite 5 | |||||||
$D00C | 53260 | Register | M6X | X Coordinate Sprite 6 | |||||||
$D00D | 53261 | Register | M6Y | Y Coordinate Sprite 6 | |||||||
$D00E | 53262 | Register | M7X | X Coordinate Sprite 7 | |||||||
$D00F | 53263 | Register | M7Y | Y Coordinate Sprite 7 | |||||||
$D010 | 53264 | Register | M7X8 | M6X8 | M5X8 | M4X8 | M3X8 | M2X8 | M1X8 | M0X8 | MSBs of X coordinates |
$D011 | 53265 | Register | RST8 | ECM | BMM | DEN | RSEL | YSCROLL | Control register 1 | ||
$D012 | 53266 | Register | RASTER | Raster counter | |||||||
$D013 | 53267 | Register | LPX | Light pen X | |||||||
$D014 | 53268 | Register | LPY | Light pen Y | |||||||
$D015 | 53269 | Register | M7E | M6E | M5E | M4E | M3E | M2E | M1E | M0E | Sprite enabled |
$D016 | 53270 | Register | - | - | RES | MCM | CSEL | XSCROLL | Control register 2 | ||
$D017 | 53271 | Register | M7YE | M6YE | M5YE | M4YE | M3YE | M2YE | M1YE | M0YE | Sprite Y expansion |
$D018 | 53272 | Register | VM13 | VM12 | VM11 | VM10 | CB13 | CB12 | CB11 | - | Memory pointers |
$D019 | 53273 | Register | IRQ | - | - | - | ILP | IMMC | IMBC | IRST | Interrupt register |
$D01A | 53274 | Register | IRQ | - | - | - | ELP | EMMC | EMBC | ERST | Interrupt enabled |
$D01B | 53275 | Register | M7DP | M6DP | M5DP | M4DP | M3DP | M2DP | M1DP | M0DP | Sprite data priority |
$D01C | 53276 | Register | M7MC | M6MC | M5MC | M4MC | M3MC | M2MC | M1MC | M0MC | Sprite multicolour |
$D01D | 53277 | Register | M7XE | M6XE | M5XE | M4XE | M3XE | M2XE | M1XE | M0XE | Sprite X expansion |
$D01E | 53278 | Register | M7M | M6M | M5M | M4M | M3M | M2M | M1M | M0M | Sprite-sprite collision |
$D01F | 53279 | Register | M7D | M6D | M5D | M4D | M3D | M2D | M1D | M0D | Sprite-data collision |
$D020 | 53280 | Register | - | - | - | - | EC | Border colour | |||
$D021 | 53281 | Register | - | - | - | - | B0C | Background colour 0 | |||
$D022 | 53282 | Register | - | - | - | - | B1C | Background colour 1 | |||
$D023 | 53283 | Register | - | - | - | - | B2C | Background colour 2 | |||
$D024 | 53284 | Register | - | - | - | - | B3C | Background colour 3 | |||
$D025 | 53285 | Register | - | - | - | - | MM0 | Sprite multicolour 0 | |||
$D026 | 53286 | Register | - | - | - | - | MM1 | Sprite multicolour 1 | |||
$D027 | 53287 | Register | - | - | - | - | M0C | Sprite 0 colour | |||
$D028 | 53288 | Register | - | - | - | - | M1C | Sprite 1 colour | |||
$D029 | 53289 | Register | - | - | - | - | M2C | Sprite 2 colour | |||
$D02A | 53290 | Register | - | - | - | - | M3C | Sprite 3 colour | |||
$D02B | 53291 | Register | - | - | - | - | M4C | Sprite 4 colour | |||
$D02C | 53292 | Register | - | - | - | - | M5C | Sprite 5 colour | |||
$D02D | 53293 | Register | - | - | - | - | M6C | Sprite 6 colour | |||
$D02E | 53294 | Register | - | - | - | - | M7C | Sprite 7 colour | |||
$D02F | 53295 | Register | $FF on reading, write access ignored | Unused | |||||||
$D030 | 53296 | Register | $FF on reading, write access ignored | Unused | |||||||
$D031 | 53297 | Register | $FF on reading, write access ignored | Unused | |||||||
$D032 | 53298 | Register | $FF on reading, write access ignored | Unused | |||||||
$D033 | 53299 | Register | $FF on reading, write access ignored | Unused | |||||||
$D034 | 53300 | Register | $FF on reading, write access ignored | Unused | |||||||
$D035 | 53301 | Register | $FF on reading, write access ignored | Unused | |||||||
$D036 | 53302 | Register | $FF on reading, write access ignored | Unused | |||||||
$D037 | 53303 | Register | $FF on reading, write access ignored | Unused | |||||||
$D038 | 53304 | Register | $FF on reading, write access ignored | Unused | |||||||
$D039 | 53305 | Register | $FF on reading, write access ignored | Unused | |||||||
$D03A | 53306 | Register | $FF on reading, write access ignored | Unused | |||||||
$D03B | 53307 | Register | $FF on reading, write access ignored | Unused | |||||||
$D03C | 53308 | Register | $FF on reading, write access ignored | Unused | |||||||
$D03D | 53309 | Register | $FF on reading, write access ignored | Unused | |||||||
$D03E | 53310 | Register | $FF on reading, write access ignored | Unused | |||||||
$D03F | 53311 | Register | $FF on reading, write access ignored | Unused | |||||||
$D040-$D07F | 53312-53375 | Same as $D000-$D03F (53248-53311) | |||||||||
$D080-$D0BF | 53376-53439 | Same as $D000-$D03F (53248-53311) | |||||||||
$D0C0-$D0FF | 53440-53503 | Same as $D000-$D03F (53248-53311) | |||||||||
$D100-$D13F | 53504-53567 | Same as $D000-$D03F (53248-53311) | |||||||||
$D140-$D17F | 53568-53631 | Same as $D000-$D03F (53248-53311) | |||||||||
$D180-$D1BF | 53632-53695 | Same as $D000-$D03F (53248-53311) | |||||||||
$D1C0-$D1FF | 53696-53759 | Same as $D000-$D03F (53248-53311) | |||||||||
$D200-$D23F | 53760-53823 | Same as $D000-$D03F (53248-53311) | |||||||||
$D240-$D27F | 53824-53887 | Same as $D000-$D03F (53248-53311) | |||||||||
$D280-$D2BF | 53888-53951 | Same as $D000-$D03F (53248-53311) | |||||||||
$D2C0-$D2FF | 53952-54015 | Same as $D000-$D03F (53248-53311) | |||||||||
$D300-$D33F | 54016-54079 | Same as $D000-$D03F (53248-53311) | |||||||||
$D340-$D37F | 54080-54143 | Same as $D000-$D03F (53248-53311) | |||||||||
$D380-$D3BF | 54144-54207 | Same as $D000-$D03F (53248-53311) | |||||||||
$D3C0-$D3FF | 54208-54271 | Same as $D000-$D03F (53248-53311) |
Notes
- The bits marked with '-' are not connected and give "1" on reading.
- The registers $d01e and $d01f cannot be written and are automatically cleared on reading.
- The RES bit (bit 5) of register $d016 has no function on the VIC 6567/6569 examined as yet. On the 6566, this bit is used to stop the VIC.
- Bit 7 in register $d011 (RST8) is bit 8 of register $d012. Together they are called "RASTER" in the following. A write access to these bits sets the comparison line for the raster interrupt.