Autore Topic: Hiliner Atto Iii  (Letto 1860 volte)

Alberto

  • Utente
  • **
  • Post: 589
  • Gioco Preferito: Grand Prix Circuit
Hiliner Atto Iii
« il: 30 Aprile 2006, 13:09:30 »
 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"

Codice: [Seleziona]
;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.