|
|
1.1 ! root 1: /* ! 2: Hatari ! 3: */ ! 4: ! 5: enum { ! 6: PSG_REG_CHANNEL_A_FINE, // 0x0000 ! 7: PSG_REG_CHANNEL_A_COARSE, // 0x0001 ! 8: PSG_REG_CHANNEL_B_FINE, // 0x0010 ! 9: PSG_REG_CHANNEL_B_COARSE, // 0x0011 ! 10: PSG_REG_CHANNEL_C_FINE, // 0x0100 ! 11: PSG_REG_CHANNEL_C_COARSE, // 0x0101 ! 12: PSG_REG_NOISE_GENERATOR, // 0x0110 ! 13: PSG_REG_MIXER_CONTROL, // 0x0111 ! 14: PSG_REG_CHANNEL_A_AMP, // 0x1000 ! 15: PSG_REG_CHANNEL_B_AMP, // 0x1001 ! 16: PSG_REG_CHANNEL_C_AMP, // 0x1010 ! 17: PSG_REG_ENV_FINE, // 0x1011 ! 18: PSG_REG_ENV_COARSE, // 0x1100 ! 19: PSG_REG_ENV_SHAPE, // 0x1101 ! 20: PSG_REG_IO_PORTA, // 0x1110 ! 21: PSG_REG_IO_PORTB // 0x1111 ! 22: }; ! 23: ! 24: #define NUM_PSG_SOUND_REGISTERS 14 // Number of register, not including IO ports ! 25: ! 26: extern unsigned char PSGRegisterSelect; ! 27: extern unsigned char PSGRegisters[16]; ! 28: ! 29: extern void PSG_Reset(void); ! 30: extern void PSG_MemorySnapShot_Capture(BOOL bSave); ! 31: extern void PSG_WriteSelectRegister(unsigned short v); ! 32: extern unsigned short PSG_ReadSelectRegister(void); ! 33: extern void PSG_WriteDataRegister(unsigned short v); ! 34: extern unsigned short PSG_ReadDataRegister(void);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.