Hello,
I am so frustrated and exhausted
Hope some good developer can help me…
I have made a simple VIC-20 program (attached), which waits for the raster beam, changes the color once the line is detected and on the next line it changes it back, so it draws a line. And it should stay like that. It loops forever, but sometimes SOMETHING goes wrong, so the background is filled with line color and itn result it blinks.
I cannot find what can possibly go wrong. Or could that be caused by the VICE emulator (I have not tested it on real VIC-20)?
I have recorded a video:
https://youtu.be/Df-67EqRFkYHere is the code:
Code:
*=$1001
BYTE $0B, $10, $0A, $00, $9E, $34, $31, $30, $39, $00, $00, $00
SCREEN_COL_BORDER equ $900F ; Screen and border register
RASTER_BEAM_LINE equ $9004 ; Currently drawn raster beam line
program_init:
lda #%01011011 ; Black background and border
ldy #%00001011 ; Red background and border
loop:
ldx #50
red_line: ; Draw red line
cpx RASTER_BEAM_LINE ; Wait for raster line 50
bne red_line
sty SCREEN_COL_BORDER ; Set the red color
ldx #51
rest_black: ; Fill rest with the black color
cpx RASTER_BEAM_LINE ; Wait for raster line 51
bne rest_black
sta SCREEN_COL_BORDER ; Set the red color
jmp loop ; Go tot start