libsidplayfp::MOS6510 Class Reference

`#include <mos6510.h>`

## Classes

class | haltInstruction

## Public Member Functions

| MOS6510 (EventScheduler &scheduler, CPUDataBus &bus)
uint8_t | cpuRead (uint_least16_t addr)
void | cpuWrite (uint_least16_t addr, uint8_t data)
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 constexpr int | SR_INTERRUPT = 2
| Status register interrupt bit.

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

libsidplayfp::MOS6510::MOS6510 | ( | EventScheduler & | scheduler,
|  | CPUDataBus & | bus )

Create new CPU emu.

Parameters

  context | The Event Context

## Member Function Documentation

## clearIRQ()

void libsidplayfp::MOS6510::clearIRQ | ( |  | ) |

Inform CPU that IRQ is no longer pulled low.

## credits()

const char * libsidplayfp::MOS6510::credits | ( |  | ) |

static

Module Credits.

## reset()

void libsidplayfp::MOS6510::reset | ( |  | ) |

Reset CPU Emulation.

## setRDY()

void libsidplayfp::MOS6510::setRDY | ( | bool | newRDY | ) |

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

Parameters

  newRDY | new state for RDY signal

## triggerIRQ()

void libsidplayfp::MOS6510::triggerIRQ | ( |  | ) |

Pull IRQ line low on CPU.

## triggerNMI()

void libsidplayfp::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.

## triggerRST()

void libsidplayfp::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