summaryrefslogtreecommitdiff
path: root/apps/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins')
-rw-r--r--apps/plugins/rockboy/Makefile2
-rw-r--r--apps/plugins/rockboy/main.c2
-rw-r--r--apps/plugins/rockboy/rbsound.c (renamed from apps/plugins/rockboy/nosound.c)10
3 files changed, 11 insertions, 3 deletions
diff --git a/apps/plugins/rockboy/Makefile b/apps/plugins/rockboy/Makefile
index c24a325..020d67b 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 77e9bc9..175ae78 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/rbsound.c
index a0c9b17..6d1b24f 100644
--- a/apps/plugins/rockboy/nosound.c
+++ b/apps/plugins/rockboy/rbsound.c
@@ -20,7 +20,8 @@ rcvar_t pcm_exports[] =
void pcm_init(void)
{
- pcm.hz = 11025;
+ pcm.hz = 44100;
+ pcm.stereo = 1;
pcm.buf = buf;
pcm.len = sizeof buf;
pcm.pos = 0;
@@ -33,8 +34,15 @@ void pcm_close(void)
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
}