Page 208-211

From C64-Wiki
Jump to navigationJump to search

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