|
1 |
| -static const byte noise7[] = |
| 1 | +#include <stdint.h> |
| 2 | + |
| 3 | +/********************* LCD *********************/ |
| 4 | + |
| 5 | +static const uint16_t colorization_palettes[48][3][4] = { |
| 6 | +// 0x00 - 0x1F: Game-specific colorization palettes extracted from GBC's BIOS |
| 7 | + {{0x7FFF, 0x01DF, 0x0112, 0x0000}, {0x7FFF, 0x7EEB, 0x001F, 0x7C00}, {0x7FFF, 0x42B5, 0x3DC8, 0x0000}}, |
| 8 | + {{0x231F, 0x035F, 0x00F2, 0x0009}, {0x7FFF, 0x421F, 0x1CF2, 0x0000}, {0x4FFF, 0x7ED2, 0x3A4C, 0x1CE0}}, |
| 9 | + {{0x7FFF, 0x7FFF, 0x7E8C, 0x7C00}, {0x7FFF, 0x32BF, 0x00D0, 0x0000}, {0x03ED, 0x7FFF, 0x255F, 0x0000}}, |
| 10 | + {{0x7FFF, 0x7FFF, 0x7E8C, 0x7C00}, {0x7FFF, 0x421F, 0x1CF2, 0x0000}, {0x036A, 0x021F, 0x03FF, 0x7FFF}}, |
| 11 | + {{0x7FFF, 0x421F, 0x1CF2, 0x0000}, {0x7FFF, 0x421F, 0x1CF2, 0x0000}, {0x7FFF, 0x03EF, 0x01D6, 0x0000}}, |
| 12 | + {{0x7FFF, 0x421F, 0x1CF2, 0x0000}, {0x7FFF, 0x7EEB, 0x001F, 0x7C00}, {0x7FFF, 0x03EA, 0x011F, 0x0000}}, |
| 13 | + {{0x7FFF, 0x421F, 0x1CF2, 0x0000}, {0x7FFF, 0x7EEB, 0x001F, 0x7C00}, {0x7FFF, 0x027F, 0x001F, 0x0000}}, |
| 14 | + {{0x7FFF, 0x7E8C, 0x7C00, 0x0000}, {0x7FFF, 0x7EEB, 0x001F, 0x7C00}, {0x7FFF, 0x03FF, 0x001F, 0x0000}}, |
| 15 | + {{0x299F, 0x001A, 0x000C, 0x0000}, {0x7C00, 0x7FFF, 0x3FFF, 0x7E00}, {0x7E74, 0x03FF, 0x0180, 0x0000}}, |
| 16 | + {{0x7FFF, 0x01DF, 0x0112, 0x0000}, {0x7FFF, 0x7E8C, 0x7C00, 0x0000}, {0x67FF, 0x77AC, 0x1A13, 0x2D6B}}, |
| 17 | + {{0x0000, 0x7FFF, 0x421F, 0x1CF2}, {0x0000, 0x7FFF, 0x421F, 0x1CF2}, {0x7ED6, 0x4BFF, 0x2175, 0x0000}}, |
| 18 | + {{0x7FFF, 0x421F, 0x1CF2, 0x0000}, {0x7FFF, 0x3FFF, 0x7E00, 0x001F}, {0x7FFF, 0x7E8C, 0x7C00, 0x0000}}, |
| 19 | + {{0x231F, 0x035F, 0x00F2, 0x0009}, {0x7FFF, 0x7EEB, 0x001F, 0x7C00}, {0x7FFF, 0x6E31, 0x454A, 0x0000}}, |
| 20 | + {{0x7FFF, 0x421F, 0x1CF2, 0x0000}, {0x7FFF, 0x32BF, 0x00D0, 0x0000}, {0x7FFF, 0x6E31, 0x454A, 0x0000}}, |
| 21 | + {{0x7FFF, 0x421F, 0x1CF2, 0x0000}, {0x7FFF, 0x7E8C, 0x7C00, 0x0000}, {0x7FFF, 0x1BEF, 0x0200, 0x0000}}, |
| 22 | + {{0x7FFF, 0x7E8C, 0x7C00, 0x0000}, {0x7FFF, 0x1BEF, 0x0200, 0x0000}, {0x7FFF, 0x32BF, 0x00D0, 0x0000}}, |
| 23 | + {{0x7FFF, 0x1BEF, 0x0200, 0x0000}, {0x7FFF, 0x7E8C, 0x7C00, 0x0000}, {0x7FFF, 0x421F, 0x1CF2, 0x0000}}, |
| 24 | + {{0x7FFF, 0x03E0, 0x0206, 0x0120}, {0x7FFF, 0x7E8C, 0x7C00, 0x0000}, {0x7FFF, 0x421F, 0x1CF2, 0x0000}}, |
| 25 | + {{0x7FFF, 0x1BEF, 0x0200, 0x0000}, {0x7FFF, 0x7E8C, 0x7C00, 0x0000}, {0x7FFF, 0x32BF, 0x00D0, 0x0000}}, |
| 26 | + {{0x7FFF, 0x421F, 0x1CF2, 0x0000}, {0x7FFF, 0x1BEF, 0x0200, 0x0000}, {0x0000, 0x4200, 0x037F, 0x7FFF}}, |
| 27 | + {{0x03FF, 0x001F, 0x000C, 0x0000}, {0x7FFF, 0x1BEF, 0x0200, 0x0000}, {0x7FFF, 0x7E8C, 0x7C00, 0x0000}}, |
| 28 | + {{0x7FFF, 0x32BF, 0x00D0, 0x0000}, {0x7FFF, 0x7E8C, 0x7C00, 0x0000}, {0x7FFF, 0x42B5, 0x3DC8, 0x0000}}, |
| 29 | + {{0x7FFF, 0x5294, 0x294A, 0x0000}, {0x7FFF, 0x5294, 0x294A, 0x0000}, {0x7FFF, 0x5294, 0x294A, 0x0000}}, |
| 30 | + {{0x7FFF, 0x1BEF, 0x0200, 0x0000}, {0x7FFF, 0x7E8C, 0x7C00, 0x0000}, {0x53FF, 0x4A5F, 0x7E52, 0x0000}}, |
| 31 | + {{0x7FFF, 0x421F, 0x1CF2, 0x0000}, {0x7FFF, 0x1BEF, 0x0200, 0x0000}, {0x7FFF, 0x7E8C, 0x7C00, 0x0000}}, |
| 32 | + {{0x7FFF, 0x32BF, 0x00D0, 0x0000}, {0x7FFF, 0x32BF, 0x00D0, 0x0000}, {0x639F, 0x4279, 0x15B0, 0x04CB}}, |
| 33 | + {{0x7FFF, 0x7E8C, 0x7C00, 0x0000}, {0x7FFF, 0x1BEF, 0x0200, 0x0000}, {0x7FFF, 0x03FF, 0x012F, 0x0000}}, |
| 34 | + {{0x7FFF, 0x033F, 0x0193, 0x0000}, {0x7FFF, 0x033F, 0x0193, 0x0000}, {0x7FFF, 0x033F, 0x0193, 0x0000}}, |
| 35 | + {{0x7FFF, 0x421F, 0x1CF2, 0x0000}, {0x7FFF, 0x7E8C, 0x7C00, 0x0000}, {0x7FFF, 0x1BEF, 0x6180, 0x0000}}, |
| 36 | + {{0x2120, 0x8022, 0x8281, 0x1110}, {0xFF7F, 0xDF7F, 0x1201, 0x0001}, {0xFF00, 0xFF7F, 0x1F03, 0x0000}}, |
| 37 | + {{0x7FFF, 0x32BF, 0x00D0, 0x0000}, {0x7FFF, 0x32BF, 0x00D0, 0x0000}, {0x7FFF, 0x32BF, 0x00D0, 0x0000}}, |
| 38 | + {{0x7FFF, 0x32BF, 0x00D0, 0x0000}, {0x7FFF, 0x32BF, 0x00D0, 0x0000}, {0x7FFF, 0x32BF, 0x00D0, 0x0000}}, |
| 39 | + |
| 40 | +// 0x20 - 0x24 : Console-based colorization palettes |
| 41 | + {{0x0272, 0x0DCA, 0x0D45, 0x0102}, {0x0272, 0x0DCA, 0x0D45, 0x0102}, {0x0272, 0x0DCA, 0x0D45, 0x0102}}, // GB_PALETTE_DMG |
| 42 | + {{0x7FFF, 0x5AD6, 0x318C, 0x0000}, {0x7FFF, 0x5AD6, 0x318C, 0x0000}, {0x7FFF, 0x5AD6, 0x318C, 0x0000}}, // GB_PALETTE_MGB0 |
| 43 | + {{0x36D5, 0x260E, 0x1D47, 0x18C4}, {0x36D5, 0x260E, 0x1D47, 0x18C4}, {0x36D5, 0x260E, 0x1D47, 0x18C4}}, // GB_PALETTE_MGB1 |
| 44 | + {{0x6BDD, 0x3ED4, 0x1D86, 0x0860}, {0x6BDD, 0x3ED4, 0x1D86, 0x0860}, {0x6BDD, 0x3ED4, 0x1D86, 0x0860}}, // GB_PALETTE_CGB (real colors calculated in code) |
| 45 | + {{0x6BDD, 0x3ED4, 0x1D86, 0x0860}, {0x6BDD, 0x3ED4, 0x1D86, 0x0860}, {0x6BDD, 0x3ED4, 0x1D86, 0x0860}}, // GB_PALETTE_SGB (real colors calculated in code) |
| 46 | + |
| 47 | +// 0x25 - 0x2F : Other misc palettes |
| 48 | + {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}, // Bleh |
| 49 | +}; |
| 50 | + |
| 51 | + |
| 52 | + |
| 53 | +/********************* SOUND *********************/ |
| 54 | + |
| 55 | +static const uint8_t dmgwave[16] = |
| 56 | +{ |
| 57 | + 0xac, 0xdd, 0xda, 0x48, |
| 58 | + 0x36, 0x02, 0xcf, 0x16, |
| 59 | + 0x2c, 0x04, 0xe5, 0x2c, |
| 60 | + 0xac, 0xdd, 0xda, 0x48 |
| 61 | +}; |
| 62 | + |
| 63 | +static const uint8_t cgbwave[16] = |
| 64 | +{ |
| 65 | + 0x00, 0xff, 0x00, 0xff, |
| 66 | + 0x00, 0xff, 0x00, 0xff, |
| 67 | + 0x00, 0xff, 0x00, 0xff, |
| 68 | + 0x00, 0xff, 0x00, 0xff, |
| 69 | +}; |
| 70 | + |
| 71 | +static const uint8_t sqwave[4][8] = |
| 72 | +{ |
| 73 | + { 0, 0,-1, 0, 0, 0, 0, 0 }, |
| 74 | + { 0,-1,-1, 0, 0, 0, 0, 0 }, |
| 75 | + { -1,-1,-1,-1, 0, 0, 0, 0 }, |
| 76 | + { -1, 0, 0,-1,-1,-1,-1,-1 } |
| 77 | +}; |
| 78 | + |
| 79 | +static const int freqtab[8] = |
| 80 | +{ |
| 81 | + (1<<14)*2, |
| 82 | + (1<<14), |
| 83 | + (1<<14)/2, |
| 84 | + (1<<14)/3, |
| 85 | + (1<<14)/4, |
| 86 | + (1<<14)/5, |
| 87 | + (1<<14)/6, |
| 88 | + (1<<14)/7 |
| 89 | +}; |
| 90 | + |
| 91 | +static const uint8_t noise7[] = |
2 | 92 | {
|
3 | 93 | 0xfb,0xe7,0xae,0x1b,0xa6,0x2b,0x05,0xe3,
|
4 | 94 | 0xb6,0x4a,0x42,0x72,0xd1,0x19,0xaa,0x03,
|
5 | 95 | };
|
6 | 96 |
|
7 |
| -static const byte noise15[] = |
| 97 | +static const uint8_t noise15[] = |
8 | 98 | {
|
9 | 99 | 0xff,0xfb,0xff,0xe7,0xff,0xaf,0xfe,0x1f,
|
10 | 100 | 0xfb,0xbf,0xe6,0x7f,0xaa,0xfe,0x01,0xfb,
|
|
0 commit comments