Autore Topic: Sprites, In Linguaggio Macchina...  (Letto 7683 volte)

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Sprites, In Linguaggio Macchina...
« Risposta #15 il: 25 Luglio 2004, 16:52:38 »
Citazione da: "djwiper"
nintendo (sebbene abbia il chip 6510 come cpu) o il supernintendo?
Putroppo non so nulla riguardo a NES/SNES a parte il fatto che usano una 65xx come cpu. Spiacente. ;)
 
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

Alberto

  • Utente
  • **
  • Post: 589
  • Gioco Preferito: Grand Prix Circuit
Sprites, In Linguaggio Macchina...
« Risposta #16 il: 25 Luglio 2004, 16:54:13 »
 Sì,è ovvio che gli sprite mappati sullo schermo,in ogni momento,sono sempre e solo (al massimo)8,ma nel caso del programma sopra,quel che si vede a video sono comunque 32 sagome per frame,non 8 che appaiono e scompaiono alternativamente.

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Sprites, In Linguaggio Macchina...
« Risposta #17 il: 25 Luglio 2004, 17:06:02 »
Citazione da: "Alberto"
Sì,è ovvio che gli sprite mappati sullo schermo,in ogni momento,sono sempre e solo (al massimo)8,ma nel caso del programma sopra,quel che si vede a video sono comunque 32 sagome per frame,non 8 che appaiono e scompaiono alternativamente.
Ma e' quello che ho detto anche io: siamo noi da codice che spostiamo gli sprites mentre il raster va in giu', il raster non ha il tempo di far vedere che sopra non ci sono piu'. quando il raster ritorna all'inizio dello schermo  si rispostano gli sprites nella prima sezione e cosi' via. Il tutto, effettuato in un frame, non permette di vedere lo spostamento.
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

Roberto

  • Administrator
  • Utente
  • *****
  • Post: 2411
    • https://ready64.org
  • Gioco Preferito: Impossible Mission
Sprites, In Linguaggio Macchina...
« Risposta #18 il: 25 Luglio 2004, 17:06:49 »
 
Citazione da: "Alberto"
Nel multiplexing gli sprite sullo schermo sono effettivamente più di 8.
Citazione
Sì,è ovvio che gli sprite mappati sullo schermo,in ogni momento,sono sempre e solo (al massimo)8,

Ma giochiamo con le parole?
Per collaborare, segnalare un errore (o qualsiasi altra comunicazione importante) utilizzare la pagina dei contatti:
https://ready64.org/informazioni/contatti.php

Alberto

  • Utente
  • **
  • Post: 589
  • Gioco Preferito: Grand Prix Circuit
Sprites, In Linguaggio Macchina...
« Risposta #19 il: 25 Luglio 2004, 17:08:18 »
 Vabbò,tronchiamo qui la polemica (preferisco occupare il mio tempo in maniera migliore ;) )
Bye :ciauz:

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Sprites, In Linguaggio Macchina...
« Risposta #20 il: 25 Luglio 2004, 17:21:46 »
Citazione da: "Alberto"
Vabbò,tronchiamo qui la polemica (preferisco occupare il mio tempo in maniera migliore ;) )
Bye :ciauz:
quale polemica... si stava discutendo sul come funziona il programma  :confused:  
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

MarC=ello

  • Utente
  • **
  • Post: 337
  • Gioco Preferito: CBM BASIC 2.0
Sprites, In Linguaggio Macchina...
« Risposta #21 il: 25 Luglio 2004, 18:39:26 »
 
Citazione
Però,facendo così l'effetto a schermo è abbastanza schifido:50 hz sono una frequenza video troppo bassa per creare l'effetto di più di 8 sprite su una sola riga di raster.

Centinaia e centinaia di bellissime IFLI sono state fatte con questo principio... frizzano ma qual'è il problema? Si guadagna molto: risoluzione doppia e mescolamento dei colori. Analogamente, multiplexando hai sì dello sfarfallamento, ma hai il doppio di quello che avresti senza sfarfallare... sono i soliti compromessi che si hanno lavorando con un computer classico ;)  
-=MarC=ellO=-

MarC=ello

  • Utente
  • **
  • Post: 337
  • Gioco Preferito: CBM BASIC 2.0
Sprites, In Linguaggio Macchina...
« Risposta #22 il: 25 Luglio 2004, 18:40:51 »
 Qua nessuno vuol far polemiche... semplicemente stiamo parlando di alcune tematiche - peraltro, almeno per me, tutt'altro che semplici...

 
-=MarC=ellO=-

MarC=ello

  • Utente
  • **
  • Post: 337
  • Gioco Preferito: CBM BASIC 2.0
Sprites, In Linguaggio Macchina...
« Risposta #23 il: 25 Luglio 2004, 18:46:45 »
 
Citazione
Putroppo non so nulla riguardo a NES/SNES a parte il fatto che usano una 65xx come cpu. Spiacente.

