Memory mapped registers

=Address decode masks=

Decode masks aren't verified !

Decode masks are used to know which register will be mapped to a precise address, they can be seen as a sort of mirroring range notation.

A "1" bit means that the corresponding address line is involved in decoding, a "0" bit means it can be anything.

For example, 's base is $300000 and its mask is $FE0001: BASE 00110000 00000000 00000000 MASK 11111110 00000000 00000001 0011000x xxxxxxxx xxxxxxx0

This means that it should also be accessible at $300002, $300004, $300006... up to $31FFFE. The highest address is BASE OR (NOT MASK).

Mirror guesser
=Register descriptions=

System registers
Handled by a 74HC259 adressable latch on cart systems. Byte writes only. Decode mask: $FE0001.

Video registers
Handled by the GPUs. Byte writes only work on even addresses and stores the same data in the MSB and LSB. Odd addresses aren't mapped ? Decode mask: $FE0001.

NeoGeo CD registers
NEO-MGA / LC8953 / LC98000 ?