mirror of
https://github.com/TomHarte/CLK.git
synced 2024-07-05 10:28:58 +00:00
There's not a lot to STP and WAI from a bus program point of view.
This commit is contained in:
parent
3dc22a9fd5
commit
473799cb62
@ -518,7 +518,19 @@ struct CPU::WDC65816::ProcessorStorageConstructor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 19c. Stop the Clock.
|
// 19c. Stop the Clock.
|
||||||
|
static void stp(AccessType, bool, const std::function<void(MicroOp)> &target) {
|
||||||
|
target(CycleFetchPC); // IO
|
||||||
|
target(CycleFetchPC); // IO
|
||||||
|
target(OperationPerform);
|
||||||
|
}
|
||||||
|
|
||||||
// 19d. Wait for interrupt.
|
// 19d. Wait for interrupt.
|
||||||
|
static void wai(AccessType, bool, const std::function<void(MicroOp)> &target) {
|
||||||
|
target(CycleFetchPC); // IO
|
||||||
|
target(CycleFetchPC); // IO
|
||||||
|
target(OperationPerform);
|
||||||
|
}
|
||||||
|
|
||||||
// 20. Relative; r.
|
// 20. Relative; r.
|
||||||
// 21. Relative long; rl.
|
// 21. Relative long; rl.
|
||||||
// 22a. Stack; s, abort/irq/nmi/res.
|
// 22a. Stack; s, abort/irq/nmi/res.
|
||||||
@ -759,7 +771,7 @@ ProcessorStorage::ProcessorStorage() {
|
|||||||
/* 0xc8 INY i */ op(implied, INY);
|
/* 0xc8 INY i */ op(implied, INY);
|
||||||
/* 0xc9 CMP # */ op(immediate, CMP);
|
/* 0xc9 CMP # */ op(immediate, CMP);
|
||||||
/* 0xca DEX i */ op(implied, DEC);
|
/* 0xca DEX i */ op(implied, DEC);
|
||||||
/* 0xcb WAI i */
|
/* 0xcb WAI i */ op(wai, WAI);
|
||||||
/* 0xcc CPY a */ op(absolute, CPY);
|
/* 0xcc CPY a */ op(absolute, CPY);
|
||||||
/* 0xcd CMP a */ op(absolute, CMP);
|
/* 0xcd CMP a */ op(absolute, CMP);
|
||||||
/* 0xce DEC a */ op(absolute_rmw, DEC);
|
/* 0xce DEC a */ op(absolute_rmw, DEC);
|
||||||
@ -776,7 +788,7 @@ ProcessorStorage::ProcessorStorage() {
|
|||||||
/* 0xd8 CLD i */ op(implied, CLD);
|
/* 0xd8 CLD i */ op(implied, CLD);
|
||||||
/* 0xd9 CMP a, y */ op(absolute_y, CMP);
|
/* 0xd9 CMP a, y */ op(absolute_y, CMP);
|
||||||
/* 0xda PHX s */
|
/* 0xda PHX s */
|
||||||
/* 0xdb STP i */
|
/* 0xdb STP i */ op(stp, STP);
|
||||||
/* 0xdc JML (a) */ op(absolute_indirect_jml, JML);
|
/* 0xdc JML (a) */ op(absolute_indirect_jml, JML);
|
||||||
/* 0xdd CMP a, x */ op(absolute_x, CMP);
|
/* 0xdd CMP a, x */ op(absolute_x, CMP);
|
||||||
/* 0xde DEC a, x */ op(absolute_x_rmw, DEC);
|
/* 0xde DEC a, x */ op(absolute_x_rmw, DEC);
|
||||||
|
@ -118,6 +118,8 @@ enum Operation: uint8_t {
|
|||||||
TAX, TAY, TCD, TCS, TDC, TSC, TSX, TXA, TXS, TXY, TYA, TYX,
|
TAX, TAY, TCD, TCS, TDC, TSC, TSX, TXA, TXS, TXY, TYA, TYX,
|
||||||
XCE, XBA,
|
XCE, XBA,
|
||||||
|
|
||||||
|
STP, WAI,
|
||||||
|
|
||||||
/// Loads the PC with the operand from the data buffer.
|
/// Loads the PC with the operand from the data buffer.
|
||||||
JMP,
|
JMP,
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user