MOS6510 Class Referenceabstract

`#include <mos6510.h>`

Inheritance diagram for MOS6510:

## 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

  context | The 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

  rdy | new 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:

- mos6510.h
- mos6510.cpp