--- Galaksija.pm 2007/08/06 09:19:19 168 +++ Galaksija.pm 2007/09/29 12:07:12 178 @@ -8,6 +8,7 @@ use Data::Dump qw/dump/; use Z80; use Screen; +use Time::HiRes qw/time/; use base qw(Class::Accessor VRac Z80 Screen Prefs Session); __PACKAGE__->mk_accessors(qw(booted)); @@ -94,7 +95,8 @@ my $hor_pos = 0; $self->loop( sub { - Z80::exec( $_[0] ); + my $run_for = shift; + Z80::exec( $run_for ); if ( $hor_pos != $mem[ 0x2ba8 ] ) { warn "scroll 0x2ba8", $self->hexdump( 0x2ba8 ); $hor_pos = $mem[ 0x2ba8 ]; @@ -174,7 +176,7 @@ sub key_down { my ( $self, $key ) = @_; - warn "key down: $key ", $remap->{$key}; + warn "registered key down: $key ", $remap->{$key}; $self->write( 0x2000 + $remap->{$key}, 0xfe ); } @@ -184,7 +186,7 @@ sub key_up { my ( $self, $key ) = @_; - warn "key up: $key ", $remap->{$key}; + warn "registred key up: $key ", $remap->{$key}; $self->write( 0x2000 + $remap->{$key}, 0xff ); } @@ -217,6 +219,8 @@ sub render_vram { my $self = shift; + my $t = time(); + my $addr = 0x2800; my @pixels = ("\x00") x ( 32 * 16 * 13 ); @@ -247,6 +251,8 @@ $self->render_frame( $vram ); # $self->render_vram_text; + + printf("frame in %.2fs\n", time()-$t); }