54 |
}); |
}); |
55 |
|
|
56 |
$self->load_oraoemu( 'dump/orao-1.2' ); |
$self->load_oraoemu( 'dump/orao-1.2' ); |
57 |
$self->load_oraoemu( 'dump/SCRINV.BIN' ); |
$self->load_oraoemu( 'dump/SCRINV.BIN', 0x1000 ); |
58 |
$PC = 0x1000; |
$PC = 0x1000; |
59 |
|
|
60 |
$orao = $self; |
$orao = $self; |
104 |
$self->sync; |
$self->sync; |
105 |
$self->trace( $trace ); |
$self->trace( $trace ); |
106 |
|
|
107 |
( $A, $P, $X, $Y, $S, $IPeriod ) = ( 1, 2, 3, 4, 5, 6 ); |
#( $A, $P, $X, $Y, $S, $IPeriod ) = ( 1, 2, 3, 4, 5, 6 ); |
108 |
|
|
109 |
warn "Orao init finished", $self->trace ? ' trace on' : '', "\n"; |
warn "Orao init finished", $self->trace ? ' trace on' : '', "\n"; |
110 |
|
|
255 |
my $self = shift; |
my $self = shift; |
256 |
my ($addr) = @_; |
my ($addr) = @_; |
257 |
my $byte = $mem[$addr]; |
my $byte = $mem[$addr]; |
258 |
warn "# Orao::read(",dump(@_),") = ",dump( $byte ),"\n" if $self->debug; |
warn "# Orao::read(",dump(@_),") = ",dump( $byte ),"\n" if $self->trace; |
259 |
$self->mmap_pixel( $addr, 0, $byte, 0 ); |
$self->mmap_pixel( $addr, 0, $byte, 0 ); |
260 |
return $byte; |
return $byte; |
261 |
} |
} |
270 |
|
|
271 |
sub write { |
sub write { |
272 |
my $self = shift; |
my $self = shift; |
273 |
warn "# Orao::write(",dump(@_),")\n" if $self->debug; |
warn "# Orao::write(",dump(@_),")\n" if $self->trace; |
274 |
my ($addr,$byte) = @_; |
my ($addr,$byte) = @_; |
275 |
|
|
276 |
if ( $addr >= 0x6000 && $addr < 0x8000 ) { |
if ( $addr >= 0x6000 && $addr < 0x8000 ) { |