annotate src/cs/services/buzm/buzm_struct_i.h @ 297:8dfdf88d632f

BUZM SWE initial implementation
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 29 Mar 2022 03:45:41 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
297
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 * This header file holds the internal structure definition
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 * for BUZM SWE.
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 */
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 #ifndef __BUZM_STRUCT_I
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 #define __BUZM_STRUCT_I
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 #include "rv/rv_general.h"
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 #include "rvf/rvf_api.h"
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 #include "ffs/ffs_api.h"
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 #define MELODY_CHUNK_SIZE 64 /* entries, not bytes */
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 struct melody_entry {
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 UINT8 pwt_note;
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 UINT8 note_volume;
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 UINT16 duration;
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 };
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 struct buzm_env {
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 /* RiViera boilerplate */
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 T_RVF_ADDR_ID addr_id;
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 T_RVF_MB_ID prim_id;
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 /* global flag */
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 BOOL melody_running;
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 /* all following vars are valid only during melody play */
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 T_FFS_FD ffs_fd;
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 UINT8 play_volume;
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 BOOL loop_mode;
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 struct melody_entry chunk_buf[MELODY_CHUNK_SIZE];
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 UINT8 chunk_play_ptr;
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 UINT8 chunk_end_ptr;
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 BOOL melody_end_flag;
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 };
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36
8dfdf88d632f BUZM SWE initial implementation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 #endif /* include guard */