X16Community / x16-rom

Other
43 stars 27 forks source link

Auto increment seems to stop at line 200 of the video screen #340

Closed xlar54 closed 3 months ago

xlar54 commented 3 months ago

when calling $ff11 (set 8 pixels) it is supposed to auto increment. This happens fine until it gets to the 200th line. then it corrupts the screen (or just stops):

image

the block in the top right shouldnt be there. it should be alternating all the way to the bottom. Here;s the C code (cc65) that produced this (i have reproduced in pure asm on a real machine):

` asm("lda #$00"); asm("sta $02"); asm("sta $03"); asm("sta $04"); asm("sta $05"); asm("jsr $feff"); // set cursor to 0,0

for(j=0;j<120;j++)
{
    for(i=0;i<40;i++) {
        asm("lda #$AA");
        asm("ldx #$00");
        asm("jsr $ff11");
    }

    for(i=0;i<40;i++) {
        asm("lda #$55");
        asm("ldx #$00");
        asm("jsr $ff11");
    }
}

`

xlar54 commented 3 months ago

(note, after compiling and loading, i do SCREEN 128 to get to the graphics screen, then SYS $2000)

HASH.TXT

0

xlar54 commented 3 months ago

if instead I only go 100 for the outer loop (200 lines), I get a proper output, but anything over 200 does as above.

image

xlar54 commented 3 months ago

thank you!