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 Z80; # import |
use Z80; |
10 |
use Screen qw/$white $black/; |
use Screen; |
11 |
|
|
12 |
use base qw(Class::Accessor VRac Z80 Screen Prefs Session); |
use base qw(Class::Accessor VRac Z80 Screen Prefs Session); |
13 |
__PACKAGE__->mk_accessors(qw(booted)); |
__PACKAGE__->mk_accessors(qw(booted)); |
156 |
'a' .. 'z', |
'a' .. 'z', |
157 |
qw/up down left right space/, |
qw/up down left right space/, |
158 |
'0' .. '9', |
'0' .. '9', |
159 |
':', '"', ',', '=', '.', '/', 'enter', 'tab', |
':', '"', ',', '=', '.', '/', 'return', 'tab', |
160 |
'left alt', 'delete', 'scroll lock', 'left shift' |
'left alt', 'backspace', 'scroll lock', 'left shift' |
161 |
); |
); |
162 |
|
|
163 |
my $remap; |
my $remap; |
229 |
for my $l ( 0 .. 12 ) { |
for my $l ( 0 .. 12 ) { |
230 |
my $o = $l << 5; # *32 |
my $o = $l << 5; # *32 |
231 |
my $co = ( $l << 7 ) | $c; |
my $co = ( $l << 7 ) | $c; |
232 |
$pixels[ $a + $x + $o ] = $chars[ $co ]; |
$pixels[ $a + $x + $o ] = $flip[ $chars[ $co ] ]; |
233 |
} |
} |
234 |
} |
} |
235 |
$a += ( 32 * 13 ); # next line |
$a += ( 32 * 13 ); # next line |
242 |
-pitch => 32, # bytes per line |
-pitch => 32, # bytes per line |
243 |
-from => pack("C*", @pixels), |
-from => pack("C*", @pixels), |
244 |
); |
); |
245 |
$vram->set_colors( 0, $black, $white ); |
$vram->set_colors( 0, $white, $black ); |
246 |
|
|
247 |
$self->render_frame( $vram ); |
$self->render_frame( $vram ); |
248 |
|
|