/[VRac]/Galaksija.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /Galaksija.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 139 by dpavlin, Sat Aug 4 23:01:25 2007 UTC revision 140 by dpavlin, Sun Aug 5 01:02:59 2007 UTC
# Line 90  sub run { Line 90  sub run {
90    
91          Z80::reset();          Z80::reset();
92    
93            my $hor_pos = 0;
94    
95          $self->loop( sub {          $self->loop( sub {
96                  Z80::exec( $_[0] );                  Z80::exec( $_[0] );
97                    if ( $hor_pos != $mem[ 0x2ba8 ] ) {
98                            warn "scroll 0x2ba8", $self->hexdump( 0x2ba8 );
99                            $hor_pos = $mem[ 0x2ba8 ];
100                    }
101                  $self->render_vram;                  $self->render_vram;
102          });          });
103    
# Line 110  Read from memory Line 116  Read from memory
116    
117  =cut  =cut
118    
 my $keyboard_none = 255;  
   
119  my $keyboard = {};  my $keyboard = {};
120    
121  sub read {  sub read {
# Line 138  sub write { Line 142  sub write {
142          my ($addr,$byte) = @_;          my ($addr,$byte) = @_;
143          warn sprintf("# Galaksija::write(%04x,%02x)\n", $addr, $byte) if $self->trace;          warn sprintf("# Galaksija::write(%04x,%02x)\n", $addr, $byte) if $self->trace;
144    
145            return if ( $addr > 0x4000 );
146    
147          $self->mmap_pixel( $addr, $byte, 0, 0 ) if $self->show_mem;          $self->mmap_pixel( $addr, $byte, 0, 0 ) if $self->show_mem;
148          $mem[$addr] = $byte;          $mem[$addr] = $byte;
149          return;          return;
# Line 161  sub render_vram { Line 167  sub render_vram {
167          my $dump;          my $dump;
168    
169          for my $y ( 0 .. 15 ) {          for my $y ( 0 .. 15 ) {
170                  $dump .= sprintf "%2d: %s\n",$y, join('', map { sprintf("%02x ",$_) } @mem[ $addr .. $addr+31 ] );  #               $dump .= sprintf "%2d: %s\n",$y, join('', map { sprintf("%02x ",$_) } @mem[ $addr .. $addr+31 ] );
171                    $dump .= sprintf "%2d: %s\n",$y, join('', map { chr( $_ ) } @mem[ $addr .. $addr+31 ] );
172                  $addr += 32;                  $addr += 32;
173          }          }
174    
175            if ( $mem[ 0x2bb0 ] ) {
176                    warn "scroll", $self->hexdump( 0x2bb0 );
177            }
178    
179          if ( $dump ne $last_dump ) {          if ( $dump ne $last_dump ) {
180                  print $dump;                  print $dump;
181                  $last_dump = $dump;                  $last_dump = $dump;

Legend:
Removed from v.139  
changed lines
  Added in v.140

  ViewVC Help
Powered by ViewVC 1.1.26