Carino questo listato che evidenzia la riga su cui si trova il cursore :D
La versione originale forzava il contenuto del bordo e dello sfondo sul nero, perdendo le informazioni originarie.
Con la modifica di poche righe (come spesso accade,anche per programmi più complessi) ecco risolto il "problema"
;HILINER ATTO II / DA CCC N.62 (modificato per mantenere bordo e sfondo)
* = $c000
vicreg=$d012
vicflg=$d019
vicmsk=$d01a
bordo=$fb
sfondo=$fc
sei
lda #$7f
sta $dc0d
and $d011
sta $d011
lda #$81
sta vicmsk ;raster IRQ on
lda #<main
sta $314
lda #>main
sta $315 ;IRQ vett.
cli
rts
main lda $d020
ldx $d021
sta bordo
stx sfondo ;salva bordo/sfondo
lda vicflg
sta vicflg ;riattiva raster IRQ
lda #$07
sta $d020
sta $d021 ;bordo e sfondo gialli
ldx #$65
lp2 dex
bne lp2 ;copre tutta la linea
lda bordo
ldx sfondo
sta $d020
stx $d021 ;ripristina bordo/sfondo
lda $d6
asl
asl
asl
adc #$31 ;pos curs = linea curs x 8 + 49
sta vicreg
jmp $ea31 ;IRQ normale
Il disassy originale lo trovate su CCC n.62.