Browse Source

add simple drum loop to menu music

Thomas B 1 month ago
parent
commit
3e319b6238
4 changed files with 72 additions and 9 deletions
  1. 8
    5
      src/gbprinter.h
  2. 0
    2
      src/maps.c
  3. 63
    1
      src/sound_menu.c
  4. 1
    1
      src/sound_over.c

+ 8
- 5
src/gbprinter.h View File

27
 #include <stdint.h>
27
 #include <stdint.h>
28
 
28
 
29
 enum PRN_STATUS {
29
 enum PRN_STATUS {
30
+    // status flags from printer
30
     PRN_STATUS_LOWBAT      = 0x80, // battery too low
31
     PRN_STATUS_LOWBAT      = 0x80, // battery too low
31
     PRN_STATUS_ER2         = 0x40, // unspecified error
32
     PRN_STATUS_ER2         = 0x40, // unspecified error
32
     PRN_STATUS_ER1         = 0x20, // paper jam
33
     PRN_STATUS_ER1         = 0x20, // paper jam
34
     PRN_STATUS_UNTRAN      = 0x08, // unprinted data in buffer
35
     PRN_STATUS_UNTRAN      = 0x08, // unprinted data in buffer
35
     PRN_STATUS_FULL        = 0x04, // ready, triggered by DATA with len 0
36
     PRN_STATUS_FULL        = 0x04, // ready, triggered by DATA with len 0
36
     PRN_STATUS_BUSY        = 0x02, // printer is printing
37
     PRN_STATUS_BUSY        = 0x02, // printer is printing
37
-    PRN_STATUS_CHECKSUM    = 0x01, // Checksum error
38
-    PRN_STATUS_OK          = 0x00,
38
+    PRN_STATUS_CHECKSUM    = 0x01, // checksum error
39
+    PRN_STATUS_OK          = 0x00, // everything is fine
39
 
40
 
40
-    PRN_STATUS_CANCELLED   = 0x100,
41
-    PRN_STATUS_TIMEOUT     = 0x200,
42
-    PRN_STATUS_NO_MAGIC    = 0x400,
41
+    // status flags from driver code
42
+    PRN_STATUS_CANCELLED   = 0x100, // user has aborted the print by pressing B
43
+    PRN_STATUS_TIMEOUT     = 0x200, // timeout waiting for printer response
44
+    PRN_STATUS_NO_MAGIC    = 0x400, // printer did not respond with proper 'alive'
43
 
45
 
46
+    // masks to check for errors
44
     PRN_STATUS_MASK_ERRORS = 0x7F0,
47
     PRN_STATUS_MASK_ERRORS = 0x7F0,
45
     PRN_STATUS_MASK_ANY    = 0x7FF,
48
     PRN_STATUS_MASK_ANY    = 0x7FF,
46
 };
49
 };

+ 0
- 2
src/maps.c View File

59
 
59
 
60
 void map_title(void) NONBANKED {
60
 void map_title(void) NONBANKED {
61
     START_ROM_BANK(BANK(title_map)) {
61
     START_ROM_BANK(BANK(title_map)) {
62
-
63
         set_bkg_palette(OAMF_CGB_PAL0, title_map_PALETTE_COUNT, title_map_palettes);
62
         set_bkg_palette(OAMF_CGB_PAL0, title_map_PALETTE_COUNT, title_map_palettes);
64
         set_bkg_data(0, title_map_TILE_COUNT, title_map_tiles);
63
         set_bkg_data(0, title_map_TILE_COUNT, title_map_tiles);
65
 
64
 
81
                       title_map_WIDTH / title_map_TILE_W,
80
                       title_map_WIDTH / title_map_TILE_W,
82
                       title_map_HEIGHT / title_map_TILE_H,
81
                       title_map_HEIGHT / title_map_TILE_H,
83
                       title_map_map);
82
                       title_map_map);
84
-
85
     } END_ROM_BANK
83
     } END_ROM_BANK
86
 
84
 
87
     move_bkg(0, 0);
85
     move_bkg(0, 0);

+ 63
- 1
src/sound_menu.c View File

196
     END
196
     END
197
 };
197
 };
198
 
198
 
199
+#define DRUM_LOOP \
200
+    dSI, dSI, dSn, dSI, dKi, dSI, dSI, dSI, \
201
+    dSn, dSI, dSI, dSI, dKi, dSI, dSI, dSI  \
202
+
203
+const enum drums menu_drums[] = {
204
+    // intro
205
+
206
+    DRUM_LOOP,
207
+    DRUM_LOOP,
208
+
209
+    DRUM_LOOP,
210
+    DRUM_LOOP,
211
+
212
+    // repeat 1
213
+
214
+    DRUM_LOOP,
215
+    DRUM_LOOP,
216
+
217
+    DRUM_LOOP,
218
+    DRUM_LOOP,
219
+
220
+    DRUM_LOOP,
221
+    DRUM_LOOP,
222
+
223
+    DRUM_LOOP,
224
+    DRUM_LOOP,
225
+
226
+    // bridge
227
+
228
+    DRUM_LOOP,
229
+    DRUM_LOOP,
230
+
231
+    DRUM_LOOP,
232
+    DRUM_LOOP,
233
+
234
+    // repeat 2
235
+
236
+    DRUM_LOOP,
237
+    DRUM_LOOP,
238
+
239
+    DRUM_LOOP,
240
+    DRUM_LOOP,
241
+
242
+    // bridge
243
+
244
+    DRUM_LOOP,
245
+    DRUM_LOOP,
246
+
247
+    DRUM_LOOP,
248
+    DRUM_LOOP,
249
+
250
+    // end
251
+
252
+    dSI, dSI, dSI, dSI, dSI, dSI, dSI, dSI,
253
+    dSI, dSI, dSI, dSI, dSI, dSI, dSI, dSI,
254
+    dSI, dSI, dSI, dSI, dSI, dSI, dSI, dSI,
255
+
256
+    dSI, dSI, dSI, dSI, dSI, dSI, dSI, dSI,
257
+    dSI, dSI, dSI, dSI, dSI, dSI, dSI, dSI,
258
+    dEND
259
+};
260
+
199
 const struct music music_menu = {
261
 const struct music music_menu = {
200
     .notes = menu_music,
262
     .notes = menu_music,
201
     .notes2 = menu_music2,
263
     .notes2 = menu_music2,
202
-    .drums = NULL,
264
+    .drums = menu_drums,
203
     .duration = 150,
265
     .duration = 150,
204
     .repeat = 0,
266
     .repeat = 0,
205
 };
267
 };

+ 1
- 1
src/sound_over.c View File

163
 
163
 
164
 #define DRUM_LOOP \
164
 #define DRUM_LOOP \
165
     dKi, dSI, dSI, dSI, dSI, dSI, dKi, dSI, \
165
     dKi, dSI, dSI, dSI, dSI, dSI, dKi, dSI, \
166
-    dSn, dSI, dSI, dSI, dKi, dSI, dSI, dSI \
166
+    dSn, dSI, dSI, dSI, dKi, dSI, dSI, dSI  \
167
 
167
 
168
 const enum drums over_drums[] = {
168
 const enum drums over_drums[] = {
169
     DRUM_LOOP,
169
     DRUM_LOOP,

Loading…
Cancel
Save