Acme-6502

 view release on metacpan or  search on metacpan

t/monkeynes/script_00.txt  view on Meta::CPAN

# Mem[$01FD]=F2

test pc = beef
test i = 1
test b = 1
test sp = fc
test m:01ff = 80
test m:01fe = 2
test m:01fd = f2

save verify_00.txt

t/monkeynes/script_01.txt  view on Meta::CPAN

clear
power on
regs

save verify_XX.txt

t/monkeynes/script_05.txt  view on Meta::CPAN


memset 00be 00

op a9 00
op 05 be

# Should be:  ACC=0, Z=1
test acc = 0
test z = 1

save verify_05.txt

t/monkeynes/script_06.txt  view on Meta::CPAN

clear
power on
regs

save verify_XX.txt

t/monkeynes/script_08.txt  view on Meta::CPAN

test sp = ff
test ps = 2d

op 08

# Should be: SP=FE, PS=2D, mem[$01FF]=2D
test sp = fe
test ps = 2d
test m:01ff = 2d

save verify_08.txt

t/monkeynes/script_09.txt  view on Meta::CPAN

# Zero test ----------------
power on

op a9 00
op 09 00

# Should be:  ACC=0, Z=1
test acc = 0
test z = 1

save verify_09.txt

t/monkeynes/script_0A.txt  view on Meta::CPAN

regset acc 4c

op 0a

# Should be: ACC=6A, C=0, Z=0, S=1
test acc = 98
test c = 0
test z = 0
test s = 1

save verify_0A.txt

t/monkeynes/script_0D.txt  view on Meta::CPAN


memset beef 00

op a9 00
op 0d efbe

# Should be:  ACC=0, Z=1
test acc = 0
test z = 1

save verify_0D.txt

t/monkeynes/script_0E.txt  view on Meta::CPAN

clear
power on
regs

save verify_XX.txt

t/monkeynes/script_10.txt  view on Meta::CPAN


# Load op: BPL $F7
memset 9040 10
memset 9041 F7

step

# Should be: PC=9039, cycles=4
test pc = 9039

save verify_10.txt

t/monkeynes/script_11.txt  view on Meta::CPAN

clear
power on
regs

save verify_XX.txt

t/monkeynes/script_15.txt  view on Meta::CPAN


op a9 00
op a2 0b
op 15 be

# Should be:  ACC=0, IX=0B, Z=1
test acc = 0
test ix = 0b
test z = 1

save verify_15.txt

t/monkeynes/script_16.txt  view on Meta::CPAN

clear
power on
regs

save verify_XX.txt

t/monkeynes/script_18.txt  view on Meta::CPAN

op 38

# C flag should now be 1
test c = 1

op 18

# C flag should now be 0 again
test c = 0

save verify_18.txt

t/monkeynes/script_19.txt  view on Meta::CPAN

clear
power on
regs

save verify_XX.txt

t/monkeynes/script_1D.txt  view on Meta::CPAN

clear
power on
regs

save verify_XX.txt

t/monkeynes/script_1E.txt  view on Meta::CPAN

clear
power on
regs

save verify_XX.txt

t/monkeynes/script_20.txt  view on Meta::CPAN

clear
power on
regs

save verify_XX.txt

t/monkeynes/script_21.txt  view on Meta::CPAN

clear
power on
regs

save verify_XX.txt

t/monkeynes/script_24.txt  view on Meta::CPAN

# Z should be 0
test z = 0

# this should turn on Z
memset 00ab 00
op 24 ab

# Z should be 1
test z = 1

save verify_24.txt

t/monkeynes/script_25.txt  view on Meta::CPAN


memset 00be aa

op a9 84
op 25 be

# Should be:  ACC=80, S=1
test acc = 80
test s = 1

save verify_25.txt

t/monkeynes/script_26.txt  view on Meta::CPAN

clear
power on
regs

save verify_XX.txt

t/monkeynes/script_28.txt  view on Meta::CPAN


# Should be: PS=20
test ps = 20

op 28

# Should be: SP=FF, PS=2D
test sp = ff
test ps = 2d

save verify_28.txt

t/monkeynes/script_29.txt  view on Meta::CPAN

# Negative test ----------------
power on

op a9 84
op 29 aa

# Should be:  ACC=80, S=1
test acc = 80
test s = 1

save verify_29.txt

t/monkeynes/script_2A.txt  view on Meta::CPAN

clear
power on
regs

save verify_XX.txt

t/monkeynes/script_2C.txt  view on Meta::CPAN

# Z should be 0
test z = 0

# this should turn on Z
memset 1000 00
op 2c 0010

# Z should be 1
test z = 1

save verify_2C.txt

t/monkeynes/script_2D.txt  view on Meta::CPAN


memset beef aa

op a9 84
op 2d efbe

# Should be:  ACC=80, S=1
test acc = 80
test s = 1

save verify_2D.txt

t/monkeynes/script_2E.txt  view on Meta::CPAN

clear
power on
regs

save verify_XX.txt

t/monkeynes/script_30.txt  view on Meta::CPAN


# Load op: BMI $F7
memset 9040 30
memset 9041 F7

step

# Should be: PC=9039, cycles=4
test pc = 9039

save verify_30.txt

t/monkeynes/script_31.txt  view on Meta::CPAN

clear
power on
regs

save verify_XX.txt



( run in 1.235 second using v1.01-cache-2.11-cpan-5467b0d2c73 )