libsidplayfp  1.8.3
Classes | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Friends | List of all members
MOS6510 Class Referenceabstract

#include <mos6510.h>

Inheritance diagram for MOS6510:
c64cpu

Public Member Functions

virtual uint8_t cpuRead (uint_least16_t addr)=0
 
virtual void cpuWrite (uint_least16_t addr, uint8_t data)=0
 
void reset ()
 
void debug (bool enable, FILE *out)
 
void setRDY (bool newRDY)
 
void triggerRST ()
 
void triggerNMI ()
 
void triggerIRQ ()
 
void clearIRQ ()
 

Static Public Member Functions

static const char * credits ()
 

Static Public Attributes

static const int SR_INTERRUPT = 2
 Status register interrupt bit.
 

Protected Member Functions

 MOS6510 (EventContext *context)
 

Friends

class MOS6510Debug
 

Detailed Description

Cycle-exact 6502/6510 emulation core.

Code is based on work by Simon A. White sidpl.nosp@m.ay2@.nosp@m.yahoo.nosp@m..com. Original Java port by Ken Händel. Later on, it has been hacked to improve compatibility with Lorenz suite on VICE's test suite.

Author
alankila

Constructor & Destructor Documentation

MOS6510::MOS6510 ( EventContext context)
protected

Create new CPU emu

Parameters
contextThe Event Context

Member Function Documentation

void MOS6510::clearIRQ ( )

Inform CPU that IRQ is no longer pulled low.

virtual uint8_t MOS6510::cpuRead ( uint_least16_t  addr)
pure virtual

Get data from system environment.

Parameters
address
Returns
data byte CPU requested

Implemented in c64cpu.

virtual void MOS6510::cpuWrite ( uint_least16_t  addr,
uint8_t  data 
)
pure virtual

Write data to system environment.

Parameters
address
data

Implemented in c64cpu.

void MOS6510::reset ( )

Reset CPU Emulation

void MOS6510::setRDY ( bool  newRDY)

Handle bus access signals. When RDY line is asserted, the CPU will pause when executing the next read operation.

Parameters
rdynew state for RDY signal
void MOS6510::triggerIRQ ( )

Pull IRQ line low on CPU.

void MOS6510::triggerNMI ( )

Trigger NMI interrupt on the CPU. Calling this method flags that CPU must enter the NMI routine at earliest opportunity. There is no way to cancel NMI request once given.

void MOS6510::triggerRST ( )

This forces the CPU to abort whatever it is doing and immediately enter the RST interrupt handling sequence. The implementation is not compatible: instructions actually get aborted mid-execution. However, there is no possible way to trigger this signal from programs, so it's OK.


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