/[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 36 by dpavlin, Mon Jul 30 22:06:13 2007 UTC revision 38 by dpavlin, Mon Jul 30 23:28:25 2007 UTC
# Line 61  sub init { Line 61  sub init {
61    
62  #       $self->prompt( 0x1000 );  #       $self->prompt( 0x1000 );
63    
64          warn "rendering memory map\n";          my $trace = $self->trace;
65            $self->trace( 0 );
66    
67          my @mmap = (          if ( $self->show_mem ) {
68                  0x0000, 0x03FF, 'nulti blok',  
69                  0x0400, 0x5FFF, 'korisnički RAM (23K)',                  warn "rendering memory map\n";
70                  0x6000, 0x7FFF, 'video RAM',  
71                  0x8000, 0x9FFF, 'sistemske lokacije',                  my @mmap = (
72                  0xA000, 0xAFFF, 'ekstenzija',                          0x0000, 0x03FF, 'nulti blok',
73                  0xB000, 0xBFFF, 'DOS',                          0x0400, 0x5FFF, 'korisnički RAM (23K)',
74                  0xC000, 0xDFFF, 'BASIC ROM',                          0x6000, 0x7FFF, 'video RAM',
75                  0xE000, 0xFFFF, 'sistemski ROM',                          0x8000, 0x9FFF, 'sistemske lokacije',
76          );                          0xA000, 0xAFFF, 'ekstenzija',
77                            0xB000, 0xBFFF, 'DOS',
78          foreach my $i ( 0 .. $#mmap / 3 ) {                          0xC000, 0xDFFF, 'BASIC ROM',
79                  my $o = $i * 3;                          0xE000, 0xFFFF, 'sistemski ROM',
80                  my ( $from, $to, $desc ) = @mmap[$o,$o+1,$o+2];                  );
81                  printf "%04x - %04x - %s\n", $from, $to, $desc;  
82                  for my $a ( $from .. $to ) {                  foreach my $i ( 0 .. $#mmap / 3 ) {
83                          if ( $a >= 0x6000 && $a < 0x8000 ) {                          my $o = $i * 3;
84                                  my $b = $orao->read( $a );                          my ( $from, $to, $desc ) = @mmap[$o,$o+1,$o+2];
85                                  $orao->vram( $a - 0x6000, $b );                          printf "%04x - %04x - %s\n", $from, $to, $desc;
86                          } else {                          for my $a ( $from .. $to ) {
87                                  $orao->read( $a );                                  if ( $a >= 0x6000 && $a < 0x8000 ) {
88                                            my $b = $self->read( $a );
89                                            $self->vram( $a - 0x6000, $b );
90                                    } else {
91                                            $self->read( $a );
92                                    }
93                          }                          }
94                  }                  }
95                  $self->sync;  
96            } else {
97    
98                    warn "rendering video memory\n";
99                    for my $a ( 0x6000 .. 0x7fff ) {
100                            $self->vram( $a - 0x6000, $mem[$a] );
101                    }
102            
103          }          }
104            $self->sync;
105            $self->trace( $trace );
106    
107            ( $A, $P, $X, $Y, $S, $IPeriod ) = ( 1, 2, 3, 4, 5, 6 );
108    
109          warn "Orao init finished\n";          warn "Orao init finished", $self->trace ? ' trace on' : '', "\n";
110    
111  }  }
112    

Legend:
Removed from v.36  
changed lines
  Added in v.38

  ViewVC Help
Powered by ViewVC 1.1.26