| 0x04000280:16 | 0003 | Unknown |
| 0x04000290:16 | ffff | Unknown |
| 0x04000292:16 | ffff | Unknown |
| 0x04000294:16 | ffff | Unknown |
| 0x04000296:16 | ffff | Unknown |
| 0x04000298:16 | ffff | Unknown |
| 0x0400029A:16 | ffff | Unknown |
| 0x0400029C:16 | ffff | Unknown |
| 0x0400029E:16 | ffff | Unknown |
| 0x040002A0:16 | read-only | Reads 1 |
| 0x040002B0:16 | 0001 | Unknown |
| 0x040002B8:16 | ffff | Unknown |
| 0x040002BA:16 | ffff | Unknown |
| 0x040002BC:16 | ffff | Unknown |
| 0x040002BE:16 | ffff | Unknown |
This isn't tested yet, from metroid arm9, around start+0x498AC.
do a reciprocal maybe?
if input > 0
0x040002B0:16 = 1
0x040002B8:32 = 0
0x040002BC:32 = input
else
0x040002B0:16 = 1
0x040002B8:32 = 0
0x040002BC:32 = 0
end
write to 290, 294?
280.bit15 is busy flag for 2A0/2A4 pair
2A0 is low word of some result
2A4 is high word of some result
290, 294, 298
2B0.bit0 is enable flag?
2B0.bit15 is busy flag for 2B4 result
(writes to 2B8/2BC)