|
LMMS
|
#include <Snes_Spc.h>
Classes | |
| struct | regs_t |
| struct | Timer |
| struct | state_t |
| struct | spc_file_t |
Public Types | |
| enum | { sample_rate = 32000 } |
| enum | { rom_size = 0x40 } |
| enum | { clock_rate = 1024000 } |
| enum | { clocks_per_sample = 32 } |
| enum | { port_count = 4 } |
| enum | { voice_count = 8 } |
| enum | { tempo_unit = 0x100 } |
| enum | { spc_min_file_size = 0x10180 } |
| enum | { spc_file_size = 0x10200 } |
| enum | { reg_count = 0x10 } |
| enum | { timer_count = 3 } |
| enum | { extra_size = Spc_Dsp::extra_size } |
| enum | { signature_size = 35 } |
| typedef short | sample_t |
| typedef int | time_t |
Public Member Functions | |
| blargg_err_t | init () |
| void | init_rom (uint8_t const rom[rom_size]) |
| void | set_output (sample_t *out, int out_size) |
| int | sample_count () const |
| void | reset () |
| void | soft_reset () |
| int | read_port (time_t, int port) |
| void | write_port (time_t, int port, int data) |
| void | end_frame (time_t end_time) |
| void | mute_voices (int mask) |
| void | disable_surround (bool disable=true) |
| void | set_tempo (int) |
| blargg_err_t | load_spc (void const *in, long size) |
| void | clear_echo () |
| blargg_err_t | play (int count, sample_t *out) |
| blargg_err_t | skip (int count) |
| regs_t & | smp_regs () |
| uint8_t * | smp_ram () |
| void | run_until (time_t t) |
Public Attributes | |
| BLARGG_DISABLE_NOTHROW typedef int | rel_time_t |
Private Types | |
| enum | { rom_addr = 0xFFC0 } |
| enum | { skipping_time = 127 } |
| enum | { cpu_pad_fill = 0xFF } |
| enum | { r_test = 0x0 , r_control = 0x1 , r_dspaddr = 0x2 , r_dspdata = 0x3 , r_cpuio0 = 0x4 , r_cpuio1 = 0x5 , r_cpuio2 = 0x6 , r_cpuio3 = 0x7 , r_f8 = 0x8 , r_f9 = 0x9 , r_t0target = 0xA , r_t1target = 0xB , r_t2target = 0xC , r_t0out = 0xD , r_t1out = 0xE , r_t2out = 0xF } |
Private Member Functions | |
| void | timers_loaded () |
| void | enable_rom (int enable) |
| void | reset_buf () |
| void | save_extra () |
| void | load_regs (uint8_t const in[reg_count]) |
| void | ram_loaded () |
| void | regs_loaded () |
| void | reset_time_regs () |
| void | reset_common (int timer_counter_init) |
| Timer * | run_timer_ (Timer *t, rel_time_t) |
| Timer * | run_timer (Timer *t, rel_time_t) |
| int | dsp_read (rel_time_t) |
| void | dsp_write (int data, rel_time_t) |
| void | cpu_write_smp_reg_ (int data, rel_time_t, uint16_t addr) |
| void | cpu_write_smp_reg (int data, rel_time_t, uint16_t addr) |
| void | cpu_write_high (int data, uint8_t i) |
| void | cpu_write (int data, uint16_t addr, rel_time_t) |
| int | cpu_read_smp_reg (int i, rel_time_t) |
| int | cpu_read (uint16_t addr, rel_time_t) |
| unsigned | CPU_mem_bit (uint16_t pc, rel_time_t) |
| bool | check_echo_access (int addr) |
| uint8_t * | run_until_ (time_t end_time) |
| void | save_regs (uint8_t out[reg_count]) |
Private Attributes | |
| Spc_Dsp | dsp |
| signed char | reg_times [256] |
| state_t | m |
Static Private Attributes | |
| static signed char const | reg_times_ [256] |
| static char const | signature [signature_size+1] |
| typedef short Snes_Spc::sample_t |
| typedef int Snes_Spc::time_t |
|
private |
|
private |
| void Snes_Spc::clear_echo | ( | ) |
|
private |
|
private |
|
inlineprivate |
|
private |
|
private |
|
private |
|
private |
|
inlineprivate |
| blargg_err_t Snes_Spc::init | ( | ) |
|
private |
|
private |
| void Snes_Spc::reset | ( | ) |
|
private |
|
private |
|
inlineprivate |
|
private |
|
inline |
|
private |
| blargg_err_t Snes_Spc::skip | ( | int | count | ) |
|
inline |
|
inline |
| void Snes_Spc::soft_reset | ( | ) |
|
private |
|
private |
|
private |
|
private |
|
staticprivate |
| BLARGG_DISABLE_NOTHROW typedef int Snes_Spc::rel_time_t |
|
staticprivate |