Chameleon Core Bugs

From IndividualComputers
Jump to: navigation, search

For the list of known bugs in the menu system, look at Chameleon Menu Bugs

Contents

known bugs and limitations

base

The following are related to the most important core components, meaning everything required for proper operation of the c64 (even) in cartridge mode and/or the VIC screen.

CPU

Severity: normal - Note: the respective tests fail also on x64 - so this might not actually be as critical as we thought
sei, php, cli, plp, cli   ; $78, $08, $58, $28, $58 (*8)

use analyse.c for comparing the dumps saved by record6.prg, record6b.prg, record7.prg, record7b.prg etc

dualcpu core comparison stops with test6.prg:

4d00 10 BA:0 1 FFC2 65 1 0A41    IR:78 PC:0A40 A:19 X:00 Y:02 S:F0 --1--IZC
4d01 10 BA:1 1 0A41 08 1 0A41    IR:78 PC:0A41 A:19 X:00 Y:02 S:F0 --1--IZC
4d02 10 BA:1 1 0A41 08 1 0A41    IR:08 PC:0A41 A:19 X:00 Y:02 S:F0 --1--IZC
4d03 10 BA:1 1 0A41 08 1 0A42    IR:08 PC:0A42 A:19 X:00 Y:02 S:EF --1--IZC
4d04 10 BA:1 0 01F0 0A 0 01F0 37 IR:08 PC:0A42 A:19 X:00 Y:02 S:EF --1--IZC
4d05 10 BA:1 0 01EF 41 1 0A42    IR:41 PC:0A42 A:19 X:00 Y:02 S:EF --1--IZC

simulate on visual6502

Parts of analysis (work in progress)... [1] shows that CLI will continue clearing the interrupt flag while RDY is low. Seems flag updates happens 1 cycle after entering T0+T2 (which in normal execution would be a T1 cycle, the fetch cycle of next instruction). Compare with [2] that runs same sequence without the RDY low in CLI. Now interrupt is one instruction delayed as expected.

dualcpu core comparison stops with test6b.prg (too much to paste...)

simulate on visual6502

  • inconsistant emulation, documentation and simulation of page-boundary crossing for illegal SHA/SHY/SHX opcodes
Severity: cosmetic - the "buggy" case (simulation) behaves different to my C64. i can't reproduce the page boundary anomaly on my C64 at all - it might only happen on some CPUs. it's probably no problem at all, also VICE does not emulate this as documented/simulated.

VIC (bus interface)

  • (9/M1) (9) when writing to $00/$01 the address ($00/$01) will end up in RAM (ram0001/quicktest.prg, ram0001/test1.prg) (fixed for Beta 9g)
    • instead the last value fetched by the VIC should go to RAM, as the CPU does only generate a write signal, but does not put the value on the bus.
Severity: normal
dualcpu core comparison WORKS
  • (9/M1) (9) some DMA delay artefacts are emulated incorrectly (dmadelay/test4.prg) causing errors on the VIC screen
Severity: low (this test does not work in VICE either!)
dualcpu core comparison WORKS
Severity: normal
Severity: normal
  • the lightpen irq delay is always like "new" VIC, even if there is an "old" VIC in the C64 - (lp-trigger/test2.prg)
Severity: cosmetic - This should not be a problem (the difference is one *pixel* only). Special test programs that try to detect the VIC revision this way might be confused however.

general

The following apply to both cartridge and standalone mode.

Drive Emulation

  • (9f) Different speed zones within a track are not supported
Severity: low
Note: correctly supporting different speedzones within a track doesn't seem to be very important - VICE doesn't support it either (with G64), and so far no game could be found that needs it, they all work if the same GCR data is used for all speedzones (so really only the track length matters)
  • (9f) "weak bit" areas (zeroed in G64 images) do not result in random data being read
Severity: high
  • (9f) data is read per byte, rather than bit per bit and then shifted into the data seperator and sync generator. this makes images fail that are not byte aligned, or which rely on precise sync lengths
Severity: high
Severity: low (few original titles rely on this) also different drives behave slightly different.
  • changing disk images via menu does not work with some programs. Unfortunately this is not a bug and can not be fixed for all cases.
Workaround: Use the swaplist feature, which should always work.
  • sometimes when a disk image is mounted directly after updating the core, it is reported as being modified when going to the menu system although that is not actually the case. hard to reproduce and seems not to happen when the core was started normally.
VIA
  • (9/M1) (9) some problem with VIA timer A. For some reason the timer stops counting (interrupts/timera.prg)
Severity: normal (Note: powercycle the emulated drive before running timera.prg, reset is not enough)
Severity: normal

VGA controller

  • Frequencies of most of the VGA screen resolutions are incorrect. This is caused by basing everything on a single 150 Mhz pixel clock.
Workaround: the 800x600 modes should be OK

also see Chameleon Monitors

VIC (VGA Output)

VIC has some detail issues (these only affect the VGA output)

Severity: normal
Severity: low (Caution: use new VIC-II as reference!)
Severity: cosmetic (Caution: use new VIC-II as reference!)
  • "grey dots" are not actually shown on VGA. instead where the grey dot would be, the NEW color is shown
THIS IS NOT A BUG: - but simply the absence of the grey dot problem. it should look the same as the picture of certain real "new" VIC-II chips that do not show the grey dots either
Sprites
Severity: low (Caution: dont break krestage 3 :))
Severity: cosmetic (Caution: use new VIC-II as reference!)

Cartridge emulation

AR/RR (1/36)
Severity: low - This may break some programs written for the cartridge - the cartridge software itself is not affected
  • "flashing" retro replay does not work (the flash chip is not emulated)
THIS IS NOT A BUG: to update the ROM simply replace it as described in the user manual
Easyflash (32)
  • "flashing" easyflash does not work (the flash chip is not emulated)
THIS IS NOT A BUG: crt images using the easyflash api will work, save modified images using the ROM saver
MMC64
  • "flashing" MMC64 does not work (the flash chip is not emulated)
THIS IS NOT A BUG: to update the ROM simply replace it as described in the user manual
REU
Unfortunately this can not be fixed without changing the memory access scheme, which in turn means a significant rewrite - it will not get fixed before a potential V2 release (we are sorry about that - please notice that only 2 or 3 Demos that require cycle exact timing are affected by this problem).

Clock Port

  • The clock port NMI is untested/broken and disabled by the menu system.
Severity: cosmetic - This is not a problem, since the RR-Net does not use NMI anyway.

Cartridge Mode

The following problems only occur and/or matter in cartridge mode. In cartridge mode the CPU and the bus interface of the VICII are emulated, and the RAM is replaced. (except the colorram, which comes from the C64)

Startup

  • in some configurations copying the C64 ROMs to chameleon memory fails, resulting in a crash when exiting to basic. (This has been reported for some SX64; C64 ASSY250407 rev 3; ...)
