mirror of
https://github.com/TomHarte/CLK.git
synced 2024-11-29 12:50:28 +00:00
Fix SH=1 reset; appropriate TCS.
This commit is contained in:
parent
c0eb401d04
commit
54103f1f34
@ -69,7 +69,7 @@ template <typename BusHandler, bool uses_ready_line> void Processor<BusHandler,
|
|||||||
memory_lock_ = false;
|
memory_lock_ = false;
|
||||||
|
|
||||||
// Reenforce the top byte of S if applicable.
|
// Reenforce the top byte of S if applicable.
|
||||||
registers_.s.halves.high = stack_address();
|
registers_.s.full = stack_address();
|
||||||
} continue;
|
} continue;
|
||||||
|
|
||||||
case OperationDecode: {
|
case OperationDecode: {
|
||||||
@ -622,7 +622,7 @@ template <typename BusHandler, bool uses_ready_line> void Processor<BusHandler,
|
|||||||
// (and make reasonable guesses as to the N flag).
|
// (and make reasonable guesses as to the N flag).
|
||||||
|
|
||||||
case TXS:
|
case TXS:
|
||||||
registers_.s = registers_.x.full;
|
registers_.s = registers_.x;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TSX:
|
case TSX:
|
||||||
@ -671,10 +671,8 @@ template <typename BusHandler, bool uses_ready_line> void Processor<BusHandler,
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case TCS:
|
case TCS:
|
||||||
registers_.s.full = registers_.a.full;
|
registers_.s = registers_.a;
|
||||||
// No need to worry about byte masking here;
|
registers_.s.full = stack_address();
|
||||||
// for the stack it's handled as the emulation runs.
|
|
||||||
// Cf. the stack_address() macro.
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TSC:
|
case TSC:
|
||||||
|
Loading…
Reference in New Issue
Block a user