--- M6502/M6502.pm 2007/07/30 22:06:13 36 +++ M6502/M6502.pm 2007/07/30 23:28:25 38 @@ -116,4 +116,28 @@ confess "no from address"; } +=head2 push_R + +called by C to push changes in registars back to perl variables + +=cut + +sub push_R { + warn "push_R(",dump(@_),")\n"; + my ( $a, $p, $x, $y, $s, $pc ) = @_; + $PC = $pc; + $S=$s; $X=$x; $Y=$y; $P=$p; $A=$a; + dump_R(); +} + +=head2 dump_R + +helper function which dumps registers + +=cut + +sub dump_R { + warn sprintf("PC: %04x A:%02x P:%02x X:%02x Y:%02x S:%02x\n", $PC, $A, $P, $X, $Y, $S); +} + 1;