63 |
0x1000 => 'dump/SCRINV.BIN', |
0x1000 => 'dump/SCRINV.BIN', |
64 |
# should be 0x6000, but oraoemu has 2 byte prefix |
# should be 0x6000, but oraoemu has 2 byte prefix |
65 |
0x5FFE => 'dump/screen.dmp', |
0x5FFE => 'dump/screen.dmp', |
66 |
0xC000 => 'rom/BAS12.ROM', |
# 0xC000 => 'rom/BAS12.ROM', |
67 |
0xE000 => 'rom/CRT12.ROM', |
# 0xE000 => 'rom/CRT12.ROM', |
68 |
|
0xC000 => 'rom/BAS13.ROM', |
69 |
|
0xE000 => 'rom/CRT13.ROM', |
70 |
}); |
}); |
71 |
|
|
72 |
# $PC = 0xDD11; # BC |
# $PC = 0xDD11; # BC |
134 |
sub run { |
sub run { |
135 |
my $self = shift; |
my $self = shift; |
136 |
|
|
|
$self->show_mem( 1 ); |
|
|
|
|
137 |
$self->boot if ( ! $self->booted ); |
$self->boot if ( ! $self->booted ); |
138 |
$self->loop; |
$self->loop; |
139 |
}; |
}; |
468 |
warn sprintf("# Orao::write(%04x,%02x)\n", $addr, $byte) if $self->trace; |
warn sprintf("# Orao::write(%04x,%02x)\n", $addr, $byte) if $self->trace; |
469 |
|
|
470 |
if ( $addr >= 0x6000 && $addr < 0x8000 ) { |
if ( $addr >= 0x6000 && $addr < 0x8000 ) { |
471 |
$self->vram( $addr - 0x6000 , $byte ); |
# $self->vram( $addr - 0x6000 , $byte ); |
472 |
} |
} |
473 |
|
|
474 |
if ( $addr == 0x8800 ) { |
if ( $addr == 0x8800 ) { |