Workaround: go to options and turn "copy ROMs from C64" off. If you want to use a custom kernal (like jiffy dos), enable "boot from SD card" and place a suitable rom image on the card (see manual).

Standalone Mode

The following problems only occur and/or matter in standalone mode. In standalone mode the entire C64 system is emulated.

CIA (Emulated)

CIA has some detail issues (also see keyboard problems below)

when the timer reload value is 0, the timer is running, and then the timer low byte is rewritten, there is a one cycle difference for some reason
Severity: normal
Severity: normal
Severity: cosmetic - this isn't really a problem, since the clock would be slightly off on real equipment as well (it depends on the power grid frequency, which goes up and down all the time)

SID (Emulated)

SID emulation is still incomplete:

Severity: low - some SID detection routines might get confused
Note: we need to find some kind of "close enough" approximation so we can perhaps get away without using tables (WIP)
  • waveform combinations $60 and $70 produce output when 6581 is selected, although real chips might not do so (waveforms/waveforms-6581.prg) (fixed for beta 9g)
  • when waveform combinations with noise ($90-$f0) are selected, the regular waveform should get ANDed into the LFSR (waveforms/waveforms-8580.prg) (fixed for beta 9g)
  • (9) envelope generator is incorrect
Filter
  • (9) filter characteristics are approximated
Severity: low - this only affects the sound output of the Chameleon itself
  • (9) filter resonance is not implemented
Severity: low - this only affects the sound output of the Chameleon itself

VIC (Emulated)

Severity: normal
Severity: normal
Severity: low - this should hardly matter in practise outside test programs

IEC (external)

  • (9d) The timing of the external IEC connector should be 0.4µs faster, see tc64tmng.zip by Jochen Adler (also see this post)
    • Jiffy DOS seems to have problems in some (PAL) setups (it is however also somewhat instable on real PAL setups) (related Forum64 Thread)
Severity: low
Workaround: in cartridge mode use the IEC connector of the C-64

Keyboard (PS/2)

THIS IS NOT A BUG: This is no problem for most programs (no other existing emulator will simulate this correctly!)
  • BAT (basic assurance test) command from ps/2 keyboard not recognised.
Severity: cosmetic
Workaround: Plug in keyboard before turning power on.

Mouse (PS/2)

  • when mouse emulation is enabled, the respective POTX/POTY values can always be read from both ADC ports

Docking Station Mode

  • The joystick ports work with digital joysticks only
THIS IS NOT A BUG: Due to I/O restrictions 1531, amiga mouse, lightpen and similar hardware can not be used with these ports.
THIS IS NOT A BUG: Due to I/O restrictions even a real C64 keyboard can not be scanned exactly like in a real C64. This is no problem for most programs (no other existing emulator will simulate this correctly!)
  • (9) LEDs on a connected amiga keyboard are currently disabled
    • there seem to be compatibility issues / startup problems which only occur in standalone mode with a docking station.
      • shards of fancy/lft crashes right at the first screen when running on dockingstation, works without. somehow this is related to the IRQ line being reused in dockingstation mode (disabling it "fixes" it)
Severity: low

specific test programs

88% (1,028 of 1,160)

Cartridge

90% (1,046 of 1,160)

Standalone

NOTE: unless stated otherwise, the subheadings of the following paragraphs refer to the directory in the VICE test programs repository. The chameleon specifc tests can be found in the Chameleon test repository. Tests that are not linked are still work in progress and will get moved into one of the former repos when they have been cleaned up and properly commented.

older test results have been moved to a seperate page

legend

Test
thistest Breaksemu.png test might not work correctly on recent emulator (VICE) non critical fail
thattest test is interactive/can not run as part of the automatic testbench ok
sometest Breaksvic.png tests is related to things that may result in broken VIC picture in cartridge mode when they are wrong CAUTION! compare with result eg on emu - VIC screen might be wrong! failed
stresstest non critical fail


general

90% (254 of 280)

Cartridge

96% (270 of 280)

Standalone

Test Cartridge Standalone
9 / M1 9b / M1 9 9a 9b 9c 9d 9e 9f
Lorenz-2.15/Disk1.d64 (128 Tests) 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 No (shaay, trap1..6, 9..12, 16..17) No (shaay, trap1..6, 9..12, 16..17) yes yes yes yes yes
Lorenz-2.15/Disk3.d64 Disk3new.d64 (20 Tests) 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)
banking00/banking00.prg yes yes yes yes yes yes yes
ram0001/quicktest.prg no no No No No No
ram0001/test1.prg no no No No No No No No
fuxxortest.d64 no no No No No No
openio/dadb.prg yes
openio/de00all.prg yes
openio/de00int.prg yes
raminitpattern/cyberloadtest.prg (*2) yes yes
raminitpattern/darkstarbbstest.prg (*2) no yes
raminitpattern/platoontest.prg (*2) yes yes
raminitpattern/typicaltest.prg (*2) no yes
raminitpattern/pattern00ff.prg (*2) 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 9e / M1 9e 9f
C64/autostart/basic/basictest.prg yes yes
C64/autostart/basic/printpoint.prg yes yes
C64/autostart/basic/printpoint2.prg yes yes
C64/autostart/defaults/test.prg (*1) no no
C64/autostart/defaults/test.d64 (*2) yes yes
C64/autostart/random/raster.prg no
C64/autostart/cartio/test.prg 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 9e / M1 9e 9f
C64/freezer/batest/batest.prg (*1) yes yes
C64/freezer/ciairq/ciairq1t1.prg (*1) no yes
C64/freezer/ciairq/ciairq1t2.prg (*1) no yes
C64/freezer/ciairq/ciairq2t1.prg (*1) no yes
C64/freezer/ciairq/ciairq2t2.prg (*1) no yes
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
C64/freezer/freezeblock.prg (*1) no no

(*1) freeze and restart

CPU

77% (35 of 45)

Cartridge

100% (45 of 45)

Standalone

Test Cartridge Standalone
9 / M1 9b / 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
Acid800/cpu_flags.prg ok ok
Acid800/cpu_illegal.prg ok ok
Acid800/cpu_insn.prg ok ok
Acid800/cpu_timing.prg ok ok
asap/cpu_ane.prg ok ok ok ok ok ok ok ok
asap/cpu_anx.prg ok ok ok ok ok ok ok ok
asap/cpu_decimal.prg ok ok ok ok ok ok ok ok
asap/cpu_las.prg ok ok ok ok ok ok ok ok
asap/cpu_shx.prg ok ok ok ok ok ok ok ok
bclark/decimalmode.prg ok ok ok ok ok ok ok ok
hmc6502/AllSuiteA.prg ok ok ok ok ok ok ok ok
kdormann/6502_functional_test.prg ok ok
sha/shaabsy1.prg ok ok ok ok ok ok
sha/shaabsy2.prg ok ok ok ok ok ok
sha/shaabsy3.prg ok ok ok ok ok ok
sha/shazpy1.prg ok ok ok ok ok ok
sha/shazpy2.prg ok ok ok ok ok ok
sha/shazpy3.prg ok ok ok ok ok ok
shs/shsabsy1.prg ok ok ok ok ok ok
shs/shsabsy2.prg ok ok ok ok ok ok
shxy/shxy1.prg ok ok ok ok ok ok
shxy/shxy2.prg ok ok ok ok ok ok
shxy/shxy3.prg ok ok
shxy/shxy4.prg ok ok
shxy/shyx1.prg ok ok ok ok ok ok
shxy/shyx2.prg ok ok ok ok ok ok
shxy/shyx3.prg ok ok
shxy/shyx4.prg ok ok

