libsidplayfp  1.6.2
Public Types | Public Member Functions | Protected Attributes | Static Protected Attributes | List of all members
sidemu Class Referenceabstract

#include <sidemu.h>

Inheritance diagram for sidemu:
c64sid Bank component HardSID ReSID ReSIDfp

Public Types

enum  { OUTPUTBUFFERSIZE = 5000 }
 

Public Member Functions

 sidemu (sidbuilder *builder)
 
virtual void clock ()=0
 
virtual bool lock (EventContext *env)
 Set execution environment and lock sid to it.
 
virtual void unlock ()
 Unlock sid.
 
virtual void voice (unsigned int num, bool mute)=0
 
virtual void model (SidConfig::sid_model_t model)=0
 
virtual void sampling (float systemfreq SID_UNUSED, float outputfreq SID_UNUSED, SidConfig::sampling_method_t method SID_UNUSED, bool fast SID_UNUSED)
 
const char * error () const
 
sidbuilderbuilder () const
 
int bufferpos () const
 
void bufferpos (int pos)
 
short * buffer () const
 
void poke (uint_least16_t address, uint8_t value)
 
uint8_t peek (uint_least16_t address)
 
- Public Member Functions inherited from c64sid
virtual void reset (uint8_t volume)=0
 
void reset ()
 

Protected Attributes

EventContextm_context
 
event_clock_t m_accessClk
 
short * m_buffer
 
int m_bufferpos
 
bool m_status
 
bool m_locked
 
std::string m_error
 

Static Protected Attributes

static std::string m_credit
 
static const char ERR_UNSUPPORTED_FREQ [] = "Unable to set desired output frequency."
 
static const char ERR_INVALID_SAMPLING [] = "Invalid sampling method."
 
static const char ERR_INVALID_CHIP [] = "Invalid chip model."
 

Additional Inherited Members

- Protected Member Functions inherited from component
virtual uint8_t read (uint_least8_t addr)=0
 
virtual void write (uint_least8_t addr, uint8_t data)=0
 

Detailed Description

Inherit this class to create a new SID emulation.

Member Enumeration Documentation

anonymous enum

Buffer size. 5000 is roughly 5 ms at 96 kHz

Member Function Documentation

uint8_t sidemu::peek ( uint_least16_t  address)
inlinevirtual

Bank read. You probably should override this method, except if the Bank is only used in write context.

Parameters
addressvalue to read from
Returns
value at address

Reimplemented from c64sid.

void sidemu::poke ( uint_least16_t  address,
uint8_t  value 
)
inlinevirtual

Bank write.

Override this method if you expect write operations on your bank. Leave unimplemented if it's logically/operationally impossible for writes to ever arrive to bank.

Parameters
addressaddress to write to
valuevalue to write

Reimplemented from c64sid.


The documentation for this class was generated from the following files: