Fix r25970 red and yellow *and* a bug uncovered for pp5002 where pcm_play_dma_start wasn't actually initializing the dma_play_data with the first buffer info (must've happened during pp502x DMA conversion).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25971 a1c6a512-1295-4272-9138-f99709370657
diff --git a/firmware/export/config/sim.h b/firmware/export/config/sim.h
index 5b42394..6d2e6d2 100644
--- a/firmware/export/config/sim.h
+++ b/firmware/export/config/sim.h
@@ -10,6 +10,7 @@
 #undef CONFIG_I2C
 
 #undef HAVE_PCM_DMA_ADDRESS
+#undef HAVE_PCM_REC_DMA_ADDRESS
 
 #undef FLASH_SIZE
 
diff --git a/firmware/target/arm/pcm-pp.c b/firmware/target/arm/pcm-pp.c
index bad3f59..e0b603c 100644
--- a/firmware/target/arm/pcm-pp.c
+++ b/firmware/target/arm/pcm-pp.c
@@ -450,6 +450,9 @@
     DMA0_PER_ADDR = (unsigned long)&IISFIFO_WR;
     DMA0_FLAGS = DMA_FLAGS_UNK26;
     DMA0_INCR = DMA_INCR_RANGE_FIXED | DMA_INCR_WIDTH_32BIT;
+#else
+    dma_play_data.addr = (unsigned long)addr;
+    dma_play_data.size = size;
 #endif
 
     play_start_pcm();
diff --git a/uisimulator/sdl/sound.c b/uisimulator/sdl/sound.c
index a370ed8..dd5e434 100644
--- a/uisimulator/sdl/sound.c
+++ b/uisimulator/sdl/sound.c
@@ -282,7 +282,7 @@
 {
 }
 
-void pcm_record_more(void *start, size_t size)
+void pcm_rec_dma_record_more(void *start, size_t size)
 {
     (void)start;
     (void)size;
@@ -293,9 +293,8 @@
     return 0;
 }
 
-const void * pcm_rec_dma_get_peak_buffer(int *count)
+const void * pcm_rec_dma_get_peak_buffer(void)
 {
-    *count = 0;
     return NULL;
 }