Autore Topic: Yuppii! Stable Raster!  (Letto 2952 volte)

Tremal-Naik

  • Neo-iscritto
  • *
  • Post: 21
  • Gioco Preferito: Turrican
Yuppii! Stable Raster!
« il: 10 Agosto 2004, 11:49:23 »
 Finalmente!!!!!!!!!! Dopo ore e ore di esperimenti sono riuscito a creare la mia prima routine stabile!! Per ora ho provato solo con il polling su d012 e d011 ma penso che con l'IRQ cambiera' poco (giusto un conteggio diverso sul primo delay, cioe' la sequenza di NOP).

Ora debbo solo: eliminare quei NOP all'inizio (carta e matita mi daranno una mano :), creare un loop per generare la delaytablee gestire un po' meglio la colortable (magari evitando di sprecare n-mila byte per una colortable che si ripete ogni 8 byte).
Pero' anche se brutto funziona! :))

Codice: [Seleziona]
               processor 6502

                org $0800

                dc.b $00, $0c, $08, $0a
                dc.b $00
                dc.b $9e, $20, "2304"
                dc.w $00
                dc.w $00

                org $0900
                sei
main
                lda #$fe
                sta $d020
                lda #$f6
                sta $d021

                lda #$32
wait_032
                cmp $d012
                bne wait_032
                ldx $d011
                bmi wait_032

                nop
                nop
                nop
                nop
                nop
                nop
                nop
                nop
                nop
                nop
                nop
                nop
                nop
                nop
                nop
                nop
                nop
                nop
                nop

                ldx #$00
draw_again
                ldy delay,x
                lda color,x

                inx
                sta $d020
                sta $d021
wait
                dey
                bne wait
                cpx #color_end-color
                bne draw_again
                nop
                nop
                jmp main
                rts

delay
                dc.b 1,8,8,8,8,8,8,8
                dc.b 1,8,8,8,8,8,8,8
                dc.b 1,8,8,8,8,8,8,8
                dc.b 1,8,8,8,8,8,8,8
                dc.b 1,8,8,8,8,8,8,8
                dc.b 1,8,8,8,8,8,8,8
                dc.b 1,8,8,8,8,8,8,8
                dc.b 1,8,8,8,8,8,8,8
                dc.b 1,8,8,8,8,8,8,8
                dc.b 1,8,8,8,8,8,8,8
                dc.b 1,8,8,8,8,8,8,8
                dc.b 1,8,8,8,8,8,8,8
                dc.b 1,8,8,8,8,8,8,8
                dc.b 1,8,8,8,8,8,8,8
                dc.b 1,8,8,8,8,8,8,8
                dc.b 1,8,8,8,8,8,8,8
                dc.b 1,8,8,8,8,8,8,8
                dc.b 1,8,8,8,8,8,8,8
                dc.b 1,8,8,8,8,8,8,8
                dc.b 1,8,8,8,8,8,8,8
                dc.b 1,8,8,8,8,8,8,8
                dc.b 1,8,8,8,8,8,8,8
                dc.b 1,8,8,8,8,8,8,8
                dc.b 1,8,8,8,8,8,8,8
delay_end

color           dc.b 0,1,2,3,4,5,6,7
                dc.b 0,1,2,3,4,5,6,7
                dc.b 0,1,2,3,4,5,6,7
                dc.b 0,1,2,3,4,5,6,7
                dc.b 0,1,2,3,4,5,6,7
                dc.b 0,1,2,3,4,5,6,7
                dc.b 0,1,2,3,4,5,6,7
                dc.b 0,1,2,3,4,5,6,7
                dc.b 0,1,2,3,4,5,6,7
                dc.b 0,1,2,3,4,5,6,7
                dc.b 0,1,2,3,4,5,6,7
                dc.b 0,1,2,3,4,5,6,7
                dc.b 0,1,2,3,4,5,6,7
                dc.b 0,1,2,3,4,5,6,7
                dc.b 0,1,2,3,4,5,6,7
                dc.b 0,1,2,3,4,5,6,7
color_end
                rts

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Yuppii! Stable Raster!
« Risposta #1 il: 10 Agosto 2004, 20:48:40 »
 Ottimo lavoro! C'e' da lavorare sulla tabella dei delay, anche usando una cosa del genere

txa
and #$07
tax
ldy delay,x

puoi ridurla a soli 8 byte, poi devi ricalcolare i nop per la sincronizzazione.
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

Tremal-Naik

  • Neo-iscritto
  • *
  • Post: 21
  • Gioco Preferito: Turrican
Yuppii! Stable Raster!
« Risposta #2 il: 10 Agosto 2004, 21:23:12 »
 
Citazione
txa
and #$07
tax
ldy delay,x

Problema: aggiungendo queste righe mi si sballa il timing della stampa delle 8 righe. La cosa e' problematica per la prima riga in quanto ha un delay pari a 1 perche' in badline...

Adesso mi metto sotto per trovare alternative!

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Yuppii! Stable Raster!
« Risposta #3 il: 11 Agosto 2004, 14:39:02 »
Citazione da: "Tremal-Naik"
Problema: aggiungendo queste righe mi si sballa il timing della stampa delle 8 righe.
Come dicevo c'e' da rielaborare il timing. Questa e' una stable raster che non usa tabelle. E' di Fungus/Nostalgia
http://www.ffd2.com/fridge/vic/stableraster.txt
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

Tremal-Naik

  • Neo-iscritto
  • *
  • Post: 21
  • Gioco Preferito: Turrican
Yuppii! Stable Raster!
« Risposta #4 il: 11 Agosto 2004, 17:10:38 »
 
Citazione
Come dicevo c'e' da rielaborare il timing.

Ok, ma finche' si tratta di ricalcolare i primi nop non ci sono problemi ma e' proprio il primo ciclo sulla badline a mettermi nei guai... se aggiungo un'istruzione il ciclo diventa troppo lungo (ha delay pari a 1) e la rasterbar diventa lunga una riga abbondante... Anche togliendo i due nop rimango a corto di cicli...

Cmq adesso mi vado a vedere la routine che mi hai passato.