Autore Topic: Formato Snapshot Per Emulatori C64  (Letto 4470 volte)

koseidon72

  • Utente
  • **
  • Post: 177
Formato Snapshot Per Emulatori C64
« il: 26 Agosto 2007, 10:08:01 »
 Me lo chiedo da anni.
Gia dal lontano 1991, il primo emulatore spectrum, molto semplice e mal funzionante pero' consentiva di caricare e salvare degli snapshot.
Poi arrivo il c64s e con l'opzione freeze aggiunse questa feature.
Presto pero' questo formato freeze risultava incompatibile con i vari emulatori e lo stesso vale per il formato freeze del ccs64, incompatibile anche tra una release e l'altra dello stesso emulatore.

Ma e' davvero complicato realizzare uno standard di snapshot?
Si e' vero che esiste in fondo il t64, ma non e' proprio la stessa cosa e poi non tutti gli emulatori lo gestiscono sia in apertura che in registrazione, e poi e' comunque uno "snapshot" di un nastro.

eregil

  • Administrator
  • Utente
  • *****
  • Post: 706
  • Gioco Preferito: Impossible Mission
Formato Snapshot Per Emulatori C64
« Risposta #1 il: 26 Agosto 2007, 18:59:38 »
 Non è un thread sulla programmazione del C64 (e dire che l'abbiamo detto tante volte), sposto.

A parte l'evidente confusione tra snapshot dell'emulatore e immagine nastro, il tuo è il classico discorso da non-programmatore.

La ragione dell'incompatibilità dello snapshot tra emulatori diversi è semplicemente che ogni sviluppatore (o team di sviluppo) ha progettato il proprio formato di snapshot in maniera indipendente dagli altri e seguendo le proprie preferenze ed esigenze. Per quanto riguarda le incompatibilità tra versioni diverse di uno stesso emulatore, il discorso è complesso ma in linea di massima possiamo dire che, in effetti, problemi di questo genere potrebbero essere mitigati avendo un minimo di lungimiranza, prevedendo ad esempio di salvare nel file un "numero di versione" del formato (credo che il VICE salvi il proprio numero di versione) e altri espedienti del genere. La compatibilità all'indietro potrebbe quindi essere ottenuta (anche se non proprio "a costo zero" in termini di difficoltà di programmazione).

Si potrebbe pensare, in effetti, che conoscendo a fondo la macchina emulata (il C64) si potrebbe pervenire facilmente ad un formato "universale" e adottabile da tutti gli emulatori. La realtà dei fatti è che si riesce quasi sempre a trovare dettagli dove è possibile seguire due o più strade, e ciascuna strada ha i suoi pro e i suoi contro. La storia anche recente dell'informatica è piena di esempi di questo tipo: formati di file, protocolli di rete, ecc. In alcuni casi ad un certo punto sorge uno standard de facto, in altri la diatriba sui formati continua ad libitum...

Personalmente credo che una delle ragioni per cui non si sia pervenuti ad uno snapshot "standard" del C64 emulato sia che non se ne sente l'esigenza (almeno da parte di un numero significativo di persone). In linea di massima chi salva uno snapshot prevede di riprenderlo successivamente nello stesso emulatore, dato che gli utilizzi più diffusi credo siano la sospensione di una sessione di utilizzo e il debugging (di programmi emulati e dell'emulatore stesso).

L'eventualità di salvare uno snapshot ad es. di un demo in un emulatore "uno" e riprenderlo in un emulatore "due", a maggior ragione se ciò avviene proprio in un punto dove in uno dei due emulatori si manifestano errori di emulazione, darebbe luogo ad una moltiplicazione di problematiche, la quale dubito che gli sviluppatori abbiano interesse ad affrontare allo stato attuale delle cose.
 
Non rispondo a richieste private, di qualunque genere esse siano.
Per domande tecniche leggete le FAQ e usate l'apposito forum.
Per questioni amministrative contattate lo staff tramite il form Contatti sul sito.

Cbm

  • Utente
  • **
  • Post: 423
  • Gioco Preferito: Wonderboy
