Menu

#2078 Bug in old CIA where timer B of CIA 1 does not start.

v3.x
closed-works-for-me
nobody
None
GTK3
x64sc
2024-10-13
2024-10-08
Fungus
No

Vice Version 3.8 r45311

Config, Stock C64 PAL (CIA 2526 (old), CBM 1541 with or without Action Replay

The 400ms watchdog timer for kernal which is set at $ee20 fails to start the timer (timer 2) in one shot mode with force load strobe.

.C:ee20 A9 01 LDA #$01
.C:ee22 8D 07 DC STA $DC07
.C:ee25 A9 19 LDA #$19
.C:ee27 8D 0F DC STA $DC0F
.C:ee2a 20 97 EE JSR $EE97
.C:ee2d AD 0D DC LDA $DC0D
.C:ee30 AD 0D DC LDA $DC0D
.C:ee33 29 02 AND #$02
.C:ee35 D0 07 BNE $EE3E

checking the timer with IO gives the following output

(C:$ee30) io dc00
CIA1:

C:dc00 7f ff ff 00 ae 23 ff 01 00 00 00 01 00 00 01 08 .....#..........

ICR: 00 (mask: 01) CTRLA: 01 CTRLB: 08, delay: 0000 rclk--12 to_ack: 00

Port A: 7f DDR: ff
Port B: ff DDR: 00

Timer A IRQ: on running: yes mode: continuous
Timer A counts: System clock PB6 output: no (Pulse)
Timer A: 23ae (latched 4025)
Timer B IRQ: off running: no mode: one-shot
Timer B counts: System clock PB7 output: no (Pulse)
Timer B: 01ff (latched 01ff)

TOD IRQ: off latched: no running: no mode: 60Hz
TOD Time: 01:00:00.0 (am)
TOD Alarm: 00:00:00.0 (am)

Shift Register IRQ: off mode: input
Shift Register Data Buffer: 00
Timer A SDR: delay 0f000

FLAG1 IRQ: off

timer B is NOT running when it clearly should be.

This behavior does not happen with the computer set to C64 C.

Attached is Skyfox.G64, disk original. I get this bug every single time I try to load it. It works perfectly fine with 64 C emulation. The game/disk is known to work on real c64's.

To reproduce, load "*",8,1 and it will hang reading sectors on track 01.

Ignore the fastloader, it is only active on initial boot, it then switches to the normal fat tracks loader which uses kernal exclusively to B-R each sector and store it in memory.

1 Attachments

Discussion

  • Fungus

    Fungus - 2024-10-08

    Of course I meant 6526 , not 2526 (I'm tired)...

     
  • gpz

    gpz - 2024-10-08

    It works for me shrug - please attach the vice log (which will tell your exact settings). There must be something else involved

     
  • Querino

    Querino - 2024-10-08

    the game loads fine for me too, using x64sc.exe -default

    both, x64.exe and x64s.exe

     
  • Fungus

    Fungus - 2024-10-08

    Log attached

     
  • Fungus

    Fungus - 2024-10-08

    Round two...

     
  • gpz

    gpz - 2024-10-08

    so, -virtualdev1 causes the problem. Solution: turn it off

    (always try with default setting when something does not work)

     
  • gpz

    gpz - 2024-10-08
    • status: open --> closed-works-for-me
     
  • Querino

    Querino - 2024-10-13

    but x64sc -default -virtualdev1 works just fine, it just hangs with an additional -cia1model "0" -cia2model "0"

    so... model "C64 PAL" hangs with VDT on, whereas model "C64C PAL" works.
    and it's like that until back to VICE v3.0

     

Log in to post a comment.

MongoDB Logo MongoDB