SGDK
A free and open development kit for the Sega Mega Drive
Loading...
Searching...
No Matches
psg.h
Go to the documentation of this file.
1
9
10#ifndef _PSG_H_
11#define _PSG_H_
12
17#define PSG_PORT 0xC00011
18
23#define PSG_ENVELOPE_MIN 15
28#define PSG_ENVELOPE_MAX 0
29
34#define PSG_NOISE_TYPE_PERIODIC 0
39#define PSG_NOISE_TYPE_WHITE 1
40
45#define PSG_NOISE_FREQ_CLOCK2 0
50#define PSG_NOISE_FREQ_CLOCK4 1
55#define PSG_NOISE_FREQ_CLOCK8 2
60#define PSG_NOISE_FREQ_TONE3 3
61
62
66#define PSG_init() _Pragma("GCC error \"This method is deprecated, use PSG_reset() instead.\"")
67
72void PSG_reset(void);
73
84void PSG_write(u8 data);
85
97void PSG_setEnvelope(u8 channel, u8 value);
109void PSG_setTone(u8 channel, u16 value);
121void PSG_setToneLow(u8 channel, u8 value);
134void PSG_setFrequency(u8 channel, u16 value);
150void PSG_setNoise(u8 type, u8 frequency);
151
152
153#endif // _PSG_H_
void PSG_setEnvelope(u8 channel, u8 value)
Set envelope level.
Definition psg.c:36
void PSG_setToneLow(u8 channel, u8 value)
Partial set tone (low bit only b3-b0).
Definition psg.c:53
void PSG_setNoise(u8 type, u8 frequency)
Set noise type and frequency.
Definition psg.c:76
void PSG_setFrequency(u8 channel, u16 value)
Set frequency.
Definition psg.c:61
void PSG_reset(void)
Reset PSG chip.
Definition psg.c:9
void PSG_setTone(u8 channel, u16 value)
Set tone.
Definition psg.c:44
void PSG_write(u8 data)
Write to PSG port.
Definition psg.c:27
unsigned short u16
Definition types.h:100
unsigned char u8
Definition types.h:95