interrupts

85% (23 of 27)

Cartridge

74% (20 of 27)

Standalone

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 9 9a 9b 9c 9d 9e 9f
irqdummy/irqdummy.prg yes yes yes yes yes yes yes yes
irqdma/nmitest6.prg yes yes yes yes yes yes yes yes
irqdma/nmitest6b.prg yes yes yes yes yes yes yes yes
irqdma/test1.prg yes yes yes yes yes yes yes yes
irqdma/test1b.prg yes yes yes yes yes yes yes yes
irqdma/test2.prg yes yes yes yes yes yes yes yes
irqdma/test2b.prg yes yes yes yes yes yes yes yes
irqdma/test3.prg yes yes yes yes yes yes yes yes
irqdma/test3b.prg yes yes yes yes yes yes yes yes
irqdma/test4.prg yes yes yes yes yes yes yes yes
irqdma/test4b.prg yes yes yes yes yes yes yes yes
irqdma/test5.prg yes yes yes yes yes yes yes yes
irqdma/test5b.prg yes yes yes yes yes yes yes yes
irqdma/test6.prg no (414a) no (414a) no (414a) no (414a) no (414a) no no no
irqdma/test6b.prg no (20fe) no (20fe) no (20fe) no (20fe) no (20fe) no no no
irqdma/test7.prg no (22bc) no (22bc) no (22bc) no no no
irqdma/test7b.prg no (2004) 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
irq-ackn-bug/cia2.prg cia2new.prg yes yes yes yes yes yes yes yes
irq-ackn-bug/irq-ack-vicii.prg 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 no yes no no no no
cia-int/cia-int-nmi.prg cia-int-nmi-new.prg yes yes no yes no no no no
irqnmi/irqnmi-old.prg irqnmi-new.prg 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

99% (286 of 287)

Cartridge

97% (279 of 287)

Standalone

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 9 9a 9b 9c 9d 9e 9f
CIA-AcountsB/cmp-b-counts-a.prg cmp-b-counts-a-new.prg 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 no no
ciaports/ciaports.prg (*1) yes yes no no no no
ciaports/ghosting.prg (*1) yes yes no no no no
ciavarious/cia1.prg (12 tests) yes yes yes yes yes yes yes yes yes
ciavarious/cia2.prg (16 tests) 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
ciavarious/cia3a.prg cia3anew.prg (16 tests) 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
ciavarious/cia5.prg (24 tests) yes yes yes yes yes yes yes yes yes
ciavarious/cia6.prg (16 tests) yes yes yes yes yes yes yes yes yes
ciavarious/cia7.prg (16 tests) 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
ciavarious/cia9.prg (6 tests) yes yes yes yes yes yes yes yes yes
ciavarious/cia10.prg (16 tests) yes yes yes yes yes yes yes yes yes
ciavarious/cia11.prg (16 tests) yes yes yes yes yes yes yes yes yes
ciavarious/cia12.prg (16 tests) yes yes yes yes yes yes yes yes yes
ciavarious/cia13.prg (16 tests) yes yes yes yes yes yes yes yes yes
ciavarious/cia14.prg (4 tests) yes yes yes yes yes yes yes yes yes
ciavarious/cia15.prg (3 tests) yes yes yes yes yes yes yes yes yes
dd0dtest/dd0dtest.prg Breaksemu.png yes no no
irqdelay/irqdelay-cia1-4-old.prg irqdelay-cia1-4-new.prg 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 no no yes yes yes yes yes
irqdelay/irqdelay-cia1-oneshot.prg yes yes yes yes yes yes yes yes yes
irqdelay/irqdelay-cia1.prg yes yes yes yes yes yes yes yes yes
irqdelay/irqdelay-cia2-4.prg yes yes yes yes yes yes yes yes yes
irqdelay/irqdelay-cia2-oneshot-4.prg yes yes yes yes yes yes yes yes yes
irqdelay/irqdelay-cia2-oneshot.prg yes yes yes yes yes yes yes yes yes
irqdelay/irqdelay-cia2.prg yes yes yes yes yes yes yes yes yes
irqdelay/irqdelay-oneshot.prg yes yes yes yes (old,old) yes (old,old) yes (old,old) yes (old,old) yes yes
irqdelay/irqdelay.prg yes yes yes yes (old,old) yes (old,old) yes (old,old) yes (old,old) yes yes
irqdelay/irqdelay2.prg yes yes yes yes (old,old) yes (old,old) yes (old,old) yes (old,old) yes yes
reload0/reload0a.prg yes yes no no no
reload0/reload0b.prg yes yes no no no
timerbasics/test.prg test_new.prg yes yes yes yes yes yes yes yes yes
timerbasics/timer.prg timer_new.prg 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
tod/0alarm.prg yes yes yes no no no yes yes yes yes
tod/1alarm.prg yes yes yes no no no yes yes yes yes
tod/4tod.prg yes yes yes no no no yes yes yes yes
tod/4todcia1.prg yes yes yes no no no yes yes yes yes
tod/5tod.prg yes yes yes no no no yes yes yes yes
tod/6tod.prg yes yes yes no no no yes yes yes yes
tod/alarm.prg yes yes yes yes yes yes yes yes yes
tod/alarm-cond.prg yes yes yes yes yes yes yes yes yes
tod/alarm-cond2.prg yes yes yes yes yes yes yes yes yes
tod/fix-hour.prg yes yes yes yes yes yes yes yes yes
tod/fix-min.prg yes yes yes yes yes yes yes yes yes
tod/fix-sec.prg yes yes yes yes yes yes yes yes yes
tod/fix-tsec.prg yes yes yes yes yes yes yes yes yes
tod/frogger.prg yes yes no yes yes yes yes
tod/hammerfist0.prg yes yes yes yes yes
tod/hammerfist1.prg yes yes yes yes yes
tod/hour-test.prg yes yes yes yes yes yes yes yes yes
tod/hzsync0.prg yes yes yes no no yes yes yes yes yes
tod/hzsync1.prg yes yes yes yes yes yes yes yes yes
tod/hzsync2.prg yes yes yes no no yes yes yes yes yes
tod/hzsync3.prg yes yes yes yes yes yes yes yes yes
tod/hzsync4.prg yes yes yes no no yes yes yes yes yes
tod/hzsync5.prg yes yes yes no no yes yes yes yes yes
tod/powerup.prg yes yes yes yes no no no yes no no yes
tod/read-latch.prg yes yes yes yes yes yes yes yes yes yes
tod/stability.prg yes
tod/write-stop.prg 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 no yes yes yes yes
shiftregister/cia-sp-test-oneshot-old.prg cia-sp-test-oneshot-new.prg Breaksemu.png yes yes yes no yes no no no
shiftregister/cia-icr-test-continues-old.prg cia-icr-test-continues-new.prg yes yes yes yes no yes yes yes
shiftregister/cia-icr-test-oneshot-old.prg cia-icr-test-oneshot-new.prg yes yes yes yes no yes yes yes
shiftregister/cia-icr-test2-continues.prg yes yes yes yes yes yes yes yes
shiftregister/cia-icr-test2-oneshot.prg yes yes yes no yes yes yes yes