Formato Snapshot Per Emulatori C64
« Risposta #2 il: 26 Agosto 2007, 20:13:59 »
Citazione da: "koseidon72"
Me lo chiedo da anni.
L'anno scorso ho provato qualche emulatore per C16 e uno di loro, mi pare fosse Minus4 (o al massimo Yape) aveva la possibilità di salvare in maniera istantanea lo stato del gioco sotto forma di un file .prg autonomo.
Forse tecnicamente è quello che volevi?
C= - Dal 1985! Lunga vita e prosperità.

eregil

  • Administrator
  • Utente
  • *****
  • Post: 706
  • Gioco Preferito: Impossible Mission
Formato Snapshot Per Emulatori C64
« Risposta #3 il: 26 Agosto 2007, 20:36:21 »
 In questo caso non sarebbe sufficiente prendere una cartuccia con la funzione freeze, che sia supportata dall'emulatore di fiducia, e usare quella? :huh:

Sottolineo comunque che, considerando l'implementazione di una funzione che generi un .prg del tipo descritto, si esce dal problema dell'emulazione in senso stretto.
Non rispondo a richieste private, di qualunque genere esse siano.
Per domande tecniche leggete le FAQ e usate l'apposito forum.
Per questioni amministrative contattate lo staff tramite il form Contatti sul sito.

Roberto

  • Administrator
  • Utente
  • *****
  • Post: 2418
    • https://ready64.org
  • Gioco Preferito: Impossible Mission
Formato Snapshot Per Emulatori C64
« Risposta #4 il: 26 Agosto 2007, 20:50:04 »
Citazione da: "Cbm"
L'anno scorso ho provato qualche emulatore per C16 e uno di loro, mi pare fosse Minus4 (o al massimo Yape) aveva la possibilità di salvare in maniera istantanea lo stato del gioco sotto forma di un file .prg autonomo.
Forse tecnicamente è quello che volevi?
Non conosco l'emulatore che citi, ma ".prg" e' soltanto un'estensione nominale, il formato e la struttura del file generato puo' non avere nessuna relazione con l'estensione che il programmatore sceglie di assegnargli.

Nel vice per esempio e' stata scelta l'estensione .vsf, che anche questa e' direttamente eseguibile in emulazione. Avrebbero potuto chiamarla prg, jpg, mp3, avi (per assurdo) non avrebbe fatto differenza :)
Per collaborare, segnalare un errore (o qualsiasi altra comunicazione importante) utilizzare la pagina dei contatti:
https://ready64.org/informazioni/contatti.php

Cbm

  • Utente
  • **
  • Post: 423
  • Gioco Preferito: Wonderboy
Formato Snapshot Per Emulatori C64
« Risposta #5 il: 26 Agosto 2007, 20:58:13 »
 
Citazione da: "Roberto"
Non conosco l'emulatore che citi, ma ".prg" e' soltanto un'estensione nominale, il formato e la struttura del file generato puo' non avere nessuna relazione con l'estensione che il programmatore sceglie di assegnargli.
Molto probabile; avrei dovuto fare una prova incrociata caricando il file ottenuto con un altro emulatore.

P.S.: prova fatta adesso, salvato prg con yape e provato con minus4, non sa che farsene! E' un "freeze" qualunque.

Ah, per Koseidon: a proposito di incompatibilità, per esempio, il freeze creato da ccs1 non va con ccs2, quindi l'incompatibilità esiste anche entro la stessa famiglia di emulatori.
C= - Dal 1985! Lunga vita e prosperità.

Loky

  • Utente
  • **
  • Post: 130
Formato Snapshot Per Emulatori C64
« Risposta #6 il: 26 Agosto 2007, 23:42:50 »
 e non è strano.
Capita che il team che sviluppa una nuova versione può voler cambiare struttura del file...possono esserci un milione di motivi che inducono a farlo.

dovrebbero preoccuparsi di incorporare dei moduli per importare i vecchi file (un po come fanno  i nuovi word coi file generati con word95 =P ). Ovviamente questo è possibile solo se il vecchio file contiene tutte le informazioni che servono alla versione nuova per funzionare...o magari se non ci sono tutte, deve essere almeno in grado di generare in maniera opportuna quelle mancanti. Altrimenti c'è poco da fare...se non mantenere l'incompatibilita fra una versione e l'altra.


 

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Formato Snapshot Per Emulatori C64
« Risposta #7 il: 30 Agosto 2007, 02:55:58 »
Citazione da: "koseidon72"
Ma e' davvero complicato realizzare uno standard di snapshot?
 
