--- M6502/Orao.pm 2007/07/30 21:00:36 33 +++ M6502/Orao.pm 2007/07/30 21:34:30 34 @@ -8,6 +8,7 @@ #use Time::HiRes qw(time); use File::Slurp; use Data::Dump qw/dump/; +use M6502; use base qw(Class::Accessor M6502 Screen); __PACKAGE__->mk_accessors(qw(debug trace run_for mem_dump trace)); @@ -42,7 +43,7 @@ sub init { my $self = shift; - warn "call upstream init\n"; + warn "Orao calling upstream init\n"; $self->SUPER::init( $self, @_ ); warn "staring Orao $Orao::VERSION emulation\n"; @@ -75,12 +76,14 @@ my $o = $i * 3; my ( $from, $to, $desc ) = @mmap[$o,$o+1,$o+2]; printf "%04x - %04x - %s\n", $from, $to, $desc; -# for my $a ( $from .. $to ) { -# $orao->read( $a ); -# } -# $self->sync; + for my $a ( $from .. $to ) { + $orao->read( $a ); + } + $self->sync; } + warn "Orao init finished\n"; + } =head2 load_rom @@ -128,6 +131,7 @@ return; } printf "loading %s at %04x - %04x %02x\n", $path, $addr, $addr+$size-1, $size; + return $self->poke_code( $addr, map { ord($_) } split(//,$buff) ); return $self->write_chunk( $addr, $buff ); my $chunk; @@ -215,8 +219,6 @@ =cut -my @mem = (0xff) x 0x100000; # 64Mb - =head2 read Read from memory