(*1) various Keys must be pressed and results compared manually

VICII (PAL)

66% (66 of 100)

Cartridge

64% (64 of 100)

Standalone

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
9 / M1 9b / M1 9c / M1 9 9b 9c 9e 9f
banking/banking.prg yes yes
border/border-250.prg yes yes yes yes yes yes
border/border-251.prg yes yes yes yes yes yes
border/border-252.prg yes yes yes yes yes yes
border/border-bm-idle.prg no no no no no no
border/border-bm-ysh.prg no no no no no no
border/border-bm-ysh2.prg no no no no no no
border/border-mcbm.prg 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
colorsplit/colorsplit.prg (*1) no (VGA) no (VGA) no no no no (1px too late) no (1px too late)
D011Test/disable-bad.prg yes yes yes yes yes yes yes
dentest/den01-48-0.prg yes yes yes yes yes yes yes yes
dentest/den01-48-1.prg yes yes yes yes yes yes yes yes
dentest/den01-48-2.prg yes yes yes yes yes yes yes yes
dentest/den01-49-0.prg yes yes yes yes yes yes yes yes
dentest/den01-49-1.prg yes yes yes yes yes yes yes yes
dentest/den01-49-2.prg yes yes yes yes yes yes yes yes
dentest/den10-48-0.prg yes yes yes yes yes yes yes yes
dentest/den10-48-1.prg yes yes yes yes yes yes yes yes
dentest/den10-48-2.prg yes yes yes yes yes yes yes yes
dentest/den10-51-0.prg no no (VGA) yes no no yes yes yes
dentest/den10-51-1.prg yes yes yes yes yes yes yes yes
dentest/den10-51-2.prg yes yes yes yes yes yes yes yes
dentest/den10-51-3.prg yes yes yes yes yes yes yes yes
dentest/denrsel-0.prg no no (VGA) yes no no yes yes yes
dentest/denrsel-1.prg yes yes yes yes yes yes yes yes
dentest/denrsel-2.prg yes yes yes yes yes yes yes yes
dentest/denrsel-63.prg yes yes yes yes yes yes yes yes
dentest/denrsel-s0.prg no no (VGA) yes no no yes yes yes
dentest/denrsel-s1.prg yes yes yes yes yes yes yes yes
dentest/denrsel-s2.prg yes yes yes yes yes yes yes yes
dentest/denrsel55.prg yes yes yes yes yes yes yes yes
dmadelay/test1.prg Breaksvic.png yes yes yes yes yes
dmadelay/test2.prg Breaksvic.png yes yes yes yes yes
dmadelay/test3.prg Breaksvic.png no no no no yes
dmadelay/test4.prg Breaksvic.png Breaksemu.png no no no no no
flibug/blackmail.prg Breaksvic.png yes yes
gfxfetch/gfxfetch.prg Breaksvic.png yes yes yes yes yes yes
greydot/greydot.prg (*1) yes yes yes yes yes no no
lpcoordinates/lpcoords.prg
lplatency/lplatency.prg yes yes yes yes yes yes yes
lp-trigger/test1.prg yes yes yes yes yes
lp-trigger/test2.prg yes (new) yes (new) yes (new) yes (new) no
phi1timing/phi1timing.prg Breaksvic.png yes yes yes yes yes yes yes
rasterirq/rasterirq_hold.prg yes yes yes yes yes yes
screenpos/screenpos.prg yes yes yes yes yes yes
split-tests/bascan/bascan.prg yes yes
split-tests/fetchsplit/fetchsplit.prg Breaksvic.png no no no no no no
split-tests/lightpen/lightpen.prg yes (6569R3/4) yes (6569R3/4) 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
vicii_timing/vicii_reg_timing.prg no (VGA) no no no
videomode/rmwtest.prg yes yes yes yes yes yes yes
videomode/videomode-v.prg no no (VGA) no no no no
videomode/videomode-w.prg no no (VGA) no no no no
videomode/videomode-x.prg no no (VGA) no no no no
videomode/videomode-y.prg no no (VGA) no no no no
videomode/videomode-z.prg no no (VGA) no no no no
videomode/videomode1.prg no no (VGA) no no no no
videomode/videomode2.prg no no (VGA) 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

Sprites

Test Cartridge Standalone
9 / M1 9b / M1 9c / M1 9 9b 9c 9e
split-tests/spritescan/spritescan.prg no
sprite0move/sprite0move.prg
spritebug/spritebug.prg
spritecollisions/sprite-gfx-collision-cycle.prg yes yes no no no no
spritecollisions/sprite-sprite-collision-cycle.prg yes yes no no no no
spritecollisions/sprite-sprite.prg yes yes no yes yes yes
spritecrunch/spritecrunch.prg Breaksvic.png yes yes yes
spritecrunch/spritecrunch2.prg Breaksvic.png yes yes yes
spritedma/d017-54.prg Breaksvic.png yes yes yes yes yes yes yes
spritedma/d017-57.prg Breaksvic.png yes yes yes yes yes yes yes
spriteenable/spriteenable1.prg Breaksvic.png yes yes yes yes yes yes yes
spriteenable/spriteenable2.prg Breaksvic.png no no no (VGA) no no no no
spriteenable/spriteenable3.prg Breaksvic.png no no yes no no yes yes
spriteenable/spriteenable4.prg Breaksvic.png yes yes yes yes yes yes yes
spriteenable/spriteenable5.prg Breaksvic.png no no yes no no yes yes
spritefetchbug/test.prg Breaksemu.png no no no no no
spritegap/spritegap2.prg no
spritegap/spritegap3.prg no
spritemcbase/spritemcbase.prg yes
spritepriorities/test1.prg yes yes yes yes yes yes
spritesplit/ss-exp-unexp-hires.prg yes yes yes yes yes
spritesplit/ss-exp-unexp-mc.prg yes yes yes yes yes
spritesplit/ss-hires-color.prg yes (grey dot missing) yes (grey dot missing) yes (grey dot missing) no (1px too late) no (1px too late)
spritesplit/ss-hires-mc-exp.prg no no (VGA) no no no
spritesplit/ss-hires-mc.prg no no (VGA) no no no
spritesplit/ss-mc-color0.prg yes (grey dot missing) yes (grey dot missing) yes (grey dot missing) no (1px late) no (1px late)
spritesplit/ss-mc-color1.prg yes (grey dot missing) yes (grey dot missing) yes (grey dot missing) no (1px late) no (1px late)
spritesplit/ss-mc-color2.prg yes (grey dot missing) yes (grey dot missing) yes (grey dot missing) no (1px late) no (1px late)
spritesplit/ss-mc-hires-exp.prg no no (VGA) no no no
spritesplit/ss-mc-hires.prg no no (VGA) no no no
spritesplit/ss-pri-exp.prg yes yes yes yes yes
spritesplit/ss-pri-mc-exp.prg yes yes yes yes yes
spritesplit/ss-pri-mc.prg yes yes yes yes yes
spritesplit/ss-pri.prg yes yes yes yes yes
spritesplit/ss-unexp-exp-hires.prg yes yes yes yes yes
spritesplit/ss-unexp-exp-mc.prg yes yes yes yes yes
spritesplit/ss-xpos.prg yes yes yes yes yes
spritesteal/spritesteal.prg yes yes yes yes yes yes
spritex/testsuite.prg yes yes no no no no
spritey/spritey.prg yes


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.

