Acme-6502
view release on metacpan or search on metacpan
lib/Acme/6502.pm view on Meta::CPAN
Create a new 6502 CPU.
=item C<call_os( $vec_number )>
Subclass to provide OS entry points. OS vectors are installed by calling
C<make_vector>. When the vector is called C<call_os()> will be called
with the vector number.
=item C<get_a()>
Read the current value of the processor A register (accumulator).
=item C<get_p()>
Read the current value of the processor status register.
=item C<get_pc()>
Read the current value of the program counter.
=item C<get_s()>
Read the current value of the stack pointer.
=item C<get_x()>
Read the current value of the processor X index register.
=item C<get_y()>
Read the current value of the processor X index register.
=item C<get_xy()>
Read the value of X and Y as a sixteen bit number. X forms the lower 8
bits of the value and Y forms the upper 8 bits.
=item C<get_state()>
Returns an array containing the values of the A, X, Y, S, P and SP.
=item C<set_a( $value )>
Set the value of the processor A register (accumulator).
=item C<set_p( $value )>
Set the value of the processor status register.
=item C<set_pc( $value )>
Set the value of the program counter.
=item C<set_s( $value )>
Set the value of the stack pointer.
=item C<set_x( $value )>
lib/Acme/6502/Tube.pm view on Meta::CPAN
$cpu->set_pc(0x8000);
$cpu->set_a(0x01);
$cpu->set_s(0xFF);
$cpu->set_p(0x22);
# Run
$cpu->run(2000_000) while 1;
=head1 DESCRIPTION
Emulates an Acorn BBC Micro 6502 Tube second processor. You'll need
to find your own language ROM to load and it's only been tested with
BBC Basic II.
=head1 INTERFACE
See L<Acme::6502>. C<Acme::6502::Tube> is an C<Acme::6502> instance that
has been initialised with a skeleton Tube OS.
=head1 CONFIGURATION AND ENVIRONMENT
( run in 0.381 second using v1.01-cache-2.11-cpan-8d75d55dd25 )