--- M6502/Orao.pm 2007/08/01 13:52:39 78 +++ M6502/Orao.pm 2007/08/02 12:01:09 89 @@ -39,17 +39,20 @@ 0x83FE,0x83FF, ); -=head2 init +=head2 boot Start emulator, open L, load initial ROM images, and render memory + my $orao = Orao->new({}); + $orao->boot; + =cut our $orao; select(STDERR); $| = 1; -sub init { +sub boot { my $self = shift; warn "Orao calling upstream init\n"; $self->SUPER::init( $self, @_ ); @@ -109,11 +112,13 @@ #( $A, $P, $X, $Y, $S, $IPeriod ) = ( 1, 2, 3, 4, 5, 6 ); - warn "Orao init finished", + warn "Orao boot finished", $self->trace ? ' trace' : '', $self->debug ? ' debug' : '', "\n"; + M6502::reset(); + } =head2 load_rom @@ -279,6 +284,7 @@ my $self = shift; my ($addr) = @_; my $byte = $mem[$addr]; + confess sprintf("can't find memory at address %04x",$addr); warn sprintf("# Orao::read(%04x) = %02x\n", $addr, $byte) if $self->trace; # keyboard