6% (3 of 43)

Cartridge

58% (25 of 43)

Standalone

Test Cartridge Standalone
9a / M6 9f
colorram/test.prg yes
D011Test/disable-bad_ntsc.prg no
dentest/den01-48-0_ntsc.prg yes
dentest/den01-48-1_ntsc.prg yes
dentest/den01-48-2_ntsc.prg yes
dentest/den01-49-0_ntsc.prg yes
dentest/den01-49-1_ntsc.prg yes
dentest/den01-49-2_ntsc.prg yes
dentest/den10-48-0_ntsc.prg yes
dentest/den10-48-1_ntsc.prg yes
dentest/den10-48-2_ntsc.prg yes
dentest/den10-51-0_ntsc.prg yes
dentest/den10-51-1_ntsc.prg yes
dentest/den10-51-2_ntsc.prg yes
dentest/den10-51-3_ntsc.prg yes
dentest/denrsel-0_ntsc.prg yes
dentest/denrsel-1_ntsc.prg yes
dentest/denrsel-2_ntsc.prg yes
dentest/denrsel-63_ntsc.prg yes
dentest/denrsel-s0_ntsc.prg yes
dentest/denrsel-s1_ntsc.prg yes
dentest/denrsel-s2_ntsc.prg yes
dentest/denrsel55_ntsc.prg yes
gfxfetch/gfxfetch_ntsc.prg yes no
phi1timing/phi1timing_ntsc.prg no no
screenpos/screenpos_ntsc.prg no no
split-tests/lightpen/lightpen.prg no
split-tests/modesplit/modesplit.prg no
videomode/rmwtest_ntsc.prg yes
videomode/videomode1_ntsc.prg no

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

82% (23 of 28)

Cartridge

42% (12 of 28)

Standalone

Test Cartridge Standalone
9 / M1 9b / M1 9e / M1 9 9b 9c 9e
mapping/sid-detect2.prg
stereo/stereo.prg yes yes yes yes
paddles/fc3detect.prg (*1) yes yes yes
paddles/paddle.prg (*1) yes yes yes
bitfade/delayenv3.prg ~$19 ~$19 ~$19 ~$44
bitfade/delayfrq0.prg ~$64000 ~$64000 ~$1e0000 ~$1e0000
bitfade/delayosc3.prg ~$19 ~$19 ~$19 ~$19
busvalue/busvalue.prg yes
detect/detect.prg ok (new/new) no (new/new) (*3)
detect/detect-1-old.prg detect-1-new.prg yes
detect/detect-2-old.prg detect-2-new.prg yes
mapping/sid-detect2.prg no (new/new) (*3)
noisewriteback/noisewriteback.prg
noisewriteback/noise_writeback_test1-old.prg noise_writeback_test1-new.prg yes
noisewriteback/noise_writeback_test2-old.prg noise_writeback_test2-new.prg yes
ringmod/ringmodtest.prg yes
waveforms/waveforms-6581.prg waveforms-8580.prg (*2) ok no no
waveforms/waveforms-10-6581.prg waveforms-10-8580.prg yes
waveforms/waveforms-20-6581.prg waveforms-20-8580.prg yes
waveforms/waveforms-40-6581.prg waveforms-40-8580.prg yes
waveforms/waveforms-80-6581.prg waveforms-80-8580.prg yes
writedelay/writedelay.prg yes

(*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 9e 9f
environment/basicram-v1.sid yes yes
environment/basicram-v2.sid yes yes
environment/underbasic.sid yes yes
environment/underkernal.sid yes yes
environment/underio.sid yes yes
C64/autostart/defaults/test.sid yes

Cartridge

43% (14 of 32)

Cartridge

31% (10 of 32)

Standalone

Test Cartridge Standalone
9 / M1 9a / M1 9b / M1 9d / M1 9 9b 9d 9e 9f
C64/carts/16kgame.crt yes yes yes yes yes yes
C64/carts/romram.crt yes yes yes yes yes yes
C64/carts/rr-reu.crt no no yes no no yes yes yes
C64/carts/pagefox/writeram-8000.crt no yes yes no yes yes yes
C64/carts/pagefox/writeram-a000.crt no yes yes no yes yes yes
C64/carts/pagefox/godot.crt yes
C64/carts/ef-test/ef_test.crt
C64/carts/rr-freeze/rr-freeze.crt
C64/autostart/defaults/test.crt (*1) yes yes yes yes
C64/carts/AR+Co_AcidRamTest_0.1.d64 no no no no
C64/carts/supergames/supergames.crt 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 9 9b 9d 9e
colorram/colorram.prg no
colorram/dmacolortest.prg
detectsize/detectreu.prg yes yes
misc/bitfill-auto.prg yes
misc/twoblocks-auto.prg no
misc/twoblocks-ff00-auto.prg no
misc/wheels.prg yes
QuickReuTest-1.1.1/quickreu.exo.prg (*1) no (8 fails) no (8 fails) no no (8 fails) no (8 fails) no (5 fails) no
reudetect/reudetect.prg (*2) yes yes yes yes yes yes
reutiming/reutiming.prg no no no no no no
reutiming2/a.prg no
reutiming2/b.prg no
spriteba/spriteba.prg
xfertiming/xfertiming-cmp.prg no
xfertiming/xfertiming-swap.prg yes
xfertiming/xfertiming-swap2.prg yes
xfertiming/xfertiming-toc64.prg no
xfertiming/xfertiming-toreu.prg 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 9 9b 9e
georam64.prg yes yes yes yes
georamtest.prg
newtest.prg

Drive

90% (330 of 363)

Cartridge

94% (344 of 363)

Standalone

Test Cartridge Standalone
9 / M1 9a / M1 9b / M1 9c / M1 9d / M1 9 9b 9c 9d 9e 9f
1541-testsuite/disks/pc64_1.d64 (115 tests) yes yes yes yes yes yes yes yes
1541-testsuite/disks/pc64_2.d64 (104 tests) no (shaay.prg) 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
scanner/scan35.d64 yes yes yes yes yes yes yes yes
scanner/scan35err.d64 yes yes yes yes yes yes
scanner/scan40.d64 yes yes yes yes yes yes yes yes
scanner/scan40err.d64 yes yes yes yes yes yes
scanner/scan42.d64 no yes yes no yes yes yes yes
scanner/scan42err.d64 yes yes yes yes yes yes
scanner/scan35.g64 yes yes yes yes yes yes yes yes
scanner/scan40.g64 yes yes yes yes yes yes yes yes
scanner/scan42.g64 no 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 no yes yes yes
iecdelay/iec-bus-delay.prg
interrupts/timera.prg (*3) 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 no yes yes yes yes yes
viavarious/via2.prg (12 tests) no yes no yes yes yes yes yes
viavarious/via3.prg (12 tests) no no no no no (ABCDIJKL) no (ABCDIJKL) no no (BDJ)
viavarious/via3a.prg (8 tests) no no no no no (ABCDEFGH) no (ABCDEFGH) no no (BDFH)
viavarious/via4.prg (24 tests) no no no no no (EKQW) no (EKQW) no no (EKQW)
viavarious/via5.prg (18 tests) no no no no no (EFKLQR) no (EFKLQR) no no (EFKL)
viavarious/via9.prg (12 tests) no no no no no (CFIL) no (CFIL) no no (I)
viavarious/via10.prg (8 tests) Breaksemu.png no yes no yes yes yes yes yes
viavarious/via11.prg (8 tests) Breaksemu.png no yes no yes yes yes yes yes
viavarious/via12.prg (8 tests) Breaksemu.png no yes no yes yes yes yes yes
viavarious/via13.prg (8 tests) Breaksemu.png no yes no yes yes yes yes yes
writeprotect/write.prg (*4) 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)