Io posso dire solo una cosa (visto che è l'unica che so sul NES! :doh: ): nel NES, che è successivo al C64, prima di scrivere dati sullo schermo il circuito grafico si assicura da solo che il rasterbeam sia nell'area non visibile dello schermo, evitando sfarfallamenti.
Nel C64, invece, ad esempio per fare uno scrolling senza disturbi video, occorre come minimo scrivere:

Codice: [Seleziona]
loop lda $d011
bpl loop

come ci dice il buon vecchio "mapping the 64".

Ciao!
-=MarC=ellO=-

djwiper

  • Utente
  • **
  • Post: 197
  • Gioco Preferito: Sim City
Sprites, In Linguaggio Macchina...
« Risposta #24 il: 26 Luglio 2004, 12:16:35 »
Citazione da: "iAN CooG/HF"
Putroppo non so nulla riguardo a NES/SNES a parte il fatto che usano una 65xx come cpu. Spiacente. ;)
Questo vuol dire che il LM del commodore sostanzialmente non differisce molto dal LM del NES/SNES? O si devono utilizzare particolari accorgimenti oltre ai cambiamenti del chip 6502 e 6510a01 montato sul nes?

Scusate il palese off topic
Ho capito di odiare le firme...

Alberto

  • Utente
  • **
  • Post: 589
  • Gioco Preferito: Grand Prix Circuit
Sprites, In Linguaggio Macchina...
« Risposta #25 il: 26 Luglio 2004, 18:02:12 »
 Allora,vediamo di capirci,perchè mi sa che sono stato equivocato ;)

@Roberto:

Quando parlo di sprite (visualizzato) sullo schermo,intendo la SAGOMA dello sprite.

Quando parlo di sprite MAPPATO in memoria,intendo gli sprite hardware (cioè quelli in quel momento attivi,quindi soggetti a collisioni,puntati da $07f8-$07ff eccetera).

Comunque ammetto di non essermi spiegato in modo chiarissimo :stordita:

@Ian:

Mi sembra inutile portare avanti una discussione tra noi due,quando entrambi intendiamo le stesse cose,ti pare?
Il post in cui ho detto 'E' ovvio che...' era per farti capire che intendevo dire esattamente quel che hai detto tu,e siccome hai replicato 'Ma è quello che ho detto io...',mi sembrava che la discussione stesse degenerando (inutilmente) in una mezza polemica.

@Marcello:

Non ho mai provato a fare IFLI con il multiplexing,per cui mi attengo a quel che dici tu ;)
La storia della polemica,comunque,era riferita al discorso tra me e Ian CooG,tu non c'entri nulla :mellow:

Ciauz :c64:
 

MarC=ello

  • Utente
  • **
  • Post: 337
  • Gioco Preferito: CBM BASIC 2.0
Sprites, In Linguaggio Macchina...
« Risposta #26 il: 26 Luglio 2004, 23:34:00 »
 
Citazione
Non ho mai provato a fare IFLI con il multiplexing,per cui mi attengo a quel che dici tu 

L'IFLI e il multiplexing sono due cose diverse... ma in entrambe vi è il concetto di alternare due fotogrammi... tutto qui. Quanto alla polemica, l'avevo intuito che non era diretta a me, mi premeva comunque chiarire e l'ho fatto ;)

Citazione
Questo vuol dire che il LM del commodore sostanzialmente non differisce molto dal LM del NES/SNES? O si devono utilizzare particolari accorgimenti oltre ai cambiamenti del chip 6502 e 6510a01 montato sul nes?

L'unica differenza fra il 6510 e il 6502 è data dalla gestione della memoria. Nel 6502 non vi sono il registro 0 e 1 (direzione dati e porta di I/O). Il set di istruzioni e l'assembly sono identici per entrambe le macchine.
Per essere precisi, il 6502 del NES non presenta NMI, ma anche questo fatto è di scarso rilievo. Ad esempio io ho studiato l'assembly del 6510 utilizzando anche, fra le altre cose, un tutorial destinato al mondo del NES :)

Ciao!
-=MarC=ellO=-

DustBin

  • Utente
  • **
  • Post: 104
  • Gioco Preferito: WizBall
Sprites, In Linguaggio Macchina...
« Risposta #27 il: 11 Agosto 2004, 21:50:59 »
 Ciao a tutti,
avrei una curiosita' forse stupida, tipica da coder, anche se io mi sono sempre occupato di musica, o quasi.

Il discorso del multiplexing mi ha sempre interessato all'n-esima potenza, ma il quesito a cui non ho mai trovato una risposta e': dal momento che il C64 puo' visualizzare 8 sprites hardware contemporaneamente, come fa, un esempio eclatante, un gioco come Armalyte a trattare tutti gli sprites come singole entita'?
Mediante l'utilizzo di registri ombra? Questo quesito me lo porto dietro da parecchi anni, e non sono mai riuscito a trovare una risposta  :D
Se gli sprite hardware sono 8, e vengono gestiti mediante gli appropriati registri, come vengono trattati gli sprite "software"?

Saluti a tutti
Stefano Palmonari a.k.a. DustBin

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Sprites, In Linguaggio Macchina...
« Risposta #28 il: 11 Agosto 2004, 22:23:31 »
 Dan Phillips ha pubblicato il suo Multiplexor su lemon
http://www.lemon64.com//forum/viewtopic.php?t=5839
A me viene il mal di testa a leggerlo :D
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

DustBin

  • Utente
  • **
  • Post: 104
  • Gioco Preferito: WizBall
Sprites, In Linguaggio Macchina...
« Risposta #29 il: 11 Agosto 2004, 22:57:40 »
 Mi arrendo, non ci capiro' mai niente  :doh:  :confused:

A vederlo cosi' sembra la cosa piu' semplice del mondo... e invece...
Stefano Palmonari a.k.a. DustBin