H/W decoder

From wiki.gp2x.org
Address Size R/W Reset Value Init Value Run Value Values written by 940 Comments
C000 4000 16-bit r/w 0 0 0 $1420 status seems to be in bit 0
C000 4002 16-bit w 0 1 1 $0
C000 4004 16-bit w 1 0 0 $0
C000 4006 16-bit r 0 e13 e13
C000 4020 16-bit w 0 0 2F0 $110 Macroblock params?
C000 4022 16-bit w 0 0 0 $0
C000 4024 16-bit w 5828 0 0 $0 Something really weird happens with these two registers
C000 4026 16-bit w 0 0 0 $5,$A,$10,$61,$E0,$160,$264 … Something really weird happens with these two registers, possibly a FIFO
C000 404E 16-bit rw 0 0 0  ? 404e and 4050 are written together
C000 4050 16-bit w 0 0 0  ? 404e and 4050 are written together
C000 4082 16-bit w 0 0 0 $400
C000 4084 16-bit w 1008 1008 1008 $d
C000 4086 16-bit w 0 0 0 $4000
C000 4088 16-bit w 88 88 88 $10
C000 408C 16-bit w 0 220 220  ? High 16-bit bits for quantizer matrix data save?
C000 408E 16-bit w 0 0 0  ? Low 16-bits
C000 4096 16-bit w 0 0 228  ? High 16-bit bits of RL buffer
C000 4098 16-bit w 0 0 0  ? Low 16-bits of RL buffer
C000 409A 16-bit w 0 230 230  ? High 16-bits for mpeg4 h/w blocks line buffer
C000 409C 16-bit w 0 0 0 $F Low 16-bits
C000 4120 16-bit w c2 c2 cc2
C000 4124 16-bit w 0 0 240 $180 Luma offset
C000 4126 16-bit w 0 0 244 $188 CB Offset
C000 4128 16-bit w 0 0 246 $18C CR Offset
C000 4144 16-bit rw 40 40 40 $1B0 4144, 4146 and 4148 are swapped with 4124, 4126 and 4128
C000 4146 16-bit rw 50 50 50 $1B8 maybe some kind of double buffering?
C000 4148 16-bit rw 60 60 60 $1BC
C000 414A 16-bit w 70 70 70 these three are written together
C000 414C 16-bit w 80 80 80 these three are written together
C000 414E 16-bit w 90 90 90 these three are written together
C000 4154 16-bit w 32 32 32
C000 4156 16-bit w 0 0 0 $0
C000 4158 16-bit w 0 0 0 Something really weird happens with these two registers
C000 415A 16-bit w 0 0 0 Something really weird happens with these two registers
Personal tools