Chameleon specific

100% (4 of 4)

Cartridge

100% (4 of 4)

Standalone

Test Cartridge Standalone
9d / M1 9e / M1 9d 9e
chameleon_test.prg yes yes
rtc-r.prg yes yes
rtc-w.prg yes yes
memtest.prg yes

Real world test cases

The following lists a few "real" test cases which were reported to show bugs in one or another way. Please notice that not all and everything that is reported will be added here (it is not useful to have a list of hundred demos that all show the same sideborder bug) and that we will pick a few "hard" or "typical" programs for different scenarios instead.

Forum 64 Thread

crashes

  • Pitstop 2 (Mr.X)

(8g/M1) crashes usually around lap 2 (seems predictable) (8h/M1) works

  • Giana Sisters (Pentacle/TWG)

(8g/M1) crashes randomly, sometimes after a long time (not very predictable) (8h/M1) works

  • Cobra (Remember)

(9c) crashes in title screen (9d) works

timing (NTSC)

  • strange problems when using update.prg in cartridge mode on an NTSC c64.

(8f)(8i) screen is blank and/or program hangs at the beginning. (9a) works here

  • Oils Well (Nostalgia)

(8g) "The crane (I don’t know what it is) that you control down the screen, the end of it doesn’t display correctly. As you move, the pipe sprite glitches out and doesn’t show the correct character or graphic. As you move around though, things get out of sync. It thinks the cane is way ahead of itself at times." (8h) fixed by using another VIC-chip

  • press CBM and SHIFT a couple of times in BASIC

(8g) "Whenever I change the character set with the CBM + SHIFT keys, the characters instantly become garbled. (The VIC chip is 6567R8, The board revision is 250425.)" (8h) fixed by using another VIC-chip

VIC

  • Cataball +3 (Decibel)

(9d) picture displayer after the intro flickers both on VGA and VIC screen

(8e) bugs in intro, VSP effects are screwed up (errors on VIC screen) (8g/m1) bugs in lower border at fade in/out of "crack intro" also on VIC screen. bugs in right sideborder (side2) "no record" multiplexer shows errors at last rasterline of top sprite-row also on VIC screen

  • Mayhem in Monsterland (Shazam!)

(8e) AGSP timing is screwed up (errors on VIC screen) (8g/M1) works

(6f) stops working after the train-sprayer. The text "there is no other" stays forever and the music stops. Possibly this is caused by the sample which should be played here but can not be heard. (8e) gfx bugs on VIC(!) at top of intro picture after the starfield, gfx bugs (mario part) - likely irq timing related. goes on to end now (8g/M1) works

(6f) intermediate picture is not visible on VGA, intermediate "snapshot" not visible on vga, horizontal raycaster not visible on vga, vector objects not visible on vga. Likely lots of DEN and SpriteEN related stuff :) (8e) upscroller (turn disk) bugs on VIC screen. rest seems to work ok (8g/M1) works

(8f) shows bugs in the intro plasma part (possibly related to CPU irq delay bug?). Disk change does not work due to menu freezer bug (greetings part uses NMI) Endpart crashes after several minutes (?) (8g) crashes early on 1st side (fireworks), 2nd side works but endpart still crashes after a long time (8h/M1) bugs in intro plasma part also on VIC screen. gfx bugs in "discoball scroller" part at the bottom under the scroller on VGA only. no more crashing (9c) works

(9 standalone) First part with rasterbars: Screen is totally broken (9a/M1) first part broken on VIC screen - looks like its the same problem as with CL13. (9c) works

(9c) credit parts is also broken

(9b) bugs (also) on VIC screen in the "fast vectors" part, it seems to show idle graphics where it should show normal text (or bitmap?)

(9b) bugs (also) on VIC screen in the intro part (graphics corruption in the scroller). bugs in scroll-split part on second part (perhaps related to mode switching delay)

(9c) IFLI scroller at the end (after "the end") does not work both in cartridge mode and standalone.

  • Catalypse (MHI)

(7a-dockstation, 8g/M1) starts with wrong colors in the game-intro and has broken sprites. Samples do not play correctly. (the hitmen release of the same game works, so likely some odd init related problem)

Drive Emulation

(9c) hangs with black screen shortly after startup. does not work in VICE either

(9e) hangs with black screen shortly after "girl picture"

(9a) hangs at short drum loop after "fake crash" (9b/M1) works

  • Grand Prix Circuit (Nostalgia)

(8) crashes (8g/M1) works

  • Might and Magic 2 (exodus/hotline)

(9b) when starting a game by pressing "s" the game prompts for "please insert your side A disk"... which is wrong because that disk is already inserted. instead it should load for some time and then prompt for "side B" (9c) works note: the exodus/hotline release is broken. it doesnt like cartridges either

(7) starts loading, then steps forth and back between two tracks (8g/M1) starts loading, shows picture and steps between track 27/28 (9d) works

  • The Addams Family (Motiv8)

