notaz.gp2x.de
/
picodrive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
cd: rewrite pcm
[picodrive.git]
/
pico
/
pico_int.h
diff --git
a/pico/pico_int.h
b/pico/pico_int.h
index
08c7a20
..
ccc1a9b
100644
(file)
--- a/
pico/pico_int.h
+++ b/
pico/pico_int.h
@@
-378,13
+378,15
@@
struct PicoSRAM
#include "cd/LC89510.h"
\r
#include "cd/gfx_cd.h"
\r
\r
#include "cd/LC89510.h"
\r
#include "cd/gfx_cd.h"
\r
\r
+#define PCM_MIXBUF_LEN ((12500000 / 384) / 50 + 1)
\r
+
\r
struct mcd_pcm
\r
{
\r
unsigned char control; // reg7
\r
unsigned char enabled; // reg8
\r
unsigned char cur_ch;
\r
unsigned char bank;
\r
struct mcd_pcm
\r
{
\r
unsigned char control; // reg7
\r
unsigned char enabled; // reg8
\r
unsigned char cur_ch;
\r
unsigned char bank;
\r
-
int pad1
;
\r
+
unsigned int update_cycles
;
\r
\r
struct pcm_chan // 08, size 0x10
\r
{
\r
\r
struct pcm_chan // 08, size 0x10
\r
{
\r
@@
-445,6
+447,9
@@
typedef struct
CDC cdc;
\r
_scd scd;
\r
Rot_Comp rot_comp;
\r
CDC cdc;
\r
_scd scd;
\r
Rot_Comp rot_comp;
\r
+ int pcm_mixbuf[PCM_MIXBUF_LEN * 2];
\r
+ int pcm_mixpos;
\r
+ int pcm_mixbuf_dirty;
\r
} mcd_state;
\r
\r
// XXX: this will need to be reworked for cart+cd support.
\r
} mcd_state;
\r
\r
// XXX: this will need to be reworked for cart+cd support.
\r
@@
-656,6
+661,12
@@
void pcd_run_cpus(int m68k_cycles);
void pcd_soft_reset(void);
\r
void pcd_state_loaded(void);
\r
\r
void pcd_soft_reset(void);
\r
void pcd_state_loaded(void);
\r
\r
+// cd/pcm.c
\r
+void pcd_pcm_sync(unsigned int to);
\r
+void pcd_pcm_update(int *buffer, int length, int stereo);
\r
+void pcd_pcm_write(unsigned int a, unsigned int d);
\r
+unsigned int pcd_pcm_read(unsigned int a);
\r
+
\r
// pico/pico.c
\r
PICO_INTERNAL void PicoInitPico(void);
\r
PICO_INTERNAL void PicoReratePico(void);
\r
// pico/pico.c
\r
PICO_INTERNAL void PicoInitPico(void);
\r
PICO_INTERNAL void PicoReratePico(void);
\r