[C64] Routine 80x50 in ASM [C64] Routine 80x50 in ASM

Risultati da 1 a 20 di 53

Discussione: [C64] Routine 80x50 in ASM

Visualizzazione Elencata

Messaggio precedente Messaggio precedente   Nuovo messaggio Nuovo messaggio
  1. #9
    B1-66ER ¥€$ L'avatar di KymyA
    Data Registrazione
    Jan 2016
    Località
    PUTIGNANO (BA)
    Messaggi
    20.231
    Gamer IDs

    Gamertag: KymyA PSN ID: KymyA Steam ID: KymyA

    Re: [C64] Routine 80x50 in ASM

    risolto... quasi...va tutto bene tranne... quando raggiunge un certo valore di coordinata che mi sballa tutto. avrò dimenticato il CARRY da qualche parte.
    Io trovo molto stimolante e rilassante fare ste robe.
    E' da stamattina che ci sbatto il crapino.
    Non ne fotte un cazzo a nessuno?

    Questa la routine che trasforma lo spazio 80x50 in coordinate video/colore: ($58 coordX; $59 coordY)
    Per ora nessuna ottimizzazione: l'ho scritto di getto.

    Codice:
    trasf_coord
    	LDA $59
    	CLC
    	ROR
    	CLC
    	ROL
    	TAX
    	INX 
    	LDA tabella_row,X
    	STA posizione_schermo	
    	STA posizione_colore	
    	LDA tabella_row+1,X	
    	ADC #$04	
    	STA posizione_schermo+1	
    	ADC #$D4	
    	STA posizione_colore+1	
    		
    	LDA $58	
    	CLC	
    	ROR	
    	STA $5A	
    	LDA posizione_schermo	
    	CLC	
    	ADC $5A	
    	BCC trasf_coord1	
    	LDY posizione_schermo+1
    	INY
    	STY posizione_schermo+1			
    trasf_coord1
    	STA posizione_schermo
    	; Stessa cosa per il colore
    	LDA $58	
    	CLC	
    	ROR	
    	STA $5A	
    	LDA posizione_colore	
    	CLC	
    	ADC $5A	
    	BCC trasf_coord2	
    	LDY posizione_colore+1
    	INY
    	STY posizione_colore+1			
    trasf_coord2
    	STA posizione_colore
    	RTS
    
    tabella_row
    	.byte $00,$00, $00,$28, $00,$50, $00,$78, $00,$A0, $00,$C8, $00,$F0, $01,$18, $01,$40, $01,$68, $01,$90, $01,$B8, $01,$E0
    	.byte $02,$08, $02,$30, $02,$58, $02,$80, $02,$A8, $02,$D0, $02,$F8, $03,$20, $03,$48, $03,$70, $03,$98, $03,$C0			
     
    posizione_schermo
    	.byte 0,0 ; FalegnameGeppetto sukaminchia
    	
    posizione_colore
    	.byte 0,0
    Ultima modifica di KymyA; 14-06-17 alle 17:31
    DISCLAIMER: Questo post non invita a commettere reati ne tantomeno ad infrangere la legge (degli uomini o Divina). Quanto scritto può essere parzialmente o totalmente falso o frutto della fantasia (malata) dell'autore. L'autore non si assume responsabilità per quanto scritto, suggerito o sottointeso da questo post.

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
Chi Siamo
Forum ufficiale della rivista
The Games Machine
Seguici su