GBA I/O: Improve legibility of long constants

This commit is contained in:
Vicki Pfau 2023-09-06 22:30:28 -07:00
parent 6ed7341b5a
commit bcb0073a4a
1 changed files with 120 additions and 117 deletions

View File

@ -200,133 +200,136 @@ const char* const GBAIORegisterNames[] = {
}; };
static const int _isValidRegister[REG_INTERNAL_MAX >> 1] = { static const int _isValidRegister[REG_INTERNAL_MAX >> 1] = {
// Video /* 0 2 4 6 8 A C E */
1, 0, 1, 1, 1, 1, 1, 1, /* Video */
1, 1, 1, 1, 1, 1, 1, 1, /* 00 */ 1, 0, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, /* 01 */ 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, /* 02 */ 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 0, /* 03 */ 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 0, 0, 0, 0, 0, /* 04 */ 1, 1, 1, 1, 1, 1, 1, 0,
// Audio /* 05 */ 1, 1, 1, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0, 1, 0, /* Audio */
1, 1, 1, 0, 1, 0, 1, 0, /* 06 */ 1, 1, 1, 0, 1, 0, 1, 0,
1, 1, 1, 0, 1, 0, 0, 0, /* 07 */ 1, 1, 1, 0, 1, 0, 1, 0,
1, 1, 1, 1, 1, 1, 1, 1, /* 08 */ 1, 1, 1, 0, 1, 0, 0, 0,
1, 1, 1, 1, 0, 0, 0, 0, /* 09 */ 1, 1, 1, 1, 1, 1, 1, 1,
// DMA /* 0A */ 1, 1, 1, 1, 0, 0, 0, 0,
1, 1, 1, 1, 1, 1, 1, 1, /* DMA */
1, 1, 1, 1, 1, 1, 1, 1, /* 0B */ 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, /* 0C */ 1, 1, 1, 1, 1, 1, 1, 1,
0, 0, 0, 0, 0, 0, 0, 0, /* 0D */ 1, 1, 1, 1, 1, 1, 1, 1,
0, 0, 0, 0, 0, 0, 0, 0, /* 0E */ 0, 0, 0, 0, 0, 0, 0, 0,
// Timers /* 0F */ 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 1, 1, 1, 1, /* Timers */
0, 0, 0, 0, 0, 0, 0, 0, /* 10 */ 1, 1, 1, 1, 1, 1, 1, 1,
// SIO /* 11 */ 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 1, 0, 0, 0, /* SIO */
1, 1, 1, 0, 0, 0, 0, 0, /* 12 */ 1, 1, 1, 1, 1, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, /* 13 */ 1, 1, 1, 0, 0, 0, 0, 0,
1, 1, 1, 1, 1, 0, 0, 0, /* 14 */ 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 15 */ 1, 1, 1, 1, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 16 */ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 17 */ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 18 */ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 19 */ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 1A */ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 1B */ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 1C */ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 1D */ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 1E */ 0, 0, 0, 0, 0, 0, 0, 0,
// Interrupts /* 1F */ 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0, 0, 0, /* Interrupts */
/* 20 */ 1, 1, 1, 0, 1, 0, 0, 0,
// Internal registers // Internal registers
1, 1 1, 1
}; };
static const int _isRSpecialRegister[REG_INTERNAL_MAX >> 1] = { static const int _isRSpecialRegister[REG_INTERNAL_MAX >> 1] = {
// Video /* 0 2 4 6 8 A C E */
0, 0, 1, 1, 0, 0, 0, 0, /* Video */
1, 1, 1, 1, 1, 1, 1, 1, /* 00 */ 0, 0, 1, 1, 0, 0, 0, 0,
1, 1, 1, 1, 1, 1, 1, 1, /* 01 */ 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, /* 02 */ 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, /* 03 */ 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, /* 04 */ 1, 1, 1, 1, 1, 1, 1, 1,
// Audio /* 05 */ 1, 1, 1, 1, 1, 1, 1, 1,
0, 0, 1, 0, 0, 0, 1, 0, /* Audio */
0, 0, 1, 0, 0, 0, 1, 0, /* 06 */ 0, 0, 1, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0, 0, 0, /* 07 */ 0, 0, 1, 0, 0, 0, 1, 0,
1, 1, 1, 1, 1, 1, 1, 1, /* 08 */ 0, 0, 0, 0, 1, 0, 0, 0,
1, 1, 1, 1, 0, 0, 0, 0, /* 09 */ 1, 1, 1, 1, 1, 1, 1, 1,
// DMA /* 0A */ 1, 1, 1, 1, 0, 0, 0, 0,
1, 1, 1, 1, 1, 1, 1, 1, /* DMA */
1, 1, 1, 1, 1, 1, 1, 1, /* 0B */ 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, /* 0C */ 1, 1, 1, 1, 1, 1, 1, 1,
0, 0, 0, 0, 0, 0, 0, 0, /* 0D */ 1, 1, 1, 1, 1, 1, 1, 1,
0, 0, 0, 0, 0, 0, 0, 0, /* 0E */ 0, 0, 0, 0, 0, 0, 0, 0,
// Timers /* 0F */ 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 1, 1, 1, 1, /* Timers */
0, 0, 0, 0, 0, 0, 0, 0, /* 10 */ 1, 1, 1, 1, 1, 1, 1, 1,
// SIO /* 11 */ 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 1, 0, 0, 0, /* SIO */
1, 1, 1, 0, 0, 0, 0, 0, /* 12 */ 1, 1, 1, 1, 1, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, /* 13 */ 1, 1, 1, 0, 0, 0, 0, 0,
1, 1, 1, 1, 1, 0, 0, 0, /* 14 */ 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 15 */ 1, 1, 1, 1, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 16 */ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 17 */ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 18 */ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 19 */ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 1A */ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 1B */ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 1C */ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 1D */ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 1E */ 0, 0, 0, 0, 0, 0, 0, 0,
// Interrupts /* 1F */ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* Interrupts */
/* 20 */ 0, 0, 0, 0, 0, 0, 0, 0,
// Internal registers // Internal registers
1, 1 1, 1
}; };
static const int _isWSpecialRegister[REG_INTERNAL_MAX >> 1] = { static const int _isWSpecialRegister[REG_INTERNAL_MAX >> 1] = {
// Video /* 0 2 4 6 8 A C E */
0, 0, 1, 1, 0, 0, 0, 0, /* Video */
0, 0, 0, 0, 0, 0, 0, 0, /* 00 */ 0, 0, 1, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 01 */ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 02 */ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 03 */ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 04 */ 0, 0, 0, 0, 0, 0, 0, 0,
// Audio /* 05 */ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0, 1, 0, /* Audio */
0, 0, 1, 0, 0, 0, 1, 0, /* 06 */ 0, 0, 1, 0, 0, 0, 1, 0,
0, 0, 1, 0, 0, 0, 0, 0, /* 07 */ 0, 0, 1, 0, 0, 0, 1, 0,
1, 1, 1, 1, 1, 1, 1, 1, /* 08 */ 0, 0, 1, 0, 0, 0, 0, 0,
1, 1, 1, 1, 0, 0, 0, 0, /* 09 */ 1, 1, 1, 1, 1, 1, 1, 1,
// DMA /* 0A */ 1, 1, 1, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1, 0, 0, /* DMA */
0, 0, 0, 1, 0, 0, 0, 0, /* 0B */ 0, 0, 0, 0, 0, 1, 0, 0,
0, 1, 0, 0, 0, 0, 0, 1, /* 0C */ 0, 0, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 0D */ 0, 1, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0, /* 0E */ 0, 0, 0, 0, 0, 0, 0, 0,
// Timers /* 0F */ 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 1, 1, 1, 1, /* Timers */
0, 0, 0, 0, 0, 0, 0, 0, /* 10 */ 1, 1, 1, 1, 1, 1, 1, 1,
// SIO /* 11 */ 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 1, 0, 0, 0, /* SIO */
1, 1, 1, 0, 0, 0, 0, 0, /* 12 */ 1, 1, 1, 1, 1, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, /* 13 */ 1, 1, 1, 0, 0, 0, 0, 0,
1, 1, 1, 1, 1, 0, 0, 0, /* 14 */ 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 15 */ 1, 1, 1, 1, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 16 */ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 17 */ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 18 */ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 19 */ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 1A */ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 1B */ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 1C */ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 1D */ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, /* 1E */ 0, 0, 0, 0, 0, 0, 0, 0,
// Interrupts /* 1F */ 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0, 0, 0, /* Interrupts */
/* 20 */ 1, 1, 0, 0, 1, 0, 0, 0,
// Internal registers // Internal registers
1, 1 1, 1
}; };