6 |
use Carp qw/confess/; |
use Carp qw/confess/; |
7 |
use File::Slurp; |
use File::Slurp; |
8 |
use Data::Dump qw/dump/; |
use Data::Dump qw/dump/; |
9 |
use M6502; # import @mem $PC and friends |
use M6502; |
10 |
use Screen qw/$white $black/; |
use Screen; |
11 |
|
|
12 |
use base qw(Class::Accessor VRac M6502 Screen Prefs Tape Session); |
use base qw(Class::Accessor VRac M6502 Screen Prefs Tape Session); |
13 |
#__PACKAGE__->mk_accessors(qw()); |
#__PACKAGE__->mk_accessors(qw()); |
26 |
|
|
27 |
=head1 SUMMARY |
=head1 SUMMARY |
28 |
|
|
29 |
Emulator or Orao 8-bit 6502 machine popular in Croatia |
Emulator for Orao 8-bit 6502 machine popular in Croatia (especially schools) |
30 |
|
|
31 |
=cut |
=cut |
32 |
|
|
55 |
|
|
56 |
# $self->scale( 2 ); |
# $self->scale( 2 ); |
57 |
# $self->show_mem( 1 ); |
# $self->show_mem( 1 ); |
58 |
|
$self->load_session( 'session.pl' ); |
59 |
|
|
60 |
$self->open_screen; |
$self->open_screen; |
61 |
$self->load_rom({ |
$self->load_rom({ |
413 |
|
|
414 |
=cut |
=cut |
415 |
|
|
|
my @flip; |
|
|
|
|
|
foreach my $i ( 0 .. 255 ) { |
|
|
my $t = 0; |
|
|
$i & 0b00000001 and $t = $t | 0b10000000; |
|
|
$i & 0b00000010 and $t = $t | 0b01000000; |
|
|
$i & 0b00000100 and $t = $t | 0b00100000; |
|
|
$i & 0b00001000 and $t = $t | 0b00010000; |
|
|
$i & 0b00010000 and $t = $t | 0b00001000; |
|
|
$i & 0b00100000 and $t = $t | 0b00000100; |
|
|
$i & 0b01000000 and $t = $t | 0b00000010; |
|
|
$i & 0b10000000 and $t = $t | 0b00000001; |
|
|
#warn "$i = $t\n"; |
|
|
$flip[$i] = $t; |
|
|
} |
|
|
|
|
|
|
|
416 |
sub render_vram { |
sub render_vram { |
417 |
my $self = shift; |
my $self = shift; |
418 |
|
|
453 |
|
|
454 |
Dobrica Pavlinusic, C<< <dpavlin@rot13.org> >> |
Dobrica Pavlinusic, C<< <dpavlin@rot13.org> >> |
455 |
|
|
|
=head1 BUGS |
|
|
|
|
456 |
=head1 ACKNOWLEDGEMENTS |
=head1 ACKNOWLEDGEMENTS |
457 |
|
|
458 |
See also L<http://www.foing.hr/~fng_josip/orao.htm> which is source of all |
See also L<http://www.foing.hr/~fng_josip/orao.htm> which is source of all |