Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
ANTIC
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== DMACTL $D400 Write === SHADOW: SDMCTL $022F Direct Memory Access (DMA) Control {| class="wikitable" |- ! Bit 7 !! Bit 6 !! Bit 5 !! Bit 4 !! Bit 3 !! Bit 2 !! Bit 1 !! Bit 0 |- | - || - || Display List DMA || Player Missile Resolution || Player DMA || Missile DMA || Playfield Width || Playfield Width |} DMACTL controls ANTIC's DMA behavior for the Playfield and Player-Missile ([[Sprite (computer graphics)|sprite]]) graphics. '''Playfield Width''' bit values: {| class="wikitable" |- ! Playfield Width Bits [1:0] !! Description !! Size |- | 0 0 = $00 || Disable playfield || |- | 0 1 = $01 || Narrow playfield || 128 color clocks/256 high-res pixels |- | 1 0 = $02 || Normal playfield || 160 color clocks/320 high-res pixels |- | 1 1 = $03 || Wide playfield || 192 color clocks/384 high-res pixels |} Also see Display List DMA bit regarding Playfield display. '''Player/Missile DMA''' bits values: {| class="wikitable" |- ! Player/Missile DMA Bits [3:2] !! Description |- | 0 0 = $00 || Disable Player and Missile DMA |- | 0 1 = $04 || Enable Missile DMA |- | 1 0 = $08 || Enable Player DMA |- | 1 1 = $0C || Enable Player and Missile DMA |} ANTIC's Player/Missile DMA feature reads bytes from memory and delivering data to update [[CTIA and GTIA|CTIA/GTIA]]'s GRAFP0, GRAFP1, GRAFP2, GRAFP3, and GRAFM graphics pattern registers relieving the CPU from creating Player/Missile ([[Sprite (computer graphics)|sprite]]) graphics. These bits turn on ANTIC's transmission of Player data and Missile data to CTIA/GTIA. CTIA/GTIA must also be configured to receive the data via its [[CTIA and GTIA#GRACTL $D01D Write|GRACTL]] register in order for Player/Missile DMA to function as expected. When Player DMA is enabled, Missile DMA automatically occurs to keep the DMA timing consistent, but the data is not delivered to the Missile's GRAFM register. When enabled, Player/Missile DMA occurs on every scan line in the visible display—from scan line 8 to 247. Therefore, the Player/Missile data in the memory map (see ANTIC's [[ANTIC#PMBASE $D407 Write|PMBASE]]) above and below those scan line counts is unused and undisplayed. '''Player/Missile Resolution''' bit values: * $00 - Double line resolution. ANTIC updates its DMA fetch address every other scan line and updates the [[CTIA and GTIA|CTIA/GTIA]] Player/Missile Graphics pattern registers every scan line, so that each Player/Missile byte pattern is two scan lines tall. When Double line resolution is enabled [[CTIA and GTIA|CTIA/GTIA]] register [[CTIA and GTIA#VDELAY $D01C Write|VDELAY]] ($D01C<sub>hex</sub>/53276<sub>dec</sub>) works by masking updates on even scan lines which results in shifting the bit pattern of individual Players and Missiles down one scan line. * $10 - Single line resolution. A DMA fetch and Player/Missile register update occurs on every scan line. [[CTIA and GTIA|CTIA/GTIA]] register [[CTIA and GTIA#VDELAY $D01C Write|VDELAY]] ($D01C<sub>hex</sub>/53276<sub>dec</sub>) which masks updates on even scan lines effectively reduces Single line resolution to Double line resolution. ANTIC DMA and Player/Missile pattern register updates occur on each scan line regardless of resolution. When Double line resolution is in effect the Player/Missile memory can be modified between the redundant DMA fetches thus changing the pattern sent to the GRAF* registers and producing apparent Single line resolution Player/Missiles. '''Display List DMA''' bit values: * $00 - Disable Display List. * $20 - Enable Display list. Playfield display requires that Display List DMA is enabled, and a Playfield width specified. If either value is zero, then no Playfield display is generated.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)