--- np2/sound/psggen.h 2003/10/22 14:13:25 1.2 +++ np2/sound/psggen.h 2003/12/24 14:01:56 1.7 @@ -14,9 +14,10 @@ enum { typedef struct { SINT32 freq; SINT32 count; - BYTE *pvol; + SINT32 *pvol; // !! UINT16 puchi; - UINT16 padding; + BYTE pan; + BYTE padding; } PSGTONE; typedef struct { @@ -29,9 +30,7 @@ typedef struct { BYTE tune[3][2]; // 0 BYTE noise; // 6 BYTE mixer; // 7 - BYTE vol0; // 8 - BYTE vol1; // 9 - BYTE vol2; // a + BYTE vol[3]; // 8 BYTE envtime[2]; // b BYTE env; // d BYTE io1; @@ -44,10 +43,11 @@ typedef struct { PSGREG reg; UINT16 envcnt; UINT16 envmax; + BYTE mixer; BYTE envmode; BYTE envvol; char envvolcnt; - BYTE mixer; + SINT32 evol; // !! UINT puchicount; } _PSGGEN, *PSGGEN; @@ -68,8 +68,9 @@ void psggen_initialize(UINT rate); void psggen_setvol(UINT vol); void psggen_reset(PSGGEN psg); -void psggen_setreg(PSGGEN psg, BYTE reg, BYTE val); -BYTE psggen_getreg(PSGGEN psg, BYTE reg); +void psggen_setreg(PSGGEN psg, REG8 reg, REG8 val); +REG8 psggen_getreg(PSGGEN psg, REG8 reg); +void psggen_setpan(PSGGEN psg, UINT ch, REG8 pan); void SOUNDCALL psggen_getpcm(PSGGEN psg, SINT32 *pcm, UINT count);