/[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 33 by dpavlin, Mon Jul 30 21:00:36 2007 UTC revision 35 by dpavlin, Mon Jul 30 21:53:04 2007 UTC
# Line 8  use lib './lib'; Line 8  use lib './lib';
8  #use Time::HiRes qw(time);  #use Time::HiRes qw(time);
9  use File::Slurp;  use File::Slurp;
10  use Data::Dump qw/dump/;  use Data::Dump qw/dump/;
11    use M6502;
12    
13  use base qw(Class::Accessor M6502 Screen);  use base qw(Class::Accessor M6502 Screen);
14  __PACKAGE__->mk_accessors(qw(debug trace run_for mem_dump trace));  __PACKAGE__->mk_accessors(qw(debug trace run_for mem_dump trace));
# Line 38  Start emulator Line 39  Start emulator
39    
40  our $orao;  our $orao;
41    
 our $PC = 0x1000;  
   
42  sub init {  sub init {
43          my $self = shift;          my $self = shift;
44          warn "call upstream init\n";          warn "Orao calling upstream init\n";
45          $self->SUPER::init( $self, @_ );          $self->SUPER::init( $self, @_ );
46    
47          warn "staring Orao $Orao::VERSION emulation\n";          warn "staring Orao $Orao::VERSION emulation\n";
# Line 54  sub init { Line 53  sub init {
53                  0xE000 => 'rom/CRT12.ROM',                  0xE000 => 'rom/CRT12.ROM',
54          });          });
55    
56            $self->load_oraoemu( 'dump/orao-1.2' );
57            $self->load_oraoemu( 'dump/SCRINV.BIN' );
58            $PC = 0x1000;
59    
60          $orao = $self;          $orao = $self;
61    
62  #       $self->prompt( 0x1000 );  #       $self->prompt( 0x1000 );
# Line 75  sub init { Line 78  sub init {
78                  my $o = $i * 3;                  my $o = $i * 3;
79                  my ( $from, $to, $desc ) = @mmap[$o,$o+1,$o+2];                  my ( $from, $to, $desc ) = @mmap[$o,$o+1,$o+2];
80                  printf "%04x - %04x - %s\n", $from, $to, $desc;                  printf "%04x - %04x - %s\n", $from, $to, $desc;
81  #               for my $a ( $from .. $to ) {                  for my $a ( $from .. $to ) {
82  #                       $orao->read( $a );                          $orao->read( $a );
83  #               }                  }
84  #               $self->sync;                  $self->sync;
85          }          }
86    
87            warn "Orao init finished\n";
88    
89  }  }
90    
91  =head2 load_rom  =head2 load_rom
# Line 128  sub load_oraoemu { Line 133  sub load_oraoemu {
133                  return;                  return;
134          }          }
135          printf "loading %s at %04x - %04x %02x\n", $path, $addr, $addr+$size-1, $size;          printf "loading %s at %04x - %04x %02x\n", $path, $addr, $addr+$size-1, $size;
136            return $self->poke_code( $addr, map { ord($_) } split(//,$buff) );
137          return $self->write_chunk( $addr, $buff );          return $self->write_chunk( $addr, $buff );
138    
139          my $chunk;          my $chunk;
# Line 215  L<Acme::6502> was just too slow to handl Line 221  L<Acme::6502> was just too slow to handl
221    
222  =cut  =cut
223    
 my @mem = (0xff) x 0x100000; # 64Mb  
   
224  =head2 read  =head2 read
225    
226  Read from memory  Read from memory

Legend:
Removed from v.33  
changed lines
  Added in v.35

  ViewVC Help
Powered by ViewVC 1.1.26