--- M6502/Orao.pm 2007/08/03 10:29:33 109 +++ M6502/Orao.pm 2007/08/03 12:21:47 110 @@ -131,6 +131,9 @@ my $self = shift; $self->boot if ( ! $self->booted ); + + $self->load_tape( '../oraoigre/bdash.tap' ); + $self->loop; }; @@ -327,6 +330,9 @@ } elsif ( $self->key_down( 'left shift' ) || $self->key_down( 'right shift' ) ) { warn "shift\n"; return 16; +# } elsif ( $self->tape ) { +# warn "has tape!"; +# return 0; } return $keyboard_none; }, @@ -578,7 +584,10 @@ } elsif ( $c =~ m/^s/i ) { $self->save_dump( $v || 'mem.dump', @v ); $last = ''; - } elsif ( $c =~ m/^r/i ) { + } elsif ( $c =~ m/^re/i ) { # reset + M6502::reset(); + $last = 'r 1'; + } elsif ( $c =~ m/^r/i ) { # run $run_for = $v || 1; print "run_for $run_for instructions\n"; $show_R = 1; @@ -592,7 +601,10 @@ $show_R = 1; last; } elsif ( $c =~ m/^tape/ ) { - if ( ! $v ) { + if ( $c =~ m/rate/ ) { + $self->tape_rate( $v ); + warn "will read table with rate $v\n"; + } elsif ( ! $v ) { warn "ERROR: please specify tape name!\n"; } elsif ( ! -e $v ) { warn "ERROR: tape $v: $!\n";