Great! It's what you get when you name a procedure like a system label (silly me).
Looking at the list file, it is plain to see:
38 709F
.proc vblank
39 709F A9 31 lda #49 ;(45-6)*76/64 = 46,3125 the logo requires 6 scanlines for object positioning
40 70A1 8D 96 02 sta tim64t
41
42 70A4 4C 41 70 jmp call_vblank ;Call routine pointed to by vblank_ptr in other bank
43 70A7 return
44
45 70A7 20 8E 7C jsr effect.logo.vblank ;Animate the logo
46
47 70AA AD 84 02 sync lda intim ;Sync with beam again
48 ; sta colubk ;Debug remaining time
76 70C7 A9 02 lda #2 ;<A>:=2
77
70C9 8D 9F 70 sta vblank ;Activate VBLANK bit 1
49 ;stop bmi stop ;Time overrun
50 70AD D0 FB bne sync
51 70AF 85 02 sta wsync
52
70B1 8D 9F 70 sta vblank ;Deactivate VBLANK bit 1
53 .endp
BUT: Now that I set/reset VBLANK the situation on the TV gets completely out of control. Not only the screen is rolling (even more than before) but also the 2600 seems to reduce its speed during the rolling. The sound frequency drops and the speed of the effects is "slow motion". Crazy. It the kind of things that ONLY happed 3 days before the deadline...
I think I simply got the timing wrong for re/setting VBLANK, so I hope some of you can also help here.
Here is the exmaple file:
Edited by JAC!, Thu Oct 27, 2011 2:55 PM.