/

Login

Username:

Password:

Register

Username:

Password:

Password confirm:

Email:

ram map rom map

VRAM DMA Options ($00869D)

Here is a list of all the DMA options given in $00869D, and the values to specify them:

03 - Write-H - 2-byte normal
06 - Write-H - 2-byte fixed
09 - Write-H - 1-byte normal, $2118 only
0C - Write-H - 1-byte fixed, $2118 only
0F - Write-H - 1-byte normal, $2119 only
12 - Write-H - 1-byte fixed, $2119 only
15 - Read-H - 2 bytes
18 - Read-H - 1 byte, $2139 only
1B - Read-H - 1 byte, $213A only
1E - Write-V - 2-byte normal
21 - Write-V - 2-byte fixed
24 - Write-V - 1-byte normal, $2118 only
27 - Write-V - 1-byte fixed, $2118 only
2A - Write-V - 1-byte normal, $2119 only
2D - Write-V - 1-byte fixed, $2119 only
30 - Read-V - 2 bytes
33 - Read-V - 1 byte, $2139 only
36 - Read-V - 1 byte, $213A only
39 - Write-H - 2bpp remap - 2-byte normal
3C - Write-H - 4bpp remap - 2-byte normal
3F - Write-H - 8bpp remap - 2-byte normal

Write/Read specify whether the DMA writes to VRAM or pulls from it. H/V specifies whether the DMA goes horizontally or vertically.
The 2bpp/4bpp/8bpp remaps refer to the remapping bits in $2115; these values correspond to the following address remappings:
2bpp = aaaaaaaaBBBccccc -> aaaaaaaacccccBBB
4bpp = aaaaaaaBBBcccccc -> aaaaaaaccccccBBB
8bpp = aaaaaaBBBccccccc -> aaaaaacccccccBBB
This will essentially modify a GFX upload to write each set of eight 8x8 tiles simultaneously rather than one at a time.

If calling the LoadDMATable routine at $0086E5, then when the byte corresponding to this table has bit 7 set, the data at the source address will be decompressed first.

Edit entry: VRAM DMA Options ($00869D)