On Fri, Aug 26, 2011 at 04:11:38PM +0200, Segher Boessenkool wrote: >Btw, the 6560 datasheets say it is 262.5 lines per field for interlace >mode (like NTSC should be), and 262 for non-interlace mode; your docs >(and everything else I googled) say it is 261. Which is wrong? Let's see the source code of my test program: http://zimmers.net/anonftp/pub/cbm/vic20/programming/interlace.tar.gz It looks like the program aims to set the interrupt on the last line of the odd frame (263th line). LINES_i = 525 ; lines per interlaced frame LINES_e = 262 ; lines per even frame LINES_o = 263 ; lines per odd frame ... lda #LINES_i / 4 ; wait for last line .last: bit $9003 beq .last cmp $9004 bne .last The program does not initialize the low bits of $9003, so I guess that there is a bug in it, because if the default value of $9003 is $2e or $ae, and that ANDed with $83 is never zero, but always $02 or $82. The BEQ after the BIT should probably be BPL. Otherwise, the switch could occur on the wrong field, that is, it would always show the wrong half of the interlaced font. This should occur with about 50% probability. Best regards, Marko Message was sent through the cbm-hackers mailing listReceived on 2011-08-26 21:00:10
Archive generated by hypermail 2.2.0.