62 |
my $a = 0x1000 + $byte * 100; |
my $a = 0x1000 + $byte * 100; |
63 |
cmp_ok( M6502::_write($a,$byte), '==', $byte, 'M6502::_write' ); |
cmp_ok( M6502::_write($a,$byte), '==', $byte, 'M6502::_write' ); |
64 |
cmp_ok( $mem[$a], '==', $byte, '$mem' ); |
cmp_ok( $mem[$a], '==', $byte, '$mem' ); |
65 |
|
# is( M6502::mem_peek( $a ), $byte, 'M6502::mem_peek' ); |
66 |
cmp_ok( M6502::_read($a), '==', $byte, 'M6502::_read' ); |
cmp_ok( M6502::_read($a), '==', $byte, 'M6502::_read' ); |
67 |
} |
} |
68 |
|
|
109 |
M6502::set_write_callback( $_ ) foreach ( 0x6000 .. 0x6010 ); |
M6502::set_write_callback( $_ ) foreach ( 0x6000 .. 0x6010 ); |
110 |
dump_callbacks('after set_write_callback'); |
dump_callbacks('after set_write_callback'); |
111 |
|
|
112 |
# flip bytes 6502 asm |
diag 'flip bytes 6502 asm'; |
113 |
my $a = 0x1000; |
my $a = 0x1000; |
114 |
|
|
115 |
$mem[$a++] = $_ foreach ( |
$mem[$a++] = $_ foreach ( |
122 |
0xd9, 0x60, 0x00, |
0xd9, 0x60, 0x00, |
123 |
); |
); |
124 |
|
|
125 |
$mem[$_] = $test->{fill} foreach ( 0x6000 .. 0x7ffff ); |
diag 'clean video ram'; |
126 |
|
$mem[$_] = $test->{fill} foreach ( 0x6000 .. 0x7fff ); |
127 |
|
|
128 |
diag dump_R(); |
diag dump_R(); |
129 |
$PC = 0x1000; |
$PC = 0x1000; |
137 |
|
|
138 |
foreach my $a ( 0x6000 .. 0x600c ) { |
foreach my $a ( 0x6000 .. 0x600c ) { |
139 |
cmp_ok( $mem[$a], '==', $test->{expect}, sprintf('flipped 1st %04x %08b -> %08b',$a, $test->{fill}, $mem[$a]) ); |
cmp_ok( $mem[$a], '==', $test->{expect}, sprintf('flipped 1st %04x %08b -> %08b',$a, $test->{fill}, $mem[$a]) ); |
|
# cmp_ok( M6502::get_callback( $a ), '==', $test->{callbacks}, 'callback' ); |
|
140 |
} |
} |
141 |
|
|
142 |
dump_callbacks; |
dump_callbacks; |
147 |
|
|
148 |
foreach my $a ( 0x6000 .. 0x600c ) { |
foreach my $a ( 0x6000 .. 0x600c ) { |
149 |
is( $mem[$a], $test->{fill}, sprintf('flipped 2nd %04x %08b -> %08b',$a, $test->{fill}, $mem[$a]) ); |
is( $mem[$a], $test->{fill}, sprintf('flipped 2nd %04x %08b -> %08b',$a, $test->{fill}, $mem[$a]) ); |
|
# is( M6502::get_callback( $a ), $test->{callbacks}, 'callback' ); |
|
150 |
} |
} |
151 |
|
|
152 |
dump_callbacks; |
dump_callbacks; |