mirror of
https://github.com/TomHarte/CLK.git
synced 2024-11-22 12:33:29 +00:00
Invents some additional PEA tests, and further fixes PEA.
This commit is contained in:
parent
8d39c3bc98
commit
d81053ea38
@ -487,7 +487,7 @@ template <Analyser::Static::Macintosh::Target::Model model> class ConcreteMachin
|
||||
CB1 = clock (input)
|
||||
|
||||
CA2 is used for receiving RTC interrupts.
|
||||
CA1 is used for receiving vsync maybe?
|
||||
CA1 is used for receiving vsync.
|
||||
*/
|
||||
if(port == Port::B && line == Line::Two) keyboard_.set_input(value);
|
||||
else printf("Unhandled control line output: %c %d\n", port ? 'B' : 'A', int(line));
|
||||
|
@ -863,7 +863,7 @@ struct ProcessorStorageConstructor {
|
||||
// Temporary storage for the Program fields.
|
||||
ProcessorBase::Program program;
|
||||
|
||||
// if(instruction == 0xe569) {
|
||||
// if(instruction == 0x4879) {
|
||||
// printf("");
|
||||
// }
|
||||
|
||||
@ -2455,16 +2455,16 @@ struct ProcessorStorageConstructor {
|
||||
|
||||
case Ind: // PEA (An)
|
||||
operation = Operation::MOVEAl;
|
||||
op(Action::PerformOperation);
|
||||
op(int(Action::Decrement4) | MicroOp::DestinationMask);
|
||||
op(int(Action::CopyToEffectiveAddress) | MicroOp::DestinationMask);
|
||||
op(Action::PerformOperation, seq("np nW+ nw", { ea(1), ea(1) }));
|
||||
op(int(Action::CopyToEffectiveAddress) | MicroOp::DestinationMask, seq("np nW+ nw", { ea(1), ea(1) }));
|
||||
break;
|
||||
|
||||
case XXXl: // PEA (XXX).l
|
||||
case XXXw: // PEA (XXX).w
|
||||
op(int(Action::Decrement4) | MicroOp::DestinationMask, (mode == XXXl) ? seq("np") : nullptr);
|
||||
op(address_assemble_for_mode(mode) | MicroOp::SourceMask);
|
||||
op(int(Action::Decrement4) | MicroOp::DestinationMask);
|
||||
op(int(Action::CopyToEffectiveAddress) | MicroOp::DestinationMask, (mode == XXXl) ? seq("np") : nullptr);
|
||||
op(int(Action::CopyToEffectiveAddress) | MicroOp::DestinationMask);
|
||||
op(Action::PerformOperation, seq("np nW+ nw np", { ea(1), ea(1) }));
|
||||
break;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user