(9c) crashes when loading (9d) works

  • Emulated drive problems if ID != 8

(8g/M1) "I have discovered a problem with the emulated drives, if their drive ID is not set to 8. The setup is as follows: TC64 in cartridge mode in an old-style C64 One real 1541 as ID 8 on the real IEC bus, one 1541-II, ID 9 TC64 set to emulate two drives as ID 10 and 11 If I use the emulated drives with the fast loader of the RR (3.8P) I get the following problem: Directory listing works. Loading any program results in "?FILE NOT FOUND ERROR". Afterwards the drive hangs (any DOS command hangs until "reset emulated drives" is executed from the menu). This also happens if I switch of the real drives and/or even disable the real IEC bus in the options. It also happens if the drive is set to ID 9. If the drive is set to ID 8 everything works. With the real drive everything works as well (even if ID is != 8). When this happens the second emulated drive also hangs, even though it wasn't used. The real drives (if turned on / enabled) also hang. So somehow the IEC bus (real and internal one) hangs. This also happens if the emulated drives are connected to the real IEC bus via the break-out cable (and options set accordingly, of course)."

i cant reproduce this on 9e Tobias (talk) 01:11, 21 August 2016 (UTC)

  • There is a reproducible problem with FCOPY:

" If there is IEC-bus-connection: normal (no IEC-cable to TC64), 1541-DOS: JiffyDOS: then when pressing F1 or F5 for 'set source/target device' the system often hangs. The problem isn't if the 1541 uses the original CBM-DOS. The problem isn't if the IEC-bus connection is external (with IEC-cable to TC64). PAL-C64, TC-8F, Cartridge-mode, C64-Kernal: S-JiffyDOS, TC-Floppy-devicenumber: 11, 4 floppies (1541-II (8), 1541old (9), 1571 (10), 1581 (12))"

g64

since beta 9f variable track length is supported, which makes many G64 images work.

see the current G64 compatibility list

disk change

(6d)(8e)(8g/M1) disk change doesn't work (both from menu / swaplist + button) (9a works using swaplist)

(8g/M1) disk change doesnt work (menu) (9) works

  • RGB/Offence+FLT+Prosonix (note: it seems that you have to wait for a while until disk change actually works in the turn disk parts. incase nothing happens, just wait a bit and flip through the images once and it will work.)

(9b) disk change does not work (both via menu and swaplist) (9c) partially fixed, 2nd disk change apparently still fails (9d works)

external IEC

Some demos won't work when loaded from external IEC connector:

  • 1991/Booze Design: after "run" just hangs up
  • Cycle1991/Booze Design: crashes after music selection menu
  • Time Machine1991/Booze Design: after "run" hangs up

VIC (VGA Output)

(9b) in the "unlimited bobs" part the logo flickers (one frame of the interlaced picture has wrong char/bank?)

NOTE: this looks like it is fetching the ROM charset instead of whatever it should fetch instead. could be a case of using $dd02 instead of $dd00 for switching VICII bank This assumption is wrong, its not even interlaced originally. Looks more like a timing problem connected to interrupts.

  • +H2k/Plush (to watch side2, load part selector, mount side2, choose "welcome back" from part selector)

(6d) "plush + paint can" gfx screen emptying effect, gfx glitches (6d) "radar" transition effect sideborder flashes (8e) zoomscroll has bugs on top on VIC screen (8g/M1) red screen whipe effect (after "this millenium") bugs on VGA. rest works ok now (9c) works

