#include <mos6510.h>
|
static const int | SR_INTERRUPT = 2 |
| Status register interrupt bit.
|
|
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
◆ MOS6510()
Create new CPU emu.
- Parameters
-
◆ clearIRQ()
void libsidplayfp::MOS6510::clearIRQ |
( |
| ) |
|
Inform CPU that IRQ is no longer pulled low.
◆ cpuRead()
virtual uint8_t libsidplayfp::MOS6510::cpuRead |
( |
uint_least16_t |
addr | ) |
|
|
protectedpure virtual |
Get data from system environment.
- Parameters
-
- Returns
- data byte CPU requested
Implemented in libsidplayfp::c64cpu.
◆ cpuWrite()
virtual void libsidplayfp::MOS6510::cpuWrite |
( |
uint_least16_t |
addr, |
|
|
uint8_t |
data |
|
) |
| |
|
protectedpure virtual |
◆ credits()
const char * libsidplayfp::MOS6510::credits |
( |
| ) |
|
|
static |
◆ reset()
void libsidplayfp::MOS6510::reset |
( |
| ) |
|
◆ 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: