22 #ifndef FREESCAPE_CASTLE_MUSICDATA_H 23 #define FREESCAPE_CASTLE_MUSICDATA_H 25 #include "common/scummsys.h" 36 namespace CastleMusicData {
38 const byte kOrderTranspose = 0x80;
39 const byte kOrderEnd = 0xFF;
54 { 0x00, 0x05, 0x41, 0x0A, 0x0F, 0x02, 0x7F, 0x00, 0x00 },
55 { 0x00, 0x05, 0x81, 0x25, 0x07, 0x02, 0x7F, 0x00, 0x05 },
56 { 0x00, 0x05, 0x00, 0x1B, 0x07, 0x02, 0x7F, 0x00, 0x05 },
57 { 0x00, 0x05, 0x81, 0x18, 0x07, 0x02, 0x7F, 0x00, 0x00 },
58 { 0x00, 0x08, 0x41, 0x06, 0x0A, 0x02, 0x7F, 0x20, 0x05 },
59 { 0x00, 0x06, 0x41, 0x09, 0x33, 0x02, 0x7F, 0x10, 0x00 },
60 { 0x00, 0x04, 0x41, 0x0A, 0x0F, 0x02, 0x7F, 0x18, 0x00 },
61 { 0x00, 0x08, 0x41, 0x13, 0x0F, 0x02, 0x7F, 0x00, 0x05 }
64 extern const byte kCastleSIDFreqLo[96];
65 extern const byte kCastleSIDFreqHi[96];
67 uint16 getCastleSIDFrequency(
int note);
68 const int8 *getCastleVibratoTable(byte vibrato);
69 byte getCastleSIDControlForInstrument(byte instrument);
71 const byte kOrderList0[] = {
72 0x80, 0xFB, 0x00, 0x03, 0x03, 0x03, 0x03, 0x0A, 0x0A, 0x0D, 0x0D, 0x0D, 0x12, 0x12, 0x12, 0x12,
73 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x12, 0x1A, 0xFF
76 const byte kOrderList1[] = {
77 0x80, 0xFB, 0x01, 0x04, 0x06, 0x08, 0x08, 0x0B, 0x0B, 0x0E, 0x11, 0x11, 0x13, 0x13, 0x16, 0x13,
78 0x13, 0x16, 0x18, 0x18, 0x16, 0x1A, 0x00, 0x01, 0x1B, 0xFF
81 const byte kOrderList2[] = {
82 0x80, 0xFB, 0x02, 0x05, 0x07, 0x09, 0x09, 0x0C, 0x0C, 0x0F, 0x10, 0x10, 0x14, 0x15, 0x17, 0x14,
83 0x15, 0x17, 0x19, 0x19, 0x17, 0x1B, 0x01, 0x00, 0x1C, 0xFF
86 const byte *
const kChannelOrderLists[] = {
92 const uint16 kPatternOffsets[] = {
93 0, 52, 104, 124, 158, 164, 170, 182, 196, 216, 238, 288,
94 311, 334, 390, 426, 460, 512, 553, 634, 690, 724, 778, 833,
95 873, 927, 937, 943, 949
98 const byte kPatternData[] = {
99 0x86, 0x1B, 0x18, 0x1E, 0x18, 0x19, 0x18, 0x1B, 0x18, 0x16, 0x18, 0x19, 0x18, 0x1D, 0x18, 0x19,
100 0x18, 0x86, 0x1B, 0x0C, 0x27, 0x0C, 0x20, 0x0C, 0x22, 0x0C, 0x23, 0x0C, 0x1E, 0x0C, 0x20, 0x0C,
101 0x22, 0x0C, 0x86, 0x1B, 0x0C, 0x27, 0x0C, 0x20, 0x0C, 0x22, 0x0C, 0x23, 0x0C, 0x1E, 0x0C, 0x20,
102 0x0C, 0x22, 0x0C, 0xFF, 0x85, 0xA0, 0x0C, 0x1B, 0x18, 0x1E, 0x18, 0x19, 0x18, 0x1B, 0x18, 0x16,
103 0x18, 0x19, 0x18, 0x1D, 0x18, 0x19, 0x18, 0x85, 0x1B, 0x0C, 0x27, 0x0C, 0x20, 0x0C, 0x22, 0x0C,
104 0x23, 0x0C, 0x1E, 0x0C, 0x20, 0x0C, 0x22, 0x0C, 0x85, 0x1B, 0x0C, 0x27, 0x0C, 0x20, 0x0C, 0x22,
105 0x0C, 0x23, 0x0C, 0x1E, 0x0C, 0x20, 0x0C, 0xFF, 0x80, 0xA0, 0xC0, 0x27, 0x18, 0x22, 0x18, 0x23,
106 0x18, 0x25, 0x18, 0x27, 0x18, 0x22, 0x18, 0x20, 0x18, 0x1E, 0x18, 0xFF, 0x86, 0x0F, 0x24, 0x0F,
107 0x0C, 0x0A, 0x24, 0x0A, 0x0C, 0x06, 0x24, 0x06, 0x0C, 0x08, 0x24, 0x08, 0x0C, 0x0F, 0x24, 0x0F,
108 0x0C, 0x0A, 0x24, 0x0A, 0x0C, 0x06, 0x24, 0x06, 0x0C, 0x08, 0x24, 0x08, 0x0C, 0xFF, 0x86, 0x1B,
109 0xC0, 0xA0, 0xC0, 0xFF, 0x85, 0x1B, 0xC0, 0xA0, 0xC0, 0xFF, 0x85, 0x27, 0x30, 0x2F, 0x30, 0x2C,
110 0x30, 0x2E, 0x30, 0xA0, 0xC0, 0xFF, 0x85, 0xA0, 0x0C, 0x27, 0x30, 0x2F, 0x30, 0x2C, 0x30, 0x2E,
111 0x30, 0xA0, 0xB4, 0xFF, 0x86, 0x27, 0x30, 0x2A, 0x30, 0x29, 0x18, 0x2A, 0x18, 0x29, 0x18, 0x27,
112 0x0C, 0x25, 0x0C, 0x27, 0x30, 0x22, 0x90, 0xFF, 0x86, 0xA0, 0x0C, 0x27, 0x30, 0x2A, 0x30, 0x29,
113 0x18, 0x2A, 0x18, 0x29, 0x18, 0x27, 0x0C, 0x25, 0x0C, 0x27, 0x30, 0x22, 0x84, 0xFF, 0x80, 0x0F,
114 0x18, 0x1B, 0x0C, 0x0F, 0x0C, 0x0A, 0x18, 0x16, 0x0C, 0x0A, 0x0C, 0x06, 0x18, 0x12, 0x0C, 0x06,
115 0x0C, 0x08, 0x18, 0x14, 0x0C, 0x08, 0x0C, 0x0F, 0x18, 0x1B, 0x0C, 0x0F, 0x0C, 0x0A, 0x18, 0x16,
116 0x0C, 0x0A, 0x0C, 0x0B, 0x18, 0x17, 0x0C, 0x0B, 0x0C, 0x0D, 0x18, 0x19, 0x0C, 0x0D, 0x0C, 0xFF,
117 0x85, 0x27, 0x30, 0x2E, 0x30, 0x29, 0x30, 0x2A, 0x30, 0x27, 0x48, 0x86, 0x27, 0x18, 0x29, 0x18,
118 0x2A, 0x18, 0x2C, 0x18, 0x2E, 0x18, 0xFF, 0x85, 0x2A, 0x30, 0x31, 0x30, 0x2C, 0x30, 0x2E, 0x30,
119 0x1B, 0x54, 0x86, 0x27, 0x18, 0x29, 0x18, 0x2A, 0x18, 0x2C, 0x18, 0x2E, 0x0C, 0xFF, 0x80, 0x0F,
120 0x18, 0x1B, 0x0C, 0x0F, 0x0C, 0x0A, 0x0C, 0x16, 0x0C, 0x0A, 0x0C, 0x06, 0x18, 0x06, 0x0C, 0x12,
121 0x0C, 0x06, 0x0C, 0x08, 0x0C, 0x14, 0x0C, 0x08, 0x18, 0x0F, 0x18, 0x1B, 0x0C, 0x0F, 0x0C, 0x0A,
122 0x0C, 0x16, 0x0C, 0x0A, 0x0C, 0x06, 0x18, 0x06, 0x0C, 0x12, 0x0C, 0x06, 0x0C, 0x08, 0x0C, 0x14,
123 0x0C, 0x0D, 0x0C, 0x19, 0x0C, 0xFF, 0x85, 0xA0, 0x18, 0x27, 0x0C, 0x25, 0x0C, 0x27, 0x30, 0x22,
124 0x0C, 0x22, 0x0C, 0x20, 0x0C, 0x22, 0x18, 0x22, 0x0C, 0x1E, 0x18, 0x1B, 0x30, 0x1E, 0x30, 0x1D,
125 0x18, 0x1E, 0x0C, 0x1D, 0x0C, 0x1B, 0x18, 0x19, 0x18, 0xFF, 0x85, 0xA0, 0x18, 0x2A, 0x0C, 0x29,
126 0x0C, 0x2A, 0x30, 0x25, 0x0C, 0x25, 0x0C, 0x23, 0x0C, 0x25, 0x18, 0x25, 0x0C, 0x22, 0x18, 0x1E,
127 0x60, 0x27, 0x18, 0x25, 0x18, 0x22, 0x0C, 0x20, 0x0C, 0x22, 0x18, 0xFF, 0x85, 0x27, 0x0C, 0x33,
128 0x0C, 0x2C, 0x0C, 0x2E, 0x0C, 0x2F, 0x0C, 0x2A, 0x0C, 0x2C, 0x0C, 0x2E, 0x0C, 0x27, 0x0C, 0x33,
129 0x0C, 0x2C, 0x0C, 0x2E, 0x0C, 0x2F, 0x0C, 0x2A, 0x0C, 0x2C, 0x0C, 0x2E, 0x0C, 0x27, 0x0C, 0x33,
130 0x0C, 0x2C, 0x0C, 0x2E, 0x0C, 0x2F, 0x0C, 0x2A, 0x0C, 0x2C, 0x0C, 0x2E, 0x0C, 0x27, 0x60, 0xFF,
131 0x80, 0xA0, 0x18, 0x27, 0x18, 0x29, 0x18, 0x2A, 0x18, 0x2C, 0x0C, 0x2A, 0x0C, 0x29, 0x0C, 0x2A,
132 0x0C, 0x2E, 0x24, 0x2A, 0x06, 0x29, 0x06, 0x27, 0x6C, 0x86, 0x22, 0x0C, 0x25, 0x0C, 0x27, 0x0C,
133 0x29, 0x0C, 0x2A, 0x0C, 0x29, 0x0C, 0x25, 0x0C, 0xFF, 0x84, 0x12, 0x0C, 0x23, 0x0C, 0x81, 0x1E,
134 0x0C, 0x84, 0x12, 0x0C, 0x23, 0x0C, 0x23, 0x0C, 0x81, 0x1E, 0x18, 0x84, 0x12, 0x0C, 0x23, 0x0C,
135 0x81, 0x12, 0x0C, 0x84, 0x12, 0x0C, 0x23, 0x06, 0x19, 0x06, 0x12, 0x0C, 0x81, 0x1E, 0x18, 0x84,
136 0x12, 0x0C, 0x23, 0x0C, 0x81, 0x1E, 0x0C, 0x84, 0x12, 0x0C, 0x23, 0x0C, 0x23, 0x0C, 0x81, 0x1E,
137 0x18, 0x84, 0x12, 0x0C, 0x23, 0x0C, 0x81, 0x12, 0x0C, 0x84, 0x12, 0x0C, 0x23, 0x06, 0x19, 0x06,
138 0x12, 0x0C, 0x81, 0x1E, 0x0C, 0x1E, 0x06, 0x1E, 0x06, 0xFF, 0x80, 0x0F, 0x18, 0x1B, 0x0C, 0x0F,
139 0x0C, 0x1B, 0x0C, 0x1B, 0x0C, 0x0F, 0x0C, 0x08, 0x18, 0x08, 0x0C, 0x14, 0x0C, 0x08, 0x0C, 0x06,
140 0x0C, 0x12, 0x0C, 0x06, 0x18, 0x0F, 0x18, 0x0F, 0x0C, 0x0F, 0x0C, 0x1B, 0x0C, 0x1B, 0x0C, 0x0F,
141 0x0C, 0x08, 0x18, 0x14, 0x0C, 0x14, 0x0C, 0x08, 0x0C, 0x0A, 0x0C, 0x16, 0x0C, 0x0D, 0x0C, 0x19,
142 0x0C, 0xFF, 0x85, 0x27, 0x48, 0x2E, 0x18, 0x2C, 0x18, 0x2A, 0x18, 0x29, 0x0C, 0x2A, 0x0C, 0x2C,
143 0x18, 0x27, 0x24, 0x25, 0x0C, 0x27, 0x18, 0x2A, 0x18, 0x2C, 0x0C, 0x2E, 0x0C, 0x25, 0x0C, 0x2A,
144 0x24, 0x29, 0x18, 0xFF, 0x85, 0x27, 0x18, 0x27, 0x06, 0x29, 0x06, 0x2A, 0x0C, 0x2C, 0x0C, 0x2A,
145 0x0C, 0x29, 0x0C, 0x2A, 0x0C, 0x27, 0x18, 0x25, 0x18, 0x22, 0x18, 0x20, 0x0C, 0x22, 0x0C, 0x1E,
146 0x18, 0x1D, 0x0C, 0x1E, 0x0C, 0x1B, 0x18, 0x1B, 0x0C, 0x1D, 0x0C, 0x1E, 0x0C, 0x20, 0x0C, 0x25,
147 0x18, 0x20, 0x18, 0x20, 0x06, 0x22, 0x06, 0x25, 0x0C, 0xFF, 0x08, 0x18, 0x14, 0x0C, 0x08, 0x0C,
148 0x14, 0x0C, 0x12, 0x0C, 0x14, 0x0C, 0x06, 0x18, 0x06, 0x0C, 0x12, 0x0C, 0x06, 0x0C, 0x12, 0x18,
149 0x11, 0x0C, 0x12, 0x0C, 0x08, 0x18, 0x14, 0x0C, 0x08, 0x0C, 0x14, 0x0C, 0x08, 0x0C, 0x09, 0x0C,
150 0x0A, 0x18, 0x22, 0x0C, 0x25, 0x0C, 0x22, 0x0C, 0x20, 0x0C, 0x22, 0x0C, 0x25, 0x0C, 0x2A, 0x0C,
151 0xFF, 0x85, 0x1E, 0x18, 0x1E, 0x18, 0x20, 0x0C, 0x22, 0x18, 0x25, 0x18, 0x22, 0x0C, 0x20, 0x0C,
152 0x22, 0x0C, 0x20, 0x18, 0x1B, 0x18, 0x1E, 0x18, 0x1E, 0x0C, 0x20, 0x0C, 0x22, 0x0C, 0x25, 0x18,
153 0x27, 0x3C, 0x22, 0x18, 0x25, 0x0C, 0x2A, 0x0C, 0xFF, 0x80, 0x0F, 0x18, 0x1B, 0x0C, 0x0F, 0x0C,
154 0x1B, 0x0C, 0x1B, 0x0C, 0x0F, 0x0C, 0x09, 0x18, 0x09, 0x0C, 0x15, 0x0C, 0x09, 0x0C, 0x15, 0x0C,
155 0x15, 0x0C, 0x09, 0x18, 0x0F, 0x18, 0x1B, 0x0C, 0x0F, 0x0C, 0x1B, 0x0C, 0x1B, 0x0C, 0x0F, 0x0C,
156 0x09, 0x18, 0x09, 0x0C, 0x15, 0x0C, 0x09, 0x0C, 0x15, 0x0C, 0x15, 0x0C, 0x09, 0x18, 0xFF, 0x85,
157 0x27, 0x60, 0x2D, 0x60, 0x27, 0x60, 0x21, 0x60, 0xFF, 0x85, 0x0F, 0xC0, 0xA0, 0xC0, 0xFF, 0x86,
158 0x27, 0xC0, 0xA0, 0xC0, 0xFF, 0x85, 0x1B, 0xC0, 0xA0, 0xC0, 0xFF
Definition: castle.musicdata.h:41