|
|
1.1 root 1: /*
2: Hatari
1.1.1.2 ! root 3:
! 4: This file is distributed under the GNU Public License, version 2 or at
! 5: your option any later version. Read the file gpl.txt for details.
1.1 root 6: */
7:
1.1.1.2 ! root 8: #ifndef HATARI_PSG_H
! 9: #define HATARI_PSG_H
! 10:
! 11: enum
! 12: {
! 13: PSG_REG_CHANNEL_A_FINE, /* 0x0000 */
! 14: PSG_REG_CHANNEL_A_COARSE, /* 0x0001 */
! 15: PSG_REG_CHANNEL_B_FINE, /* 0x0010 */
! 16: PSG_REG_CHANNEL_B_COARSE, /* 0x0011 */
! 17: PSG_REG_CHANNEL_C_FINE, /* 0x0100 */
! 18: PSG_REG_CHANNEL_C_COARSE, /* 0x0101 */
! 19: PSG_REG_NOISE_GENERATOR, /* 0x0110 */
! 20: PSG_REG_MIXER_CONTROL, /* 0x0111 */
! 21: PSG_REG_CHANNEL_A_AMP, /* 0x1000 */
! 22: PSG_REG_CHANNEL_B_AMP, /* 0x1001 */
! 23: PSG_REG_CHANNEL_C_AMP, /* 0x1010 */
! 24: PSG_REG_ENV_FINE, /* 0x1011 */
! 25: PSG_REG_ENV_COARSE, /* 0x1100 */
! 26: PSG_REG_ENV_SHAPE, /* 0x1101 */
! 27: PSG_REG_IO_PORTA, /* 0x1110 */
! 28: PSG_REG_IO_PORTB /* 0x1111 */
1.1 root 29: };
30:
1.1.1.2 ! root 31: #define NUM_PSG_SOUND_REGISTERS 14 /* Number of register, not including IO ports */
1.1 root 32:
1.1.1.2 ! root 33: extern Uint8 PSGRegisterSelect;
! 34: extern Uint8 PSGRegisters[16];
1.1 root 35:
36: extern void PSG_Reset(void);
37: extern void PSG_MemorySnapShot_Capture(BOOL bSave);
1.1.1.2 ! root 38: extern void PSG_SelectRegister_WriteByte(void);
! 39: extern void PSG_SelectRegister_ReadByte(void);
! 40: extern void PSG_DataRegister_WriteByte(void);
! 41: extern void PSG_DataRegister_ReadByte(void);
! 42:
! 43: #endif /* HATARI_PSG_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.