--- M6502/t/05-M6502.t 2007/08/02 11:15:57 88 +++ M6502/t/05-M6502.t 2007/08/02 12:01:09 89 @@ -6,7 +6,7 @@ use blib; use lib './lib'; -use Test::More tests => 21; +use Test::More tests => 36; use Test::Exception; use Data::Dump qw/dump/; @@ -40,7 +40,7 @@ ok( M6502::reset(), 'reset' ); -cmp_ok( $PC, '==', 0x4242, 'PC' ); +cmp_ok( $PC, '==', 0xffff, 'PC' ); diag dump_R(); @@ -56,4 +56,11 @@ ok( M6502::reset(), 'reset again' ); -cmp_ok( $PC, '==', 0x4242, 'PC' ); +cmp_ok( $PC, '==', 0xffff, 'PC' ); + +foreach my $byte ( 0x00, 0x01, 0xff, 0xaa, 0x00 ) { + my $a = 0x1000 + $byte * 100; + cmp_ok( M6502::_write($a,$byte), '==', $byte, 'M6502::_write' ); + cmp_ok( $mem[$a], '==', $byte, '$mem' ); + cmp_ok( M6502::_read($a), '==', $byte, 'M6502::_read' ); +}