Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 2115 wb++?- VMAINC - Video Port Control
- "Video Memory Address Increment"
- i---mmjj
- i = Address increment mode:
- 0 => increment after writing $2118/reading $2139
- 1 => increment after writing $2119/reading $213a
- Note that a word write stores low first, then high. Thus, if you're
- storing a word value to $2118/9, you'll probably want to set 1
- here.
- j = Address increment amount
- 00 = Normal increment by 1
- 01 = Increment by 32
- Useful for reading / writing a normal tilemap
- when one would like to have the target address
- move to the next row upon increment.
- 10 = Increment by 128
- Useful for reading / writing a mode 7 tilemap
- when one would like to have the target address
- move to the next row upon increment.
- 11 = Increment by 128
- (Note: Same as address increment amount '10' above)
- m = Address remapping
- 00 = No remapping
- # 0x00, 0x01, 0x02, 0x03, ..., 0x1F => 0x00, 0x08, 0x10, 0x18, ..., 0xF8
- # 0x20, 0x21, 0x22, 0x23, ..., 0x3F => 0x01, 0x09, 0x11, 0x19, ..., 0xF9
- 01 = Remap addressing aaaaaaaa BBBccccc => aaaaaaaa cccccBBB
- # 0x00, 0x01, 0x02, 0x03, ..., 0x3F => 0x00, 0x08, 0x10, 0x18, ..., 0x1F8
- # 0x40, 0x41, 0x42, 0x43, ..., 0x7F => 0x01, 0x09, 0x11, 0x19, ..., 0x1F9
- 10 = Remap addressing aaaaaaaB BBcccccc => aaaaaaac cccccBBB
- # 0x00, 0x01, 0x02, 0x03, ..., 0x7F => 0x00, 0x08, 0x10, 0x18, ..., 0x3F8
- # 0x80, 0x81, 0x82, 0x83, ..., 0xFF => 0x00, 0x09, 0x11, 0x19, ..., 0x3F9
- 11 = Remap addressing aaaaaaBB Bccccccc => aaaaaacc cccccBBB
- The "remap" modes basically implement address translation. If
- $2116/7 are set to #$0003, then word address #$0018 will be written
- instead, and $2116/7 will be incremented to $0004.
Add Comment
Please, Sign In to add comment