| 
    SGDK
    
   A free and open development kit for the Sega Mega Drive 
   | 
 
PSG support. More...
Go to the source code of this file.
Macros | |
| #define | PSG_PORT 0xC00011 | 
| PSG port address.  | |
| #define | PSG_ENVELOPE_MIN 15 | 
| Minimum PSG envelope value.  | |
| #define | PSG_ENVELOPE_MAX 0 | 
| Maximum PSG envelope value.  | |
| #define | PSG_NOISE_TYPE_PERIODIC 0 | 
| Periodic noise type (like low-frequency tone).  | |
| #define | PSG_NOISE_TYPE_WHITE 1 | 
| White noise type (hiss).  | |
| #define | PSG_NOISE_FREQ_CLOCK2 0 | 
| Noise frequency = PSG clock / 2 (less coarse).  | |
| #define | PSG_NOISE_FREQ_CLOCK4 1 | 
| Noise frequency = PSG clock / 4.  | |
| #define | PSG_NOISE_FREQ_CLOCK8 2 | 
| Noise frequency = PSG clock / 8 (more coarse).  | |
| #define | PSG_NOISE_FREQ_TONE3 3 | 
| Noise frequency = Tone generator #3.  | |
| #define | PSG_init() | 
Functions | |
| void | PSG_reset (void) | 
| Reset PSG chip.  | |
| void | PSG_write (u8 data) | 
| Write to PSG port.   | |
| void | PSG_setEnvelope (u8 channel, u8 value) | 
| Set envelope level.   | |
| void | PSG_setTone (u8 channel, u16 value) | 
| Set tone.   | |
| void | PSG_setToneLow (u8 channel, u8 value) | 
| Partial set tone (low bit only b3-b0).   | |
| void | PSG_setFrequency (u8 channel, u16 value) | 
| Set frequency.   | |
| void | PSG_setNoise (u8 type, u8 frequency) | 
| Set noise type and frequency.   | |
PSG support.
This unit provides access to the PSG through the 68000 CPU
| #define PSG_init | ( | ) | 
Set envelope level.
| channel | Channel we want to set envelope (0-3). | 
| value | Envelope level to set (PSG_ENVELOPE_MIN - PSG_ENVELOPE_MAX). | 
Set envelope level for the specified PSG channel.
Set frequency.
| channel | Channel we want to set frequency (0-3). | 
| value | Frequency value to set in Hz (0-4095). | 
Set frequency for the specified PSG channel.
 This method actually converts the specified frequency value in PSG tone value. 
Set noise type and frequency.
| type | Noise type, accepted values are: PSG_NOISE_TYPE_PERIODIC PSG_NOISE_TYPE_WHITE  | 
| frequency | Noise frequency, accepted values are: PSG_NOISE_FREQ_CLOCK2 PSG_NOISE_FREQ_CLOCK4 PSG_NOISE_FREQ_CLOCK8 PSG_NOISE_FREQ_TONE3  | 
Set tone.
| channel | Channel we want to set tone (0-3). | 
| value | Tone value to set (0-1023). | 
Set direct tone value for the specified PSG channel.
Partial set tone (low bit only b3-b0).
| channel | Channel we want to set tone (0-3). | 
| value | Low bit (b3-b0) of tone value to set (0-15) | 
Set low part of tone value for the specified PSG channel.
| void PSG_write | ( | u8 | data | ) | 
Write to PSG port.
| data | value to write to the port. | 
Write the specified value to PSG data port.