--- np2/sound/psggen.h 2003/11/28 21:06:02 1.5 +++ np2/sound/psggen.h 2005/05/13 05:47:25 1.10 @@ -14,10 +14,10 @@ enum { typedef struct { SINT32 freq; SINT32 count; - BYTE *pvol; + SINT32 *pvol; // !! UINT16 puchi; - BYTE pan; - BYTE padding; + UINT8 pan; + UINT8 padding; } PSGTONE; typedef struct { @@ -27,14 +27,14 @@ typedef struct { } PSGNOISE; typedef struct { - BYTE tune[3][2]; // 0 - BYTE noise; // 6 - BYTE mixer; // 7 - BYTE vol[3]; // 8 - BYTE envtime[2]; // b - BYTE env; // d - BYTE io1; - BYTE io2; + UINT8 tune[3][2]; // 0 + UINT8 noise; // 6 + UINT8 mixer; // 7 + UINT8 vol[3]; // 8 + UINT8 envtime[2]; // b + UINT8 env; // d + UINT8 io1; + UINT8 io2; } PSGREG; typedef struct { @@ -43,10 +43,11 @@ typedef struct { PSGREG reg; UINT16 envcnt; UINT16 envmax; - BYTE mixer; - BYTE envmode; - BYTE envvol; - char envvolcnt; + UINT8 mixer; + UINT8 envmode; + UINT8 envvol; + SINT8 envvolcnt; + SINT32 evol; // !! UINT puchicount; } _PSGGEN, *PSGGEN; @@ -67,9 +68,10 @@ 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_setpan(PSGGEN psg, UINT ch, BYTE pan); +void psggen_restore(PSGGEN psg); +void psggen_setreg(PSGGEN psg, UINT reg, REG8 val); +REG8 psggen_getreg(PSGGEN psg, UINT reg); +void psggen_setpan(PSGGEN psg, UINT ch, REG8 pan); void SOUNDCALL psggen_getpcm(PSGGEN psg, SINT32 *pcm, UINT count);