(8c) Fullscreen sinus scroller part is not displayed on VGA output. seems to be the same problem like in Trick and Treat. (8c,8g/M1)'ghostsprites' (not sure, maybe it's sth. different) appear in the country/flag part on the VGA VIC-II output. Located in the black screen area between the map and the country name.

(6f) glitch in "hires plasma" part, likely sprite related (8g/M1) glitch in multicolor zoomer on side2 (short flicker on VGA). rest seems ok now (9c) works

(6f) sideborder stuff at the beginning not visible on vga, glitch ~line128 in shadebobs part (8g/M1) some flickering at top right of rotzoomer (greets). rest seems to work ok (9c) works

(8c) the scroller-part from Disk (C) is not displayed on VGA output. (8g/M1) works

(6d)music plays but screen is completely blank (6d)music also have some glitches (atleast it had on some tries, random results..) (6f) works!

(6f) First part with the AFLI logo in the middle: Both small upscrollers in lower area have shifted pixels. (7a-dockstation) shifted pixels in the first part (AFLI logo with two upscrollers) (8g/M1) works!

lower border

(8g,8h/M1) in part with rastersplits and 8 sprites over arrows in lower border, those arrows are broken on VGA. (9c) works

(8c,8g,8h/M1) End Part is missing bottom (white) rasterbar.

sideborder

(6f) still shows some glitches, for example the slow scrolling S-Hires picture in the beginning. Some scenes have heavy flickering in the side borders (also visible in the note-file which uses a similar effect). Sprite priority/Overlay effect with japanese characters looks wrong on vga (8e) timing screwed up in second scrolling super-hires picture near to the end, vertical black line in right sideborder (picture before end)on VGA. priority effects work ok now (8g/M1) vertical black line in right sideborder (picture before end)on VGA. rest works OK (9/M1) works perfectly

(6f) has (minimally) distorted graphics in the right sideborder while the mirrored "Xenon" logo at the beginning is shown. The zooming picture (after the horizontal (kefrens?) bars) is not visible, the screen is just empty but the demo continues normally after that. (6f) sprite zoomer after horizontal kefrens bars part, likely DEN related (8e) glitches in right sideborder (logo before 3d scroller). oswaldbogar after sprite zoomer (which works now) has gfx bugs on VIC screen at top of text area (8g/M1) glitches in right sideborder (logo before 3d scroller) on VGA. rest works now (9/M1) works perfectly

(8c) Spritevectorlogo in Sideborder Part (Part 4) Multicolorgfx is corrupted on VGA out. (8g/M1) (Part4) sideborder scroller has gap on right side on VGA, multicolor gfx is corrupt (40/38 cols) on VGA (9/M1) works perfectly

(7a-dockstation, 8g/M1) shows a little sideborder-glitch at the left side in the Hires scroller part. rest is ok (9/M1) works perfectly

Collisions

(9e) sprite/sprite collisions do not work

Cartridge

Ocean (5)

  • Robocop II

(8e) crashes at intro with garbled screen. (8h/M1) works

  • Shadow of the Beast

stays at black screen, game won't start (8h/M1) works

Funplay (7)

  • Power Play

(8e) Microprose Soccer crashes to blank screen after selecting from the crt menu. (8h/M1) works

  • Fun Play

(8e) gfx bugs in Fast Food (8h/M1) works

Supergames (8)

  • Commodore Arcade (3 in 1)

(8h/M1) Colossus Chess and International Football do not work (9) works

C64GS (15)

  • C64 Games System (disable mouse emulation!)

(8e) Int. Soccer, Klax and Flimbo's Quest crash to Ready prompt after selecting from the crt menu. (8h/M1) works

Easyflash (32)

(8h/M1) test drive II hangs when starting a game. this is caused by the EAPI returning an error (8i/M1) works

(8g/M1) for some strange reason do not start with their menu, but directly one of the games (with no way to get to another) (8h/M1) works

(8g/M1) crashes in decrunching screen immediately after loading. (8h/M1) works

Pagefox (53)

when writing to the cartridge RAM, the write should also go to the C64 RAM. this is not emulated yet. "Quick test: Run Pagefox Cartridge - press 1-key (layout) - press f-key (full format) two times. The displayed page on the left side should be empty now. (because there is no text entered till now). If some kind of graphic crap is displayed there, the bug is still present." (9a works)

REU

  • GEOS (supports up to 2MB)

(8h/M1) RAM drives work (9e) works

  • Wheels (supports up to 2MB)

(8h/M1) crashes at boot (9e) works

  • GEOS megapatch 3 (supports up to 4MB)

(8c) screensaver has to be disabled, it crashes the chameleon immediately. even trying to change this option let the c. crash. and as soon as trying to access the RAM chameleon hangs (configration: standalone, REU 16mb (only 4 supported in mp3), 2 emulated 1541) (8c) megapatch3 won't start on my REU system with only one diskdrive enabled, i disabled all "RAM drives" in mp3, no changes. it crashes with 2 drives enabled as soon as i access the REU (cartridge mode) (8h/M1) crashes at boot (9e) works

(9e) several screens (open border stuff) do not work because of transfers being one-cycle late

(9e) FLI stuff does not work because of transfers being one-cycle late

GEORAM

  • GEOS (supports up to 2MB)

(8h/M1) RAM drives work

  • Wheels (supports up to 2MB)

(8h/M1) RAM drives work

  • GEOS megapatch 3 (supports up to 4MB)

(8c) works in Cart mode, but refuses to use the RAM drives (1541ram), which seems to be normal in mp3. (8h/M1) RAM drives and screensaver work

Note: apparently using the turbo makes things unstable, unsure what is causing that. (maybe loader issues)



CIA (Emulated)

These only apply to standalone mode

  • Hypersports

(8h) first event (swimming) does not end after one minute (CIA TOD alarm bug) (9) works

(9/Standalone) crashes in title screen. somehow related to TOD alarm apparently. (9c) works

(9b) If you press the fire button in the first game screen, the player-sprite flies up to the top of the screen and stays there. Normally, the player-sprite makes only a small jump. this only happens when using the ps/2 keyboard or joystick attached to the dockingstation - it works when using the C64s joystick ports (9c) works

(9b) the game will not start after the trainer settings, it is stuck in an infinite loop, because the CIA SP-interrupt of the "serial shift register" does not occur! (9c) works

(9b) hangs in the "frogger" title screen, it is stuck in an infinite loop, waiting for the TOD seconds register to become 5. (9c) works

SID (Emulated)

These apply only to the sound output of the Chameleon itself:

(6d) samples play only the first fraction of a second, and then no samples along the song. (6f) no samples in intro on emulated sid (8e) samples are VERY silent after some seconds, but they are playing? (8i) works

(6d) features the same song, and there the samples play like they should (load "2-finished! blaa". Previous part doesn't seem to work on Chameleon.) (6f) intro has bugs in right sideborder. Outrun tune plays no samples on emulated sid (no more crashing though) (8e) samples are VERY silent after some seconds, but they are playing? (8i) works

(6f) plays samples by „latching“ current oscillator value by selecting waveform $00 (7) works

(6f)(7)(8g/M1) creates custom waveforms with noise generator, which doesnt work (fixed for beta 9g)

(8c) Speech is distorted ("stall warning", "low altitude"). Same when playing .sid file.

(8c)(8g/M1) plays samples using filters, which does not work (because there are none :)) (8i) works

(8i) in standalone mode play a single event, the sound is broken when the hymn after the event is played

Misc

  • (8d) Beyond Castle Wolfenstein (original disk)
" NTSC C64 - I tested using an original diskette. With the chameleon plugged in turbo on\off, the result was the same. After loading the game, it goes straight into demo mode when it should instead prompt the user with the option of using a keyboard or joystick. After that, it should go to the menu which lets you setup your rank and bunker level. When in demo mode, the RUN\STOP key allows you to quit demo, and bring you back to the first menu. This works but instead of going to the menu it just loads the demo again. When I removed the Chameleon and ran the game, it worked as expected."

Not actual bugs

Sometimes when bugs are reported it turns out that infact the program in question is broken and the emulation is actually correct - we list them here for reference:

  • the RR ROM (and possibly other programs) detect NTSC when turbo is enabled and video mode is PAL. this is caused by the broken detection inside the C64 kernal ROM.
  • most MMC64 plugins and programs do NOT work on FAT32 formatted sd cards. make sure to use a FAT16 formatted card with the MMC64 emulation if you want to use these plugins/programs!
  • Cartridges made for the C64 Game System (C64GS/System3 format) support joysticks with a second button connected to one of the paddle inputs. For this reason the game may get confused when either a paddle or mouse (real or ps/2) is connected. (for example the C64GS cartridge will skip its menu, last ninja 3 remix will skip its intro and go directly into the game). Look here for instructions on how to convert a joystick to use the second button.
crashes in the first part (Upscroller) - it relies on uninitialized RAM (and will crash randomly on real C64s)
Workaround: choose "clear C64 Memory" in the main memory first, then start the Demo.
crashes randomly on loading - and it does that also when using a real drive.
  • Love by Agony Design
doesn't work with cartridges. Disable the clock-port and/or cartridges
these rely on the screen being cleared with a specific color prior to starting the program and would show wrong colors if not
will always detect 512k REU if a REU is present.
When the falling cubes appear two grey blocks will show up in the upper border, this is caused by the VGA screen showing more scanlines than an average CRT
In the "city with disco ball" part near to the end there is a sprite missing in the top left corner of the disco ball - this is a bug in the actual demo and looks the same on a real C64.
  • Myth: History in the making (cartridge)
starts up with black screen. this is normal, you need to blindly type the following:
SYS (hit spacebar) 3 (hit spacebar) MYTH
  • PRG Files which load below $0400, and thus are unsupported:
    • Buggy Boy (1987)(Elite)[cr The Wild Boys].prg - loads to $0302 (autostart)
Workaround: copy the file to a disk image and then load it from BASIC
  • PRG Files with bugs:
    • A__AP___A (2002)(Ice Team).prg - sometimes graphics are corrupted. this also happens when running it by other means, so its not bug
  • "Advanced Music System" (relies on uninitialized RAM)
hangs in the lenslock screen for some odd reason, see the vice bug here
WORKAROUND: before loading clear RAM with zeros
Personal tools