annotate target-utils/buzplayer/melplay.c @ 607:d5abcbbf7432

scripts/gtm900[bp]-ffs-clean: remove some more wrong files An earlier version of GTM900-B firmware has been found in the wild that still has MFW&BMI layers included (producing files under /mmi), as well as enlarged /pcm/L[DMR]N files. These files are wrong for FreeCalypso fw and thus need to be cleaned out.
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 11 Feb 2020 21:27:40 +0000
parents 8a200d65c6a0
children 158dd05fb9f9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
81
8a200d65c6a0 buzplayer: play implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 #include "types.h"
8a200d65c6a0 buzplayer: play implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 #include "melody.h"
8a200d65c6a0 buzplayer: play implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3
8a200d65c6a0 buzplayer: play implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 extern struct melentry *melody_buf_start, *melody_buf_tailptr;
8a200d65c6a0 buzplayer: play implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5
8a200d65c6a0 buzplayer: play implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 #define ARMIO_LOAD_TIM (*(volatile u16 *) 0xFFFE4808)
8a200d65c6a0 buzplayer: play implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 #define BUZZ_LIGHT_REG (*(volatile u16 *) 0xFFFE480E)
8a200d65c6a0 buzplayer: play implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8
8a200d65c6a0 buzplayer: play implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 void
8a200d65c6a0 buzplayer: play implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 melody_play()
8a200d65c6a0 buzplayer: play implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 {
8a200d65c6a0 buzplayer: play implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 struct melentry *p;
8a200d65c6a0 buzplayer: play implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 int count;
8a200d65c6a0 buzplayer: play implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14
8a200d65c6a0 buzplayer: play implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 wait_for_tdma_frame();
8a200d65c6a0 buzplayer: play implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 for (p = melody_buf_start; p < melody_buf_tailptr; p++) {
8a200d65c6a0 buzplayer: play implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 if (p->tone) {
8a200d65c6a0 buzplayer: play implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 ARMIO_LOAD_TIM = p->tone;
8a200d65c6a0 buzplayer: play implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 BUZZ_LIGHT_REG = 1;
8a200d65c6a0 buzplayer: play implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 } else
8a200d65c6a0 buzplayer: play implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 BUZZ_LIGHT_REG = 0;
8a200d65c6a0 buzplayer: play implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 for (count = p->dur; count; count--)
8a200d65c6a0 buzplayer: play implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 wait_for_tdma_frame();
8a200d65c6a0 buzplayer: play implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 BUZZ_LIGHT_REG = 0;
8a200d65c6a0 buzplayer: play implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 }
8a200d65c6a0 buzplayer: play implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 }