Anche tra gli emulatori zx c'e' il problema compatibilita' tra diversi formati di snapshot, esistono almeno 6 tipi di snapshot diversi, ma esistono anche convertitori da un formato all'altro ( fonte: http://linux.die.net/man/3/libspectrum )
Tornando in topic, uno snapshot inteso come salvataggio dello stato dell'emulatore - diversamente dal freeze di una cartuccia tipo AR che contiene solo la ram e l'I/O del c64 - varia a seconda dell'hardware emulato e collegato in quel momento, compresa l'immagine del floppy inserito, della ram nelle espansioni di memoria tipo REU, della cartuccia/espansione inserita etc., quindi non essendo tutti gli emulatori identici e non emulando gli stessi HW e' quasi impossibile adattare uno snapshot fatto da Vice per poterlo fare andare in CCS e viceversa, ed e' gia' tanto che uno snapshot fatto in una versione N funzioni anche nella versione N+1 dello stesso emulatore, come e' vero che se si prova a caricare lo snap nella versione N-1 molto probabilmente non verrebbe accettato o causerebbe un crash.
Si potrebbe fare un convertitore estrapolando parte dei dati nello snap, solo considerando la ram del c64, del 1541 se presente, e poco altro, ma mi chiedo a che pro, visto l'uso di uno snapshot che e' SOLO quello di salvare una partita per poi riprenderla successivamente e non certo quello di fare un "backup" di un programma originale portandolo da nastro a disco, come potrebbe essere facendo un freeze con una cart tipo AR.
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

koseidon72

  • Utente
  • **
  • Post: 177
Formato Snapshot Per Emulatori C64
« Risposta #8 il: 30 Agosto 2007, 20:08:54 »
 Determinati programmi non partivano se si accorgevano che era collegata una cartuccia al c64.
Insisto nel dire che sarebbe utilissimo avere un formato per salvare lo stato della memoria.

Anche lo zx ha emulatori che non implementano le stesse caratteristiche eppure lo z80 e' compatibile con tutti gli emulatori.

Quindi se veramente lo si volesse si potrebbe farlo senza problemi.
Io purtroppo mi devo escludere non intendendomi di programmazione, ma ho solo gettato la palla...

 ;)  

eregil

  • Administrator
  • Utente
  • *****
  • Post: 706
  • Gioco Preferito: Impossible Mission
Formato Snapshot Per Emulatori C64
« Risposta #9 il: 30 Agosto 2007, 23:25:30 »
 
Citazione da: "koseidon72"
Insisto nel dire che sarebbe utilissimo avere un formato per salvare lo stato della memoria.
Be', secondo me abbiamo illustrato abbastanza bene perché ogni emulatore utilizzi un proprio formato per lo snapshot, e non vedo di che cosa si possa sentire la mancanza, utilizzando uno qualsiasi degli emulatori "mainstream" di oggi.

A questo punto, sospettando il malinteso totale, ti inviterei a scriverci un esempio pratico di quello che vorresti fare.
Non rispondo a richieste private, di qualunque genere esse siano.
Per domande tecniche leggete le FAQ e usate l'apposito forum.
Per questioni amministrative contattate lo staff tramite il form Contatti sul sito.

koseidon72

  • Utente
  • **
  • Post: 177
Formato Snapshot Per Emulatori C64
« Risposta #10 il: 31 Agosto 2007, 01:30:00 »
 semplice.. salvare una partita di un gioco nel punto in cui sono arrivato senza fare uso di cartucce varie che spesso sono escluse dal gioco stesso.
Il formato freeze in un formato compatibile nei vari emulatori e non ditemi che non e' possibile perche' come ripeto e' stato fatto per lo spectrum che come ripeto ancora ha vari emulatori con tantissimi attributi emulati e non in modi diversi tra loro (eppure li la compatibilita' esiste nel formato z80)

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Formato Snapshot Per Emulatori C64
« Risposta #11 il: 31 Agosto 2007, 01:49:41 »
 
Citazione
semplice.. salvare una partita di un gioco nel punto in cui sono arrivato senza fare uso di cartucce varie che spesso sono escluse dal gioco stesso.
Qualche titolo in cui non ti va? Non sono tantissimi che si bloccano se presente una cart, ne so qualcosa.
Citazione
Il formato freeze in un formato compatibile nei vari emulatori
Questo implica dover far parlare tra loro i vari programmatori dei vari emulatori, non basta inventare un nuovo formato.
Citazione
e non ditemi che non e' possibile perche' come ripeto e' stato fatto per lo spectrum
Qua potrei aggiungere un bel chissenefrega :P Quella e' un'altra realta'.
Come ti ho gia' detto esistono diversi tipi di snapshot per zx e esistono dei CONVERTITORI, perche' non tutti gli emulatori supportano tutti i tipi.
Citazione
eppure li la compatibilita' esiste nel formato z80
Frase senza alcun senso. Si sono messi d'accordo PRIMA di fare l'emulatore probabilmente. E comunque devi ancora dimostrare il perche' sarebbe utile uno snapshot per passare da un emulatore all'altro. Per me non ha senso.
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

eregil

  • Administrator
  • Utente
  • *****
  • Post: 706
  • Gioco Preferito: Impossible Mission
Formato Snapshot Per Emulatori C64
« Risposta #12 il: 31 Agosto 2007, 01:52:53 »
 @koseidon72

Continuo a non capire: quello che dici tu (salvare una partita in un punto del gioco senza fare uso di cartucce) lo puoi fare senza alcun problema, a patto di ricaricare poi la partita nello stesso emulatore.

Finché a salvare e a riprendere una partita sei tu, per conto tuo, non vedo ragioni per cui tu debba cambiare emulatore nel bel mezzo del gioco.

Se si tratta di "condividere un salvataggio con qualcuno" basta che vi mettiate d'accordo sull'emulatore utilizzato (pubblicità progresso: utilizzate il VICE in quanto multi-piattaforma).

A meno che tu non riesca a chiudere a chiave in una stanza Per Håkan Sundell, David Horrocks e il VICE team finché non si mettono d'accordo su un formato... io ritengo semplicemente che non ci sia abbastanza richiesta o interesse per una funzionalità del genere perché, sponte loro, decidano di muoversi in questo senso.
 
Non rispondo a richieste private, di qualunque genere esse siano.
Per domande tecniche leggete le FAQ e usate l'apposito forum.
Per questioni amministrative contattate lo staff tramite il form Contatti sul sito.

koseidon72

  • Utente
  • **
  • Post: 177
Formato Snapshot Per Emulatori C64
« Risposta #13 il: 01 Settembre 2007, 03:13:40 »
 Ma perche' girate intorno al problema?
Quello che chiedevo..
E' inconcepibile la difficolta' che si cerca di addurre come scusa per non creare uno standard di snapshot per c64.
E' utile anche perche' se e' stato fatto per spectrum e TUTTI gli emulatori lo usano (z80) e sono compatibili (e non si sono "parlati" tra di loro perche' qualcuno e' uscito addirittura 15 anni fa oramai..) allora un utilita' ci sara'.

Io voglio salvarmi la partita e giocarla fra 5 anni su un nuovo emulatore piu' perfezionato e perche' mai devo ricaricarne uno obsoleto solo perche' e' compatibile con il mio snapshot?

Lo trovo ridicolo...

Credo che il problema di tutto e' il disinteresse per la cosa e quindi in 15 anni di emulatori non e' mai stato implementato un formato standard di snapshot per c64.

Cmq chiudo qui perche' non ho altro da scrivere e spero che ora avete capito cio' che sto tentando di dire da qualche giorno.

 :doh:  :lol:  

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Formato Snapshot Per Emulatori C64
« Risposta #14 il: 01 Settembre 2007, 15:26:57 »
 
Citazione da: "koseidon72"
E' inconcepibile la difficolta' che si cerca di addurre come scusa per non creare uno standard di snapshot per c64.
 
Tutto e' facile per chi non deve farlo eh?
Se non esiste, significa che nessuno e' interessato a quella tua necessita'.
Se la cosa per te e' cosi' interessante non resta che rimboccarti le maniche e farlo da te, anche solo sulla carta, ben documentato, e poi proporlo ai vari team di sviluppo, specialmente il viceteam e' abbastanza propenso all'accettare le patch se gia' fatte.
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -