/[VRac]/Orao.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 /Orao.pm

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

revision 207 by dpavlin, Mon Apr 14 18:19:06 2008 UTC revision 209 by dpavlin, Mon Apr 14 19:55:29 2008 UTC
# Line 85  sub run { Line 85  sub run {
85          $self->debug( 0 );          $self->debug( 0 );
86    
87          warn "rendering memory\n";          warn "rendering memory\n";
88          $self->render_mem( @mem );          $self->render_mem( M6502::mem_peek_region(0x0000,0xffff) );
89    
90          if ( $self->show_mem ) {          if ( $self->show_mem ) {
91    
# Line 127  sub run { Line 127  sub run {
127                  my $run_for = shift;                  my $run_for = shift;
128                  warn sprintf("about to exec from PC %04x for %d cycles\n", $PC, $run_for) if $self->trace;                  warn sprintf("about to exec from PC %04x for %d cycles\n", $PC, $run_for) if $self->trace;
129                  M6502::exec( $run_for );                  M6502::exec( $run_for );
130  #               $self->render_vram;                  $self->render_vram;
131          });          });
132  };  };
133    
# Line 406  sub write { Line 406  sub write {
406          $self->render_vram if ( $addr >= 0x6000 && $addr <= 0x7fff );          $self->render_vram if ( $addr >= 0x6000 && $addr <= 0x7fff );
407    
408          $self->mmap_pixel( $addr, $byte, 0, 0 ) if $self->show_mem;          $self->mmap_pixel( $addr, $byte, 0, 0 ) if $self->show_mem;
409          $mem[$addr] = $byte;  #       $mem[$addr] = $byte;
410          return;          return;
411  }  }
412    
# Line 423  Render one frame of video ram Line 423  Render one frame of video ram
423  sub render_vram {  sub render_vram {
424          my $self = shift;          my $self = shift;
425    
426          my $pixels = pack("C*", map { $flip[$_] } @mem[ 0x6000 .. 0x7fff ]);  #       my $pixels = pack("C*", map { $flip[$_] } @mem[ 0x6000 .. 0x7fff ]);
427    #       my $pixels = pack("C*", map { $flip[$_] } $self->ram( 0x6000, 0x7fff ));
428            my $pixels = M6502::mem_peek_region( 0x6000, 0x7fff );
429    
430          my $vram = SDL::Surface->new(          my $vram = SDL::Surface->new(
431                  -width => 256,                  -width => 256,
# Line 435  sub render_vram { Line 437  sub render_vram {
437          $vram->set_colors( 0, $black, $white );          $vram->set_colors( 0, $black, $white );
438    
439          $self->render_frame( $vram );          $self->render_frame( $vram );
   
         print '.';  
440  }  }
441    
442  =head2 cpu_PC  =head2 cpu_PC
# Line 469  sub _init_callbacks { Line 469  sub _init_callbacks {
469          M6502::set_all_callbacks( 0x00 );          M6502::set_all_callbacks( 0x00 );
470    
471          # video ram          # video ram
472          M6502::set_write_callback( $_ ) foreach ( 0x6000 .. 0x7fff );  #       M6502::set_write_callback( $_ ) foreach ( 0x6000 .. 0x7fff );
473          # keyboard          # keyboard
474          M6502::set_read_callback( $_ ) foreach ( keys %$keyboard );          M6502::set_read_callback( $_ ) foreach ( keys %$keyboard );
475          # tape          # tape

Legend:
Removed from v.207  
changed lines
  Added in v.209

  ViewVC Help
Powered by ViewVC 1.1.26