mirror of
https://github.com/TomHarte/CLK.git
synced 2024-12-25 03:32:01 +00:00
Merge pull request #1124 from TomHarte/65816Branches
65816: Fix test (and commentary) for shortened emulated branches.
This commit is contained in:
commit
d641a9c2b1
@ -856,7 +856,7 @@ template <typename BusHandler, bool uses_ready_line> void Processor<BusHandler,
|
|||||||
\
|
\
|
||||||
if( \
|
if( \
|
||||||
!registers_.emulation_flag || \
|
!registers_.emulation_flag || \
|
||||||
(registers_.pc & 0xff00) == (instruction_buffer_.value & 0xff00) \
|
(registers_.pc & 0xff00) == (data_buffer_.value & 0xff00) \
|
||||||
) { \
|
) { \
|
||||||
++next_op_; \
|
++next_op_; \
|
||||||
} \
|
} \
|
||||||
|
@ -600,9 +600,9 @@ struct CPU::WDC65816::ProcessorStorageConstructor {
|
|||||||
static void relative(AccessType, bool, const std::function<void(MicroOp)> &target) {
|
static void relative(AccessType, bool, const std::function<void(MicroOp)> &target) {
|
||||||
target(CycleFetchIncrementPC); // Offset.
|
target(CycleFetchIncrementPC); // Offset.
|
||||||
|
|
||||||
target(OperationPerform); // The branch instructions will all skip one or three
|
target(OperationPerform); // The branch instructions will skip zero, one or three
|
||||||
// of the next cycles, depending on the effect of
|
// of the next cycles, depending on the effect of
|
||||||
// the jump. It'll also calculate the correct target
|
// the jump. They'll also calculate the correct target
|
||||||
// address, placing it into the data buffer.
|
// address, placing it into the data buffer.
|
||||||
|
|
||||||
target(CycleFetchPreviousPCThrowaway); // IO.
|
target(CycleFetchPreviousPCThrowaway); // IO.
|
||||||
|
Loading…
Reference in New Issue
Block a user