Chameleon Core Bugs (old)
Contents |
9-9g
general
Test | Cartridge | Standalone | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
9 / M1 | 9b / M1 | 9g / M1 | 9 | 9a | 9b | 9c | 9d | 9e | 9f | 9g | ||
Lorenz-2.15/Disk1.d64 (128 Tests) | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |
Lorenz-2.15/Disk2.d64 (102 Tests) | No (shaay, trap1..6, 9..12, 16..17) | yes | yes | No (shaay, trap1..6, 9..12, 16..17) | No (shaay, trap1..6, 9..12, 16..17) | yes | yes | yes | yes | yes | yes | |
Lorenz-2.15/Disk3.d64 Disk3new.d64 (20 Tests) | No (cia2ta, cia2tb) (*1) | No (cia2ta, cia2tb) (*1) | No (cia2ta, cia2tb) (*1) | No (cia1ta, cia1tb, cia2ta, cia2tb) | No (cia1ta, cia1tb, cia2ta, cia2tb) | No (imr, cia1ta, cia1tb, cia2ta, cia2tb) | No (cia1ta, cia1tb, cia2ta, cia2tb) | No (cia1ta, cia1tb, cia2ta, cia2tb) | No (cia1ta, cia1tb, cia2ta, cia2tb) | No (cia1ta, cia1tb, cia2ta, cia2tb) | No (cia1ta, cia1tb, cia2ta, cia2tb) | |
banking00/banking00.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
ram0001/quicktest.prg | no | no | yes | No | No | No | No | yes | ||||
ram0001/test1.prg | no | no | yes | No | No | No | No | No | No | yes | ||
fuxxortest.d64 | no | no | no | No | No | No | No | No | ||||
openio/dadb.prg | yes | yes | yes | |||||||||
openio/de00all.prg | yes | yes | yes | |||||||||
openio/de00int.prg | yes | yes | yes | |||||||||
raminitpattern/cyberloadtest.prg (*2) | yes | yes | yes | yes | ||||||||
raminitpattern/darkstarbbstest.prg (*2) | yes | no | yes | yes | ||||||||
raminitpattern/platoontest.prg (*2) | yes | yes | yes | yes | ||||||||
raminitpattern/typicaltest.prg (*2) | yes | no | yes | yes | ||||||||
raminitpattern/pattern00ff.prg (*2) | yes | yes | yes | yes |
(*1) TODO: cia2ta, cia2tb do not work on "new" CIA yet (*2) these might fail if not run directly after power-up
autostart
These tests should be run from the Chameleon Filebrowser
Test | 9g / M1 | 9e | 9f | |
---|---|---|---|---|
C64/autostart/basic/basictest.prg | yes | yes | yes | |
C64/autostart/basic/printpoint.prg | yes | yes | yes | |
C64/autostart/basic/printpoint2.prg | yes | yes | yes | |
C64/autostart/defaults/test.prg (*1) | no | no | no | |
C64/autostart/defaults/test.d64 (*2) | yes | yes | yes | |
C64/autostart/random/raster.prg | no | no | ||
C64/autostart/cartio/test.prg | yes | yes |
(*1) it is actually almost impossible to meet the requirements of this program when not actually going through kernal LOAD.
(*2) load the test using LOAD"TEST",8,1
freezer
Test | 9g / M1 | 9e | 9f | |
---|---|---|---|---|
C64/freezer/batest/batest.prg (*1) | yes | yes | yes | |
C64/freezer/ciairq/ciairq1t1.prg (*1) | yes | no | yes | |
C64/freezer/ciairq/ciairq1t2.prg (*1) | yes | no | yes | |
C64/freezer/ciairq/ciairq2t1.prg (*1) | yes | no | yes | |
C64/freezer/ciairq/ciairq2t2.prg (*1) | yes | no | yes | |
C64/freezer/freeze-test.prg (*1) | yes | yes | yes | |
C64/freezer/freeze-cia1.prg (*1) | yes | yes | yes | |
C64/freezer/freeze-cia2.prg (*1) | yes | yes | yes | |
C64/freezer/freeze-raster.prg (*1) | yes | yes | yes | |
C64/freezer/freeze-combined.prg (*1) | yes | yes | yes | |
C64/freezer/freezeblock.prg (*1) | no | no | no |
(*1) freeze and restart
CPU
Test | Cartridge | Standalone | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
9 / M1 | 9b / M1 | 9g / M1 | 9 | 9b | 9c | 9d | 9e | 9f | ||
cpuport/bitfade.prg | ok | ok | ok | ok | ok | ok | ||||
cpuport/test1.prg | yes | yes | yes | yes | yes | yes | ||||
cpuport/delaytime.prg | ~$17000 | ~$17000 | ~$17000 | ~$17000 | ~$17000 | ~$17000 | ||||
cpujam/cpujam.d64 (13 Tests) | ok | ok | ok | ok | ok | ok | ||||
Acid800/cpu_decimal.prg | ok | ok | ok | |||||||
Acid800/cpu_flags.prg | ok | ok | ok | |||||||
Acid800/cpu_illegal.prg | ok | ok | ok | |||||||
Acid800/cpu_insn.prg | ok | ok | ok | |||||||
Acid800/cpu_timing.prg | ok | ok | ok | |||||||
asap/cpu_ane.prg | ok | ok | ok | ok | ok | ok | ok | ok | ok | |
asap/cpu_anx.prg | ok | ok | ok | ok | ok | ok | ok | ok | ok | |
asap/cpu_decimal.prg | ok | ok | ok | ok | ok | ok | ok | ok | ok | |
asap/cpu_las.prg | ok | ok | ok | ok | ok | ok | ok | ok | ok | |
asap/cpu_shx.prg | ok | ok | ok | ok | ok | ok | ok | ok | ok | |
bclark/decimalmode.prg | ok | ok | ok | ok | ok | ok | ok | ok | ok | |
hmc6502/AllSuiteA.prg | ok | ok | ok | ok | ok | ok | ok | ok | ok | |
kdormann/6502_functional_test.prg | ok | ok | ok | |||||||
sha/shaabsy1.prg | ok | ok | ok | ok | ok | ok | ok | |||
sha/shaabsy2.prg | ok | ok | ok | ok | ok | ok | ok | |||
sha/shaabsy3.prg | ok | ok | ok | ok | ok | ok | ok | |||
sha/shazpy1.prg | ok | ok | ok | ok | ok | ok | ok | |||
sha/shazpy2.prg | ok | ok | ok | ok | ok | ok | ok | |||
sha/shazpy3.prg | ok | ok | ok | ok | ok | ok | ok | |||
shs/shsabsy1.prg | ok | ok | ok | ok | ok | ok | ok | |||
shs/shsabsy2.prg | ok | ok | ok | ok | ok | ok | ok | |||
shxy/shxy1.prg | ok | ok | ok | ok | ok | ok | ok | |||
shxy/shxy2.prg | ok | ok | ok | ok | ok | ok | ok | |||
shxy/shxy3.prg | ok | ok | ok | |||||||
shxy/shxy4.prg | ok | ok | ok | |||||||
shxy/shyx1.prg | ok | ok | ok | ok | ok | ok | ok | |||
shxy/shyx2.prg | ok | ok | ok | ok | ok | ok | ok | |||
shxy/shyx3.prg | ok | ok | ok | |||||||
shxy/shyx4.prg | ok | ok | ok |
interrupts
Note: in cartridge mode the C64s CIAs are used, so the respective tests must be selected. In standalone mode the CIAs should currently behave like "old" CIA.
Test | Cartridge | Standalone | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
9 / M1 | 9b / M1 | 9g / M1 | 9 | 9a | 9b | 9c | 9d | 9e | 9f | ||
irqdummy/irqdummy.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||
irqdma/nmitest6.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||
irqdma/nmitest6b.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||
irqdma/test1.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||
irqdma/test1b.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||
irqdma/test2.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||
irqdma/test2b.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||
irqdma/test3.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||
irqdma/test3b.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||
irqdma/test4.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||
irqdma/test4b.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||
irqdma/test5.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||
irqdma/test5b.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||
irqdma/test6.prg | no (414a) | no (414a) | no | no (414a) | no (414a) | no (414a) | no | no | no | ||
irqdma/test6b.prg | no (20fe) | no (20fe) | no | no (20fe) | no (20fe) | no (20fe) | no | no | no | ||
irqdma/test7.prg | no (22bc) | no | no (22bc) | no (22bc) | no | no | no | ||||
irqdma/test7b.prg | no (2004) | no | no (2004) | no (2004) | no | no | no | ||||
nmitest/nmitest.prg (*1) | yes | yes | no | yes | yes | yes | yes | ||||
nmitest/nmitest2.prg (*1) | yes | yes | no | yes | yes | yes | yes | ||||
irq-ackn-bug/cia1.prg cia1new.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||
irq-ackn-bug/cia2.prg cia2new.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||
irq-ackn-bug/irq-ack-vicii.prg | yes | yes | yes | no | no | no | no | no | no | ||
irq-ackn-bug/irq-ackn_after_cli.prg (*2) | yes? | yes | yes? | yes | yes | yes | |||||
irq-ackn-bug/irq-ackn_after_cli2.prg (*2) | yes? | yes | yes? | yes | yes | yes | |||||
cia-int/cia-int-irq.prg cia-int-irq-new.prg | yes | yes | yes | no | yes | no | no | no | no | ||
cia-int/cia-int-nmi.prg cia-int-nmi-new.prg | yes | yes | yes | no | yes | no | no | no | no | ||
irqnmi/irqnmi-old.prg irqnmi-new.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes |
(*1) repeatedly press RESTORE
(*2) these are non deterministic tests which have to judged by eye comparison
CIA
Note: in cartridge mode the C64s CIAs are used, so the respective tests must be selected. In standalone mode the CIAs should currently behave like "old" CIA.
Test | Cartridge | Standalone | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
9 / M1 | 9b / M1 | 9d / M1 | 9e / M1 | 9g / M1 | 9 | 9a | 9b | 9c | 9d | 9e | 9f | 9g | ||
CIA-AcountsB/cmp-b-counts-a.prg cmp-b-counts-a-new.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
cia-timer/cia-timer-oldcias.prg cia-timer-newcias.prg | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no | |||
ciaports/ciaports.prg (*1) | yes | yes | yes | no | no | no | no | no | ||||||
ciaports/ghosting.prg (*1) | yes | yes | yes | no | no | no | no | no | ||||||
ciavarious/cia1.prg (12 tests) | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
ciavarious/cia2.prg (16 tests) | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
ciavarious/cia3.prg cia3new.prg (16 tests) | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
ciavarious/cia3a.prg cia3anew.prg (16 tests) | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
ciavarious/cia4.prg cia4new.prg (24 tests) | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
ciavarious/cia5.prg (24 tests) | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
ciavarious/cia6.prg (16 tests) | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
ciavarious/cia7.prg (16 tests) | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
ciavarious/cia8.prg cia8new.prg (16 tests) | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
ciavarious/cia9.prg (6 tests) | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
ciavarious/cia10.prg (16 tests) | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
ciavarious/cia11.prg (16 tests) | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
ciavarious/cia12.prg (16 tests) | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
ciavarious/cia13.prg (16 tests) | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
ciavarious/cia14.prg (4 tests) | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
ciavarious/cia15.prg (3 tests) | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
dd0dtest/dd0dtest.prg | yes | yes | no | no | no | |||||||||
irqdelay/irqdelay-cia1-4-old.prg irqdelay-cia1-4-new.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
irqdelay/irqdelay-cia1-oneshot-4-old.prg irqdelay-cia1-oneshot-4-new.prg | yes | yes | yes | yes | no | no | yes | yes | yes | yes | yes | yes | ||
irqdelay/irqdelay-cia1-oneshot.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
irqdelay/irqdelay-cia1.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
irqdelay/irqdelay-cia2-4.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
irqdelay/irqdelay-cia2-oneshot-4.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
irqdelay/irqdelay-cia2-oneshot.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
irqdelay/irqdelay-cia2.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
irqdelay/irqdelay-oneshot.prg | yes | yes | yes | yes | yes (old,old) | yes (old,old) | yes (old,old) | yes (old,old) | yes | yes | yes | |||
irqdelay/irqdelay.prg | yes | yes | yes | yes | yes (old,old) | yes (old,old) | yes (old,old) | yes (old,old) | yes | yes | yes | |||
irqdelay/irqdelay2.prg | yes | yes | yes | yes | yes (old,old) | yes (old,old) | yes (old,old) | yes (old,old) | yes | yes | yes | |||
reload0/reload0a.prg | yes | yes | yes | no | no | no | no | |||||||
reload0/reload0b.prg | yes | yes | yes | no | no | no | no | |||||||
timerbasics/test.prg test_new.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
timerbasics/timer.prg timer_new.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
timerbasics/timer_test1.prg timer_test1_new.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
tod/0alarm.prg | yes | yes | yes | yes | no | no | no | yes | yes | yes | yes | yes | ||
tod/1alarm.prg | yes | yes | yes | yes | no | no | no | yes | yes | yes | yes | yes | ||
tod/4tod.prg | yes | yes | yes | yes | no | no | no | yes | yes | yes | yes | yes | ||
tod/4todcia1.prg | yes | yes | yes | yes | no | no | no | yes | yes | yes | yes | yes | ||
tod/5tod.prg | yes | yes | yes | yes | no | no | no | yes | yes | yes | yes | yes | ||
tod/6tod.prg | yes | yes | yes | yes | no | no | no | yes | yes | yes | yes | yes | ||
tod/alarm.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
tod/alarm-cond.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
tod/alarm-cond2.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
tod/fix-hour.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
tod/fix-min.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
tod/fix-sec.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
tod/fix-tsec.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
tod/frogger.prg | yes | yes | yes | no | yes | yes | yes | yes | yes | |||||
tod/hammerfist0.prg | yes | yes | yes | yes | yes | yes | yes | |||||||
tod/hammerfist1.prg | yes | yes | yes | yes | yes | yes | yes | |||||||
tod/hour-test.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
tod/hzsync0.prg | yes | yes | yes | yes | no | no | yes | yes | yes | yes | yes | yes | ||
tod/hzsync1.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
tod/hzsync2.prg | yes | yes | yes | yes | no | no | yes | yes | yes | yes | yes | yes | ||
tod/hzsync3.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |||
tod/hzsync4.prg | yes | yes | yes | yes | no | no | yes | yes | yes | yes | yes | yes | ||
tod/hzsync5.prg | yes | yes | yes | yes | no | no | yes | yes | yes | yes | yes | yes | ||
tod/powerup.prg | yes | yes | yes | yes | yes | no | no | no | yes | no | no | yes | no | |
tod/read-latch.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||
tod/stability.prg | yes | yes | yes | |||||||||||
tod/write-stop.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||
shiftregister/cia-sp-test-continues-old.prg cia-sp-test-continues-new.prg | yes | yes | yes | yes | no | yes | yes | yes | yes | yes | ||||
shiftregister/cia-sp-test-oneshot-old.prg cia-sp-test-oneshot-new.prg | yes | yes | yes | yes | no | yes | no | no | no | no | ||||
shiftregister/cia-icr-test-continues-old.prg cia-icr-test-continues-new.prg | yes | yes | yes | yes | yes | no | yes | yes | yes | yes | ||||
shiftregister/cia-icr-test-oneshot-old.prg cia-icr-test-oneshot-new.prg | yes | yes | yes | yes | yes | no | yes | yes | yes | yes | ||||
shiftregister/cia-icr-test2-continues.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||||
shiftregister/cia-icr-test2-oneshot.prg | yes | yes | yes | yes | no | yes | yes | yes | yes | yes |
(*1) various Keys must be pressed and results compared manually
VICII (PAL)
In cartridge mode tests are marked as non working (even) if the VGA output is incorrect and/or different from the VIC output.
Note: we take "new" VIC as reference!
Caution: some tests require "new" kernal - disable "copy roms from c64" !
when running the testbench, tests should match the references for --8565early (new color where the grey dot would be), if they match --8565late instead, colorsplits are exactly 1 pixel late
Test | Cartridge | Standalone | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
9 / M1 | 9b / M1 | 9c / M1 | 9g / M1 | 9 | 9b | 9c | 9e | 9f | 9g | ||
banking/banking.prg | yes | yes | yes | yes | |||||||
border/border-250.prg | yes | yes | yes | yes | yes | yes | yes | yes | |||
border/border-251.prg | yes | yes | yes | yes | yes | yes | yes | yes | |||
border/border-252.prg | yes | yes | yes | yes | yes | yes | yes | yes | |||
border/border-bm-idle.prg | no | no | no | no | no | no | no | no | |||
border/border-bm-ysh.prg | no | no | no | no | no | no | no | no | |||
border/border-bm-ysh2.prg | no | no | no | no | no | no | no | no | |||
border/border-mcbm.prg | no | no | no | no | no | no | no | no | |||
border/vborder.prg | yes | yes | yes | yes | |||||||
border/vborder2.prg | no (21) | no (21) | yes | no (21) | yes | ||||||
colorram/test.prg | yes | yes | yes | yes | |||||||
colorsplit/colorsplit.prg (*1) | no (VGA) | no (VGA) | no (1px too late) | no | no | no | no (1px too late) | no (1px too late) | no (1px too late) | ||
D011Test/disable-bad.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||
dentest/den01-48-0.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |
dentest/den01-48-1.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |
dentest/den01-48-2.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |
dentest/den01-49-0.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |
dentest/den01-49-1.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |
dentest/den01-49-2.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |
dentest/den10-48-0.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |
dentest/den10-48-1.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |
dentest/den10-48-2.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |
dentest/den10-51-0.prg | no | no (VGA) | yes | yes | no | no | yes | yes | yes | yes | |
dentest/den10-51-1.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |
dentest/den10-51-2.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |
dentest/den10-51-3.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |
dentest/denrsel-0.prg | no | no (VGA) | yes | yes | no | no | yes | yes | yes | yes | |
dentest/denrsel-1.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |
dentest/denrsel-2.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |
dentest/denrsel-63.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |
dentest/denrsel-s0.prg | no | no (VGA) | yes | yes | no | no | yes | yes | yes | yes | |
dentest/denrsel-s1.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |
dentest/denrsel-s2.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |
dentest/denrsel55.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | |
dmadelay/test1.prg | yes | yes | yes | yes | yes | yes | |||||
dmadelay/test2.prg | yes | yes | yes | yes | yes | yes | |||||
dmadelay/test3.prg | no | no | yes | no | no | yes | |||||
dmadelay/test4.prg | no | no | no | no | no | no | |||||
fldscroll/fldscroll.prg | no | no | |||||||||
flibug/blackmail.prg | yes | yes | yes | yes | |||||||
gfxfetch/gfxfetch.prg | yes | yes | yes | yes | yes | yes | yes | yes | |||
greydot/greydot.prg (*1) | yes | yes | no (no grey dot) | yes | yes | yes | no | no | no (no grey dot) | ||
lpcoordinates/lpcoords.prg | yes | ||||||||||
lplatency/lplatency.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||
lp-trigger/test1.prg | yes | yes | yes | yes | yes | yes | yes | ||||
lp-trigger/test2.prg test2new.prg | yes (new) | yes (new) | yes (new) | yes (new) | yes (new) | no | yes (new) | ||||
phi1timing/phi1timing.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||
rasterirq/rasterirq_hold.prg | yes | yes | yes (*2) | yes | yes | yes | yes | yes (*2) | |||
screenpos/screenpos.prg | yes | yes | yes (*2) | yes | yes | yes | yes | yes (*2) | |||
split-tests/bascan/bascan.prg | yes | yes | yes | yes | |||||||
split-tests/fetchsplit/fetchsplit.prg | no | no | no | no | no | no | no | no | |||
split-tests/lightpen/lightpen.prg | yes (6569R3/4) | yes (6569R3/4) | yes (8565R2) | no (no match) | no (no match) | no (no match) | no (no match) | no (no match) | no (no match) | ||
split-tests/modesplit/modesplit.prg | no | no | no | no | no | no | no | no | |||
vicii_timing/vicii_reg_timing.prg | no (VGA) | no | no | no | no | no | |||||
videomode/rmwtest.prg | yes | yes | yes (*2) | yes | yes | yes | yes | yes | yes (*2) | ||
videomode/videomode-v.prg | no | no (VGA) | no | no | no | no | no | no | |||
videomode/videomode-w.prg | no | no (VGA) | no | no | no | no | no | no | |||
videomode/videomode-x.prg | no | no (VGA) | no | no | no | no | no | no | |||
videomode/videomode-y.prg | no | no (VGA) | no | no | no | no | no | no | |||
videomode/videomode-z.prg | no | no (VGA) | no | no | no | no | no | no | |||
videomode/videomode1.prg | no | no (VGA) | no | no | no | no | no | no | |||
videomode/videomode2.prg | no | no (VGA) | no | no | no | no | no | no |
(*1) grey dots are not actually shown on VGA. instead where the grey dot would be, the NEW color is shown
(*2) Test fails with --8565early because the reference lines between the sprites are created with color splits, which are 1 pixel late. the actual sprites split is correct
Sprites
Test | Cartridge | Standalone | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
9 / M1 | 9b / M1 | 9c / M1 | 9g / M1 | 9 | 9b | 9c | 9e | 9g | ||
split-tests/spritescan/spritescan.prg | yes | no | no | |||||||
sprite0move/sprite0move.prg | no (VGA) | |||||||||
spritebug/spritebug.prg | yes | |||||||||
spritecollisions/sprite-gfx-collision-cycle.prg | yes | yes | yes | no | no | no | no | no | ||
spritecollisions/sprite-sprite-collision-cycle.prg | yes | yes | yes | no | no | no | no | no | ||
spritecollisions/sprite-sprite.prg | yes | yes | yes | no | yes | yes | yes | yes | ||
spritecrunch/spritecrunch.prg | yes | yes | yes | |||||||
spritecrunch/spritecrunch2.prg | yes | yes | yes | |||||||
spritedma/d017-54.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | |
spritedma/d017-57.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | |
spriteenable/spriteenable1.prg | yes | yes | yes | yes (*1) | yes | yes | yes | yes | yes (*1) | |
spriteenable/spriteenable2.prg | no | no | no (VGA) | no (VGA) | no | no | no | no | no | |
spriteenable/spriteenable3.prg | no | no | yes | yes (*1) | no | no | yes | yes | yes (*1) | |
spriteenable/spriteenable4.prg | yes | yes | yes | yes (*1) | yes | yes | yes | yes | yes (*1) | |
spriteenable/spriteenable5.prg | no | no | yes | yes (*1) | no | no | yes | yes | yes (*1) | |
spritefetchbug/test.prg | no | no | no | no | no | |||||
spritegap/spritegap2.prg | yes | no | no | |||||||
spritegap/spritegap3.prg | yes | no | no | |||||||
spritemcbase/spritemcbase.prg | yes | yes | yes | |||||||
spritepriorities/test1.prg | yes | yes | yes | yes | yes | yes | yes | yes | ||
spritesplit/ss-exp-unexp-hires.prg | yes | yes | yes (*1) | yes | yes | yes | yes (*1) | |||
spritesplit/ss-exp-unexp-mc.prg | yes | yes | yes (*1) | yes | yes | yes | yes (*1) | |||
spritesplit/ss-hires-color.prg | yes (grey dot missing) | yes (grey dot missing) | no (1px too late) | yes (grey dot missing) | no (1px too late) | no (1px too late) | no (1px too late) | |||
spritesplit/ss-hires-mc-exp.prg | no | no (VGA) | no | no | no | no | no | |||
spritesplit/ss-hires-mc.prg | no | no (VGA) | no | no | no | no | no | |||
spritesplit/ss-mc-color0.prg | yes (grey dot missing) | yes (grey dot missing) | no (1px late) | yes (grey dot missing) | no (1px late) | no (1px late) | no (1px late) | |||
spritesplit/ss-mc-color1.prg | yes (grey dot missing) | yes (grey dot missing) | no (1px late) | yes (grey dot missing) | no (1px late) | no (1px late) | no (1px late) | |||
spritesplit/ss-mc-color2.prg | yes (grey dot missing) | yes (grey dot missing) | no (1px late) | yes (grey dot missing) | no (1px late) | no (1px late) | no (1px late) | |||
spritesplit/ss-mc-hires-exp.prg | no | no (VGA) | no | no | no | no | no | |||
spritesplit/ss-mc-hires.prg | no | no (VGA) | no | no | no | no | no | |||
spritesplit/ss-pri-exp.prg | yes | yes | yes | yes | yes | yes | yes | |||
spritesplit/ss-pri-mc-exp.prg | yes | yes | yes | yes | yes | yes | yes | |||
spritesplit/ss-pri-mc.prg | yes | yes | yes | yes | yes | yes | yes | |||
spritesplit/ss-pri.prg | yes | yes | yes | yes | yes | yes | yes | |||
spritesplit/ss-unexp-exp-hires.prg | yes | yes | yes (*1) | yes | yes | yes | yes (*1) | |||
spritesplit/ss-unexp-exp-mc.prg | yes | yes | yes (*1) | yes | yes | yes | yes (*1) | |||
spritesplit/ss-xpos.prg | yes | yes | yes (*1) | yes | yes | yes | yes (*1) | |||
spritesteal/spritesteal.prg | yes | yes | yes | yes | yes | yes | yes | yes | ||
spritex/testsuite.prg | yes | yes | yes | no | no | no | no | no | ||
spritey/spritey.prg | yes | yes | yes |
(*1) Test fails with --8565early because the reference lines between the sprites are created with color splits, which are 1 pixel late. the actual sprites split is correct
movesplit/movesplit.prg can be used to examine/test sprite collisions around a mode/scroll split
VICII (NTSC)
note: NTSC tests are still being developed. NTSC tests are not (yet) incorporated into the overall numbers.
Sprites
Test | Cartridge | Standalone | |
---|---|---|---|
9a / M6 | 9f | ||
spritedma/d017-54_ntsc.prg | yes | ||
spritedma/d017-57_ntsc.prg | yes | ||
spriteenable/spriteenable1_ntsc.prg | no | no | |
spriteenable/spriteenable2_ntsc.prg | no | no | |
spriteenable/spriteenable3_ntsc.prg | no | no | |
spriteenable/spriteenable4_ntsc.prg | yes | no | |
spriteenable/spriteenable5_ntsc.prg | no | no | |
spritesteal/spritesteal_ntsc.prg | yes | no | |
spritegap/spritegap2.prg | no | ||
spritegap/spritegap3.prg | no | ||
spritepriorities/test1.prg | no | ||
spritesteal/spritesteal_ntsc.prg | no | ||
spritex/testsuite_ntsc.prg | no |
SID
(*1) in cartridge mode mouse/paddle connected to the C64 joystick ports are tested. in standalone mode the emulated mouse (ps/2) is used
(*2) due to inner workings of the SID chip, the mixed waveforms (all waveforms except $10,$20,$40,$80) will never match exactly the reference data. they should be very close however
(*3) always detected as new, even when old SID is selected
SID player
These Tests must be started using the Chameleon File Browser
Test | 9e / M1 | 9g / M1 | 9e | 9f | ||
---|---|---|---|---|---|---|
environment/basicram-v1.sid | yes | yes | yes | |||
environment/basicram-v2.sid | yes | yes | yes | |||
environment/underbasic.sid | yes | yes | yes | |||
environment/underkernal.sid | yes | yes | yes | |||
environment/underio.sid | yes | yes | yes | |||
C64/autostart/defaults/test.sid | yes | yes |
Cartridge
Test | Cartridge | Standalone | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
9 / M1 | 9a / M1 | 9b / M1 | 9d / M1 | 9g / M1 | 9 | 9b | 9d | 9e | 9f | 9g | ||
C64/carts/16kgame.crt | yes | yes | yes | yes | yes | yes | yes | yes | ||||
C64/carts/romram.crt | yes | yes | yes | yes | yes | yes | yes | yes | ||||
C64/carts/rr-reu.crt | no | no | yes | yes | no | no | yes | yes | yes | yes | ||
C64/carts/pagefox/writeram-8000.crt | no | yes | yes | yes | no | yes | yes | yes | yes | |||
C64/carts/pagefox/writeram-a000.crt | no | yes | yes | yes | no | yes | yes | yes | yes | |||
C64/carts/pagefox/godot.crt | yes | yes | yes | |||||||||
C64/carts/ef-test/ef_test.crt | no | no | ||||||||||
C64/carts/nordicpower/nptest.crt | yes | |||||||||||
C64/carts/rr-freeze/rr-freeze.crt | no | |||||||||||
C64/autostart/defaults/test.crt (*1) | yes | yes | yes | yes | yes | |||||||
C64/carts/AR+Co_AcidRamTest_0.1.d64 | no | no | yes | no | no | |||||||
C64/carts/supergames/supergames.crt | yes | yes | yes | yes | yes | yes |
(*1) repeatedly press reset to check i/o register reset behaviour
REU
Test | Cartridge | Standalone | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
9 / M1 | 9b / M1 | 9e / M1 | 9g / M1 | 9 | 9b | 9d | 9e | 9g | ||
colorram/colorram.prg | no | yes | yes | |||||||
colorram/dmacolortest.prg | yes | |||||||||
detectsize/detectreu.prg | yes | yes | yes | yes | ||||||
misc/bitfill-auto.prg | yes | yes | yes | |||||||
misc/twoblocks-auto.prg | no | no | no | |||||||
misc/twoblocks-ff00-auto.prg | no | no | no | |||||||
misc/wheels.prg | yes | yes | yes | |||||||
QuickReuTest-1.1.1/quickreu.exo.prg (*1) | no (8 fails) | no (8 fails) | no | no (4 timing, 1 regs) | no (8 fails) | no (8 fails) | no (5 fails) | no | no (4 timing, 1 regs) | |
reudetect/reudetect.prg (*2) | yes | yes | yes | yes | yes | yes | yes | yes | ||
reutiming/reutiming.prg | no | no | no | no | no | no | no | no | ||
reutiming2/a.prg | no | no | no | |||||||
reutiming2/b.prg | no | no | no | |||||||
spriteba/spriteba.prg | no | |||||||||
xfertiming/xfertiming-cmp.prg | no | no | no | |||||||
xfertiming/xfertiming-swap.prg | yes | yes | yes | |||||||
xfertiming/xfertiming-swap2.prg | yes | yes | yes | |||||||
xfertiming/xfertiming-toc64.prg | no | no | no | |||||||
xfertiming/xfertiming-toreu.prg | no | no | no |
(*1) use 512k REU when running this test
(*2) load the "blu.reu" file first
GEO-RAM
Test | Cartridge | Standalone | |||||
---|---|---|---|---|---|---|---|
9 / M1 | 9b / M1 | 9g / M1 | 9 | 9b | 9g | ||
georam64.prg | yes | yes | yes | yes | yes | yes | |
georamtest-auto.prg | yes | yes | |||||
newtest-auto.prg | yes | yes |
Drive
Test | Cartridge | Standalone | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
9 / M1 | 9a / M1 | 9b / M1 | 9c / M1 | 9d / M1 | 9g / M1 | 9 | 9b | 9c | 9d | 9e | 9f | ||
1541-testsuite/disks/pc64_1.d64 (115 tests) | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||||
1541-testsuite/disks/pc64_2.d64 (104 tests) | no (shaay.prg) | yes | yes | no (shaay.prg) | yes | yes | yes | yes | yes | ||||
diskchange/pollwp.prg (*2) | no | yes | yes | no | yes | yes | |||||||
selftest/selftest.prg | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||||
scanner/scan35.d64 | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||||
scanner/scan35err.d64 | yes | yes | yes | yes | yes | yes | yes | ||||||
scanner/scan40.d64 | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||||
scanner/scan40err.d64 | yes | yes | yes | yes | yes | yes | yes | ||||||
scanner/scan42.d64 | no | yes | yes | yes | no | yes | yes | yes | yes | ||||
scanner/scan42err.d64 | yes | yes | yes | yes | yes | yes | yes | ||||||
scanner/scan35.g64 | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||||
scanner/scan40.g64 | yes | yes | yes | yes | yes | yes | yes | yes | yes | ||||
scanner/scan42.g64 | no | yes | yes | yes | no | yes | yes | yes | yes | ||||
pwm/pwm.prg | yes | yes | yes | yes | yes | ||||||||
rpm/rpm1.d64 | yes | yes (299,96) | yes | yes (299,96) | yes (299,96) | ||||||||
diskid/diskid1.prg | no | yes | yes | no | yes | yes | yes | ||||||
iecdelay/iec-bus-delay-auto.prg | yes | ||||||||||||
interrupts/timera.prg (*3) | no | no | no | no | no | no | no | no | no | ||||
interrupts/watchdog.prg (*1) | no | no | yes | no | no | no | yes | ||||||
viavarious/via1.prg (8 tests) | no | yes | yes | no | yes | yes | yes | yes | yes | ||||
viavarious/via2.prg (12 tests) | no | yes | yes | no | yes | yes | yes | yes | yes | ||||
viavarious/via3.prg (12 tests) | no | no | no (BDJ) | no | no | no (ABCDIJKL) | no (ABCDIJKL) | no | no (BDJ) | ||||
viavarious/via3a.prg (8 tests) | no | no | no (BDFH) | no | no | no (ABCDEFGH) | no (ABCDEFGH) | no | no (BDFH) | ||||
viavarious/via4.prg (24 tests) | no | no | no (EKQW) | no | no | no (EKQW) | no (EKQW) | no | no (EKQW) | ||||
viavarious/via5.prg (18 tests) | no | no | no (EFKL) | no | no | no (EFKLQR) | no (EFKLQR) | no | no (EFKL) | ||||
viavarious/via9.prg (12 tests) | no | no | no (I) | no | no | no (CFIL) | no (CFIL) | no | no (I) | ||||
viavarious/via10.prg (8 tests) | no | yes | yes | no | yes | yes | yes | yes | yes | ||||
viavarious/via11.prg (8 tests) | no | yes | yes | no | yes | yes | yes | yes | yes | ||||
viavarious/via12.prg (8 tests) | no | yes | yes | no | yes | yes | yes | yes | yes | ||||
viavarious/via13.prg (8 tests) | no | yes | yes | no | yes | yes | yes | yes | yes | ||||
writeprotect/write.prg (*4) | yes | no |
(*1) this is a freezer test - run it, freeze, restart. it should not hang
(*2) change the disk using the fliplist feature and/or the menu system (both should work)
(*3) results depend on the physical properties of the drive, and vary between real drives/mechs too.
(*4) mount image write protected, the test should not be able to write to the disk (and kill the dir track)
6f-8h
autostart
Test | 8c / M1 | 8e / M1 | 8g / M1 | 8h / M1 |
---|---|---|---|---|
C64/autostart/defaults/test.prg | no (*1) | no (*1) | no (*1) | no (*1) |
C64/autostart/defaults/test.d64 (*2) | no | no | yes | yes |
C64/autostart/defaults/test.sid | yes | |||
C64/autostart/cartio/test.prg | yes | yes | yes |
(*1) it is actually almost impossible to meet the requirements of this program when not actually going through kernal LOAD.
(*2) load the test using LOAD"TEST",8,1
freezer
Test | 8c / M1 | 8e / M1 | 8g / M1 | 8h / M1 |
---|---|---|---|---|
C64/freezer/freeze-test.prg (*1) | yes | yes | ||
C64/freezer/freeze-cia1.prg (*1) | yes | yes | ||
C64/freezer/freeze-cia2.prg (*1) | yes | yes | ||
C64/freezer/freeze-raster.prg (*1) | yes | yes | ||
C64/freezer/freeze-combined.prg (*1) | yes | yes |
(*1) freeze and restart
general
Test | Cartridge | Standalone | |||||||
---|---|---|---|---|---|---|---|---|---|
6f / M1 | 6f / M2 | 7 / M1 | 8c / M1 | 8f / M1 | 8g / M1 | 8h / M1 | 8h | ||
Lorenz-2.15/Disk1.d64 (128 Tests) | yes | yes | yes | yes | yes | yes | yes | yes | |
Lorenz-2.15/Disk2.d64 (102 Tests) | No (cpuport) | No (cpuport) | No (shaay, trap1..17) | No (shaay, trap1..6, 9..12, 16..17) | No (shaay, trap1..6, 9..12, 16..17) | No (shaay, trap1..6, 9..12, 16..17) | No (shaay, trap1..6, 9..12, 16..17) | No (shaay, trap1..6, 9..12, 16..17) | |
Lorenz-2.15/Disk3.d64 Disk3new.d64 (20 Tests) | No (icr01, cia1ta, cia1tb, cia2ta, cia2tb) (*1) | No (cia1ta, cia1tb, cia2ta, cia2tb) | No (cia1ta, cia1tb, cia2ta, cia2tb) (*1) | No (cia2ta, cia2tb) (*2) | No (imr, cia2ta, cia2tb) (*2) | No (cia2ta, cia2tb) (*2) | No (cia2ta, cia2tb) (*2) | No (cia1pb6, cia1pb7, cia1tab, cia1ta, cia1tb, cia2ta, cia2tb) | |
banking00/banking00.prg | yes | yes | yes | yes | yes | ||||
ram0001/quicktest.prg | no | no | No | ||||||
ram0001/test1.prg | no | No | |||||||
fuxxortest.d64 | No | No | No | No | No | No | No |
(*1) irq, nmi, icr01, imr, cia1tab, cia1ta, cia1tb, cia12a, cia2tb required „old“ CIA (*2) cia2ta, cia2tb do not work on "new" CIA yet
CPU
Test | Cartridge | Standalone | ||||
---|---|---|---|---|---|---|
8c / M1 | 8f / M1 | 8g / M1 | 8h / M1 | 8h | ||
cpuport/bitfade.prg | ok | ok | ok | ok | ok | |
cpuport/test1.prg | yes | yes | yes | yes | yes | |
cpuport/delaytime.prg | ~$17000 | ~$17000 | ~$17000 | ~$17000 | ~$17000 | |
cpujam/cpujam.d64 (13 Tests) | no (12 fail) | ok | ok |
(*) CAUTION: these tests do NOT work in VICE!
interrupts
Note: in cartridge mode the C64s CIAs are used, so the respective tests must be selected. In standalone mode the CIAs should currently behave like "old" CIA.
Test | Cartridge | Standalone | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
6f / M1 | 6f / M2 | 7 / M1 | 8c / M1 | 8f / M1 | 8g / M1 | 8h / M1 | 6f | 8h | ||
irqdummy/irqdummy.prg | no | yes | yes | yes | yes | yes | no | yes | ||
irqdma/nmitest6.prg | no (*1) | yes (*1) | yes | yes | yes | yes | no | yes | ||
irqdma/nmitest6b.prg | no (*1) | yes (*1) | yes | yes | yes | yes | no | yes | ||
irqdma/test1.prg | no (*1) | yes (*1) | yes | yes | yes | yes | no | yes | ||
irqdma/test1b.prg | no (*1) | no | yes (*1) | yes | yes | yes | yes | no | yes | |
irqdma/test2.prg | no (*1) | yes (*1) | yes | yes | yes | yes | no | yes | ||
irqdma/test2b.prg | no (*1) | no | yes (*1) | yes | yes | yes | yes | no | yes | |
irqdma/test3.prg | yes (*1) | yes (*1) | yes | yes | yes | yes | yes | yes | ||
irqdma/test3b.prg | no (*1) | yes (*1) | yes | yes | yes | yes | no | yes | ||
irqdma/test4.prg | no (*1) | yes (*1) | yes | yes | yes | yes | no | yes | ||
irqdma/test4b.prg | no (*1) | yes (*1) | yes | yes | yes | yes | no | yes | ||
irqdma/test5.prg | no (*1) | yes (*1) | yes | yes | yes | yes | no | yes | ||
irqdma/test5b.prg | no (*1) | yes (*1) | yes | yes | yes | yes | no | yes | ||
irqdma/test6.prg | no (*1) | no (*1) | no | no | no (414a) | no (414a) | no | no (414a) | ||
irqdma/test6b.prg | no (*1) | no (*1) | no | no | no (20fe) | no (20fe) | no | no (20fe) | ||
nmitest/nmitest.prg (*3) | yes | yes | yes | yes | yes | yes | no | |||
nmitest/nmitest2.prg (*3) | yes | yes | yes | yes | yes | yes | no | |||
irq-ackn-bug/cia1.prg cia1new.prg | yes | yes | yes | yes | yes | yes | ||||
irq-ackn-bug/cia2.prg cia2new.prg | no | yes | yes | yes | yes | no | yes | |||
irq-ackn-bug/irq-ack-vicii.prg | no | no | yes | yes | yes | no | ||||
irq-ackn-bug/irq-ackn_after_cli.prg (*2) | yes? | yes? | yes? | yes? | yes? | yes | ||||
irq-ackn-bug/irq-ackn_after_cli2.prg (*2) | yes? | yes? | yes? | yes? | yes? | yes | ||||
cia-int/cia-int-irq.prg cia-int-irq-new.prg | yes | yes | yes | yes | yes | no | ||||
cia-int/cia-int-nmi.prg cia-int-nmi-new.prg | no | yes | yes | yes | yes | yes | ||||
irqnmi/irqnmi-old.prg irqnmi-new.prg | yes | yes | yes | yes |
(*1) Irqdma/*.prg incorrectly showed „old CIA“ until beta7
(*2) these are non deterministic tests which have to judged by eye comparison
(*3) repeatedly press RESTORE
CIA
Note: in cartridge mode the C64s CIAs are used, so the respective tests must be selected. In standalone mode the CIAs should currently behave like "old" CIA.
Test | Cartridge | Standalone | |||||||
---|---|---|---|---|---|---|---|---|---|
6f / M1 | 6f / M2 | 7 / M1 | 8c / M1 | 8g / M1 | 8h / M1 | 6f | 8h | ||
CIA-AcountsB/cmp-b-counts-a.prg cmp-b-counts-a-new.prg | yes | yes | yes | yes | yes | ||||
cia-timer/cia-timer-oldcias.prg cia-timer-newcias.prg | no | no | yes | yes | yes | no | no | ||
ciaports/ciaports.prg (*6) | yes | yes | yes | yes | no | ||||
ciaports/ghosting.prg (*6) | yes | yes | no | ||||||
ciavarious/cia1.prg | yes | yes | yes | yes | yes | yes | |||
ciavarious/cia2.prg | yes | yes | yes | yes | yes | yes | |||
ciavarious/cia3.prg cia3new.prg | No (K, L) (*1) | No (K, L) | No (K, L) (*1) | No (K, L) (*1) | yes | yes | No (K, L) | No (K, L) (*7) | |
ciavarious/cia3a.prg cia3anew.prg | No (D, H) (*2) | No (D, H) | No (D, H) (*2) | yes | yes | No (D, H) (*7) | |||
ciavarious/cia4.prg cia4new.prg | No (X) (*3) | No (X) (*3) | yes | yes | No (X) (*7) | ||||
ciavarious/cia5.prg | yes | yes | yes | yes | yes | ||||
ciavarious/cia6.prg | yes | yes | yes | yes | yes | ||||
ciavarious/cia7.prg | yes | yes | yes | yes | yes | ||||
ciavarious/cia8.prg cia8new.prg | No (A,C,F,J,L) (*4) | No (A,C,F,J,L) (*4) | yes | yes | No (A,C,F,J,L) (*7) | ||||
ciavarious/cia9.prg | yes | yes | yes | yes | yes | ||||
ciavarious/cia10.prg | yes | yes | yes | yes | no (F, H, M, N, O, P) | ||||
ciavarious/cia11.prg | yes | yes | yes | yes | no (all) | ||||
ciavarious/cia12.prg | yes | yes | yes | yes | no (F, H, M, N, O, P) | ||||
ciavarious/cia13.prg | yes | yes | yes | yes | no (F, H, M, N, O, P) | ||||
ciavarious/cia14.prg | yes | yes | yes | yes | yes | ||||
ciavarious/cia15.prg | No (A,B) | No (A,B) | yes | yes | yes | No (A,B) | |||
irqdelay/irqdelay-cia1-4-old.prg irqdelay-cia1-4-new.prg | yes | yes | yes | yes | |||||
irqdelay/irqdelay-cia1-oneshot-4-old.prg irqdelay-cia1-oneshot-4-new.prg | yes | yes | yes | no | |||||
irqdelay/irqdelay-cia1-oneshot.prg | yes | yes | yes | yes | |||||
irqdelay/irqdelay-cia1.prg | yes | yes | yes | yes | |||||
irqdelay/irqdelay-cia2-4.prg | yes | yes | yes | yes | |||||
irqdelay/irqdelay-cia2-oneshot-4.prg | yes | yes | yes | yes | |||||
irqdelay/irqdelay-cia2-oneshot.prg | yes | yes | yes | yes | |||||
irqdelay/irqdelay-cia2.prg | yes | yes | yes | yes | |||||
irqdelay/irqdelay-oneshot.prg | yes | yes | yes | yes (old,old) | |||||
irqdelay/irqdelay.prg | yes | yes | yes | yes (old,old) | |||||
irqdelay/irqdelay2.prg | yes | yes | yes | yes (old,old) | |||||
timerbasics/test.prg test_new.prg | yes | yes | yes | yes | yes | ||||
timerbasics/timer.prg timer_new.prg | yes | yes | yes | yes | yes | ||||
timerbasics/timer_test1.prg timer_test1_new.prg | yes | yes | yes | yes | yes | ||||
tod/alarm.prg | yes | no | |||||||
tod/hour-test.prg | yes | no |
(*1) K, L required „old“ CIA (*2) D, H required „old“ CIA (*3) X required „old“ CIA (*4) A,C,F,J,L required „old“ CIA
(*6) various Keys must be pressed and results compared manually
(*7) the respective tests for "new" CIA pass - so whatever the fix is should be made switchable for "new" CIA selection :)
VICII (PAL)
In cartridge mode tests are marked as non working (even) if the VGA output is incorrect and/or different from the VIC output.
Note: we take "new" VIC as reference!
Caution: some tests require "new" kernal - disable "copy roms from c64" !
Test | Cartridge | Standalone | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
6f / M1 | 8c / M1 | 8d / M1 | 8e / M3 | 8e / M1 | 8f / M1 | 8g / M1 | 8h / M1 | 8h | ||
dentest/den01-48-0.prg | yes | yes | yes | yes | yes | yes | yes | |||
dentest/den01-48-1.prg | yes | yes | yes | yes | yes | yes | yes | |||
dentest/den01-48-2.prg | yes | yes | yes | yes | yes | yes | yes | |||
dentest/den01-49-0.prg | yes | yes | yes | yes | yes | yes | yes | |||
dentest/den01-49-1.prg | yes | yes | yes | yes | yes | yes | yes | |||
dentest/den01-49-2.prg | no | no | yes | yes | yes | yes | yes | |||
dentest/den10-48-0.prg | no | no | yes | yes | yes | yes | yes | |||
dentest/den10-48-1.prg | no | no | yes | yes | yes | yes | yes | |||
dentest/den10-48-2.prg | yes | yes | yes | yes | yes | yes | yes | |||
dentest/den10-51-0.prg | no | no | no | no | no | no | no | |||
dentest/den10-51-1.prg | yes | yes | yes | yes | yes | yes | yes | |||
dentest/den10-51-2.prg | yes | yes | yes | yes | yes | yes | yes | |||
dentest/den10-51-3.prg | yes | yes | yes | yes | yes | yes | yes | |||
dentest/denrsel-0.prg | no | no | no | no | no | no | no | |||
dentest/denrsel-1.prg | yes | yes | yes | yes | yes | yes | yes | |||
dentest/denrsel-2.prg | yes | yes | yes | yes | yes | yes | yes | |||
dentest/denrsel-63.prg | yes | yes | yes | yes | yes | yes | yes | |||
dentest/denrsel-s0.prg | no | no | no | no | no | no | no | |||
dentest/denrsel-s1.prg | yes | yes | yes | yes | yes | yes | yes | |||
dentest/denrsel-s2.prg | yes | yes | yes | yes | yes | yes | yes | |||
dentest/denrsel55.prg | yes | yes | yes | yes | yes | yes | yes | |||
videomode/rmwtest.prg | no | no | yes | yes | yes | yes | yes | |||
videomode/videomode-v.prg | no | no | no | no | no | no | no | |||
videomode/videomode-w.prg | no | no | no | no | no | no | no | |||
videomode/videomode-x.prg | no | no | no | no | no | no | no | |||
videomode/videomode-y.prg | no | no | no | no | no | no | no | |||
videomode/videomode-z.prg | no | no | no | no | no | no | no | |||
videomode/videomode1.prg | no | no | no | no | no | no | no | |||
videomode/videomode2.prg | yes | yes | no | no | yes | no? | no | |||
split-tests/modesplit/modesplit.prg | no | no | no ? check | no | no | no | no | |||
split-tests/fetchsplit/fetchsplit.prg (*) (*3) | no | no | no ? check | no ? check | no ? check | no | no | |||
split-tests/lightpen/lightpen.prg | no | yes (6569R3/4) | yes (6569R1) | yes (6569R3/4) | yes (6569R3/4) | yes (6569R3/4) | no (no match) | |||
phi1timing/phi1timing.prg (*) | no | no | no | no | no | yes | yes | |||
rasterirq/rasterirq_hold.prg | yes | yes | yes | yes | yes | yes | no | |||
border/border-250.prg | yes | yes | yes | yes | yes | yes | yes | |||
border/border-251.prg | yes | yes | yes | yes | yes | yes | yes | |||
border/border-252.prg | yes | yes | yes | yes | yes | yes | yes | |||
border/border-bm-idle.prg | no | no | yes ? | no | no | no | no | |||
border/border-bm-ysh.prg | no | no | no | no | no | no | no | |||
border/border-bm-ysh2.prg | no | no | no | no | no | no | no | |||
border/border-mcbm.prg | no | no | yes | no | no | no | no | |||
border/vborder.prg | no | no | yes | yes | yes | yes | yes | |||
border/vborder2.prg | no | no | no | no | no | no (21) | no (21) | |||
greydot/greydot.prg | yes | yes | yes (*2) | yes (*2) | yes (*2) | yes (*2) | yes (*2) | |||
colorsplit/colorsplit.prg | no | no | yes | yes (1px off, grey dot) | yes (1px off, grey dot) | yes (1px off, grey dot) | yes (1px off, grey dot) | |||
lplatency/lplatency.prg | yes | yes | no ? | yes (M4,M5) | yes | yes | yes | yes | ||
lp-trigger/test1.prg | ||||||||||
lp-trigger/test2.prg | ||||||||||
gfxfetch/gfxfetch.prg (*) | yes | yes | no ? | yes | no | yes | yes | |||
D011Test/disable-bad.prg | yes | yes | yes | yes | yes | yes | yes | |||
screenpos/screenpos.prg | yes | yes | yes | yes | yes | yes | yes | |||
dmadelay/test1.prg (*) (*3) | yes | no | yes | yes | yes | yes | ||||
dmadelay/test2.prg (*) (*3) | yes | no | yes | yes | yes | yes | ||||
dmadelay/test3.prg (*) (*3) | no | no | no | no | no | no | ||||
dmadelay/test4.prg (*) (*3) (*4) | no | no | no |
(*) these tests are related to things that may result in broken VIC picture in cartridge mode when they are wrong
(*2) grey dots are not actually shown on VGA. instead where the grey dot would be, the NEW color is shown
(*3) CAUTION! compare with result eg on emu - VIC screen might be wrong!
(*4) CAUTION! this test does NOT work in eg VICE yet!
Sprites
Test | Cartridge | Standalone | |||||
---|---|---|---|---|---|---|---|
6f / M1 | 8c / M1 | 8e / M3 | 8g / M1 | 8h / M1 | 8h | ||
spritedma/d017-54.prg (+) | no | no | no | no | no | no | |
spritedma/d017-57.prg (+) | no | no | no | no | no | no | |
spriteenable/spriteenable1.prg (+) | no | no | no | no | yes | yes | |
spriteenable/spriteenable2.prg (+) | no | no | no | no | no | no | |
spriteenable/spriteenable3.prg (+) | no | no | no | no | no | no | |
spriteenable/spriteenable4.prg (+) | no | no | no | no | yes | yes | |
spriteenable/spriteenable5.prg (+) | no | no | no | no | no | no | |
spritecollisions/sprite-gfx-collision-cycle.prg | no | yes | yes | yes | yes | no | |
spritecollisions/sprite-sprite-collision-cycle.prg | no | yes | yes | yes | yes | no | |
spritecollisions/sprite-sprite.prg | no | yes | yes | yes | yes | no | |
spritesplit/ss-exp-unexp-hires.prg | yes | yes | yes | ||||
spritesplit/ss-exp-unexp-mc.prg | yes | yes | yes | ||||
spritesplit/ss-hires-color.prg | no | no | yes (grey dot missing) | yes (grey dot missing) | yes (grey dot missing) | yes (grey dot missing) | |
spritesplit/ss-hires-mc-exp.prg | no | no | no ? check | no | no | no | |
spritesplit/ss-hires-mc.prg | no | no | no ? check | no | no | no | |
spritesplit/ss-mc-color0.prg | no | no | yes (grey dot missing) | yes (grey dot missing) | yes (grey dot missing) | yes (grey dot missing) | |
spritesplit/ss-mc-color1.prg | no | no | yes (grey dot missing) | yes (grey dot missing) | yes (grey dot missing) | yes (grey dot missing) | |
spritesplit/ss-mc-color2.prg | no | no | yes (grey dot missing) | yes (grey dot missing) | yes (grey dot missing) | yes (grey dot missing) | |
spritesplit/ss-mc-hires-exp.prg | no | no | no | ||||
spritesplit/ss-mc-hires.prg | no | no | no | ||||
spritesplit/ss-pri-exp.prg | no | no | yes | yes | yes | yes | |
spritesplit/ss-pri-mc-exp.prg | no | no | yes | yes | yes | yes | |
spritesplit/ss-pri-mc.prg | no | no | yes | yes | yes | yes | |
spritesplit/ss-pri.prg | no | no | yes | yes | yes | yes | |
spritesplit/ss-unexp-exp-hires.prg | no | no | yes | yes | yes | yes | |
spritesplit/ss-unexp-exp-mc.prg | no | no | yes | yes | yes | yes | |
spritesplit/ss-xpos.prg | no | no | yes | yes | yes | yes | |
spritesteal/spritesteal.prg | yes | yes | yes | yes | yes | yes | |
spritex/testsuite.prg | no | yes | yes | yes | yes | no | |
spritepriorities/test1.prg | no | yes (M5) | yes | yes | yes | ||
spritefetchbug/test.prg (*) | no? | no? | no? |
(*) CAUTION! this test does NOT work in VICE either!
(+) these tests are related to things that may result in broken VIC picture in cartridge mode when they are wrong
SID
Test | Cartridge | Standalone | |||||
---|---|---|---|---|---|---|---|
6f / M1 | 7 / M1 | 8c / M1 | 8g / M1 | 8h / M1 | 8h | ||
stereo/stereo.prg | yes | yes | yes | yes | yes | ||
paddles/fc3detect.prg (*1) | yes | yes | yes | yes | yes | ||
paddles/paddle.prg (*1) | no | no | yes | yes | yes | yes | |
bitfade/delayenv3.prg | ~$19 | ~$19 | ~$19 | ||||
bitfade/delayfrq0.prg | ~$6000 | ~$7c000 | ~$64000 | ~$1e0000 | |||
bitfade/delayosc3.prg | ~$19 | ~$19 | ~$19 |
(*1) in cartridge mode mouse/paddle connected to the C64 joystick ports are tested. in standalone mode the emulated mouse (ps/2) is used
(*2) due to inner workings of the SID chip, the mixed waveforms (all waveforms except $10,$20,$40,$80) will never match exactly the reference data. they should be very close however
(*3) always detected as new, even when old SID is selected
Cartridge
Test | Cartridge | Standalone | ||||
---|---|---|---|---|---|---|
8g / M1 | 8h / M1 | 8i / M1 | 8h | 8i | ||
C64/autostart/defaults/test.crt (*1) | yes | yes | yes | no | no | |
C64/carts/romram.crt | no | yes | yes | yes | yes | |
C64/carts/writeram.crt | no | no | no | no | no | |
C64/carts/16kgame.crt | no | yes | no | yes |
(*1) repeatedly press reset to check i/o register reset behaviour
REU
Test | Cartridge | Standalone | |||||
---|---|---|---|---|---|---|---|
6f / M1 | 7 / M1 | 8c / M1 | 8g / M1 | 8h / M1 | 8h | ||
QuickReuTest-1.1.1/quickreu.exo.prg (*1) | no | no | no (8 fails) | no (8 fails) | no (8 fails) | no (8 fails) | |
reudetect/reudetect.prg (*2) | yes | yes | yes | ||||
reutiming/reutiming.prg | no | no | no |
(*1) use 512k REU when running this test
(*2) load the "blu.reu" file first
GEO-RAM
Test | Cartridge | Standalone | |||
---|---|---|---|---|---|
8c / M1 | 8g / M1 | 8h / M1 | 8h | ||
georam64.prg | yes | yes | yes | yes |