--- M6502/M6502.pm 2007/07/31 11:14:19 50 +++ M6502/M6502.pm 2007/07/31 12:35:02 51 @@ -83,7 +83,23 @@ my $addr = shift; warn sprintf("## M6502::poke_code(%04x,%s)\n", $addr, dump( @_ )) if $self->debug; #$mem[$addr++] = $_ foreach @_; - $self->write($addr++, $_) foreach @_; + # call low-level write + Arch::write($addr++, $_) foreach @_; +} + +=head2 ram + +Read series of bytes into memory without MMU interaction + + my @code = $emu->ram( 0xc000, 0xc1000 ); + +=cut + +sub ram { + my $self = shift; + my ( $from, $to ) = @_; + warn sprintf("## M6502::ram(%04x,%04x)\n", $from, $to) if $self->debug; + return @mem[ $from .. $to ]; } =head2 write_chunk