From b045f00d217c11c1ecf6635fdbf18d5f20a109f4 Mon Sep 17 00:00:00 2001 From: Michiel Van Der Kolk Date: Sun, 20 Mar 2005 23:06:47 +0000 Subject: Alpha sound driver for rockboy, should work in theory, but in practice, it doesn't. disabled by default with a define. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6218 a1c6a512-1295-4272-9138-f99709370657 --- apps/plugins/rockboy/Makefile | 2 +- apps/plugins/rockboy/main.c | 2 +- apps/plugins/rockboy/nosound.c | 43 ----------------------------------- apps/plugins/rockboy/rbsound.c | 51 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 53 insertions(+), 45 deletions(-) delete mode 100644 apps/plugins/rockboy/nosound.c create mode 100644 apps/plugins/rockboy/rbsound.c (limited to 'apps') diff --git a/apps/plugins/rockboy/Makefile b/apps/plugins/rockboy/Makefile index c24a325820..020d67bec8 100644 --- a/apps/plugins/rockboy/Makefile +++ b/apps/plugins/rockboy/Makefile @@ -19,7 +19,7 @@ endif LINKFILE := $(OBJDIR)/link.lds DEPFILE = $(OBJDIR)/dep-rockboy SRC = cpu.c emu.c events.c exports.c fastmem.c hw.c lcd.c lcdc.c loader.c \ - main.c mem.c nosound.c rccmds.c rcvars.c rtc.c save.c sound.c split.c \ + main.c mem.c rbsound.c rccmds.c rcvars.c rtc.c save.c sound.c split.c \ sys_rockbox.c rockboy.c menu.c #CFLAGS += -DGRAYSCALE diff --git a/apps/plugins/rockboy/main.c b/apps/plugins/rockboy/main.c index 77e9bc9ea0..175ae78d86 100644 --- a/apps/plugins/rockboy/main.c +++ b/apps/plugins/rockboy/main.c @@ -75,7 +75,7 @@ int gnuboy_main(char *rom) // FIXME - make interface modules responsible for atexit() PUTS("Init video"); vid_init(); - PUTS("Init sound (nosound)"); + PUTS("Init sound"); pcm_init(); PUTS("Loading rom"); loader_init(rom); diff --git a/apps/plugins/rockboy/nosound.c b/apps/plugins/rockboy/nosound.c deleted file mode 100644 index a0c9b17f15..0000000000 --- a/apps/plugins/rockboy/nosound.c +++ /dev/null @@ -1,43 +0,0 @@ - - - -#include "rockmacros.h" -#include "defs.h" -#include "pcm.h" -#include "rc.h" - - -struct pcm pcm; - -static byte buf[4096]; - - -rcvar_t pcm_exports[] = -{ - RCV_END -}; - - -void pcm_init(void) -{ - pcm.hz = 11025; - pcm.buf = buf; - pcm.len = sizeof buf; - pcm.pos = 0; -} - -void pcm_close(void) -{ - memset(&pcm, 0, sizeof pcm); -} - -int pcm_submit(void) -{ - pcm.pos = 0; - return 0; -} - - - - - diff --git a/apps/plugins/rockboy/rbsound.c b/apps/plugins/rockboy/rbsound.c new file mode 100644 index 0000000000..6d1b24fd9a --- /dev/null +++ b/apps/plugins/rockboy/rbsound.c @@ -0,0 +1,51 @@ + + + +#include "rockmacros.h" +#include "defs.h" +#include "pcm.h" +#include "rc.h" + + +struct pcm pcm; + +static byte buf[4096]; + + +rcvar_t pcm_exports[] = +{ + RCV_END +}; + + +void pcm_init(void) +{ + pcm.hz = 44100; + pcm.stereo = 1; + pcm.buf = buf; + pcm.len = sizeof buf; + pcm.pos = 0; +} + +void pcm_close(void) +{ + memset(&pcm, 0, sizeof pcm); +} + +int pcm_submit(void) +{ +#ifdef RBSOUND + rb->pcm_play_data(pcm.buf,pcm.pos,NULL); + while(rb->pcm_is_playing()); /* spinlock */ + pcm.pos = 0; + return 1; +#else + pcm.pos = 0; + return 0; +#endif +} + + + + + -- cgit v1.2.3