12 |
use M6502; |
use M6502; |
13 |
|
|
14 |
use base qw(Class::Accessor M6502 Screen Prefs); |
use base qw(Class::Accessor M6502 Screen Prefs); |
15 |
__PACKAGE__->mk_accessors(qw(booted run_for)); |
__PACKAGE__->mk_accessors(qw(booted)); |
16 |
|
|
17 |
=head1 NAME |
=head1 NAME |
18 |
|
|
141 |
my $self = shift; |
my $self = shift; |
142 |
|
|
143 |
$self->boot if ( ! $self->booted ); |
$self->boot if ( ! $self->booted ); |
144 |
|
$self->loop; |
|
while ( 1 ) { |
|
|
$self->cli; |
|
|
M6502::exec($run_for); |
|
|
} |
|
145 |
}; |
}; |
146 |
|
|
147 |
=head1 Helper functions |
=head1 Helper functions |
437 |
sub cli { |
sub cli { |
438 |
my $self = shift; |
my $self = shift; |
439 |
my $a = $PC || confess "no pc?"; |
my $a = $PC || confess "no pc?"; |
440 |
|
my $run_for = 0; |
441 |
warn $self->dump_R() if $show_R; |
warn $self->dump_R() if $show_R; |
442 |
while ( my ($line, @v) = $self->prompt( $a, $last ) ) { |
while ( my ($line, @v) = $self->prompt( $a, $last ) ) { |
443 |
my $c = shift @v; |
my $c = shift @v; |
524 |
} |
} |
525 |
} |
} |
526 |
|
|
527 |
|
return $run_for; |
528 |
} |
} |
529 |
|
|
530 |
=head1 AUTHOR |
=head1 AUTHOR |