|
|
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);
1.1.1.4 ! root 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);
1.1.1.3 root 42: extern void PSG_Void_WriteByte(void);
43: extern void PSG_Void_ReadByte(void);
1.1.1.2 root 44:
45: #endif /* HATARI_PSG_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.