FreeCalypso > hg > freecalypso-tools
view target-utils/buzplayer/melplay.c @ 658:0da2cf5a999c
target-utils: libload eliminated
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Tue, 03 Mar 2020 06:06:17 +0000 |
parents | 8a200d65c6a0 |
children | 158dd05fb9f9 |
line wrap: on
line source
#include "types.h" #include "melody.h" extern struct melentry *melody_buf_start, *melody_buf_tailptr; #define ARMIO_LOAD_TIM (*(volatile u16 *) 0xFFFE4808) #define BUZZ_LIGHT_REG (*(volatile u16 *) 0xFFFE480E) void melody_play() { struct melentry *p; int count; wait_for_tdma_frame(); for (p = melody_buf_start; p < melody_buf_tailptr; p++) { if (p->tone) { ARMIO_LOAD_TIM = p->tone; BUZZ_LIGHT_REG = 1; } else BUZZ_LIGHT_REG = 0; for (count = p->dur; count; count--) wait_for_tdma_frame(); BUZZ_LIGHT_REG = 0; } }