Autore Topic: Patch X Vice 1.18  (Letto 2948 volte)

Alberto

  • Utente
  • **
  • Post: 589
  • Gioco Preferito: Grand Prix Circuit
Patch X Vice 1.18
« il: 11 Dicembre 2005, 17:00:56 »
 Questa patch dovrebbe fixare un problema con l'autostart che ho riscontrato negli ultimi due programmi di '16A SIDE A.TAP',dell'ormai celeberrima ( :overkiller: ) serie AlgaSoft.

Saluti

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Patch X Vice 1.18
« Risposta #1 il: 11 Dicembre 2005, 20:27:58 »
 Hum, un diff da 80kb per un sorgente di 38... ecco cosa succede a fare un diff tra un testo msdos e uno linux :D
Comunque, non e' che questa
tap->current_file_seek_position = fpos + 100;
sia un po' troppo mirata alle headers accorciate della algasoft?
Gli altri tap italiani funzionano ancora, almeno quei pochi che ho li ho provati (le 5 algasoft, hitparade, settimana games, special program ma solo un paio di ognuna) e anche vari originali testati non mi danno problemi apparenti.
Puoi dare una spiegazione a quel puntatore? Fa solo finta di essere piu' avanti ma perche' quel 100? Grazie in anticipo.
Intanto preparo una 1.18.05 da testare.
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

Alberto

  • Utente
  • **
  • Post: 589
  • Gioco Preferito: Grand Prix Circuit
Patch X Vice 1.18
« Risposta #2 il: 13 Dicembre 2005, 18:11:37 »
 
Citazione
Hum, un diff da 80kb per un sorgente di 38... ecco cosa succede a fare un diff tra un testo msdos e uno linux

La patch è di 80kb perchè racchiude sia il sorgente originale che quello modificato,in modo da rendere il processo reversibile.

Citazione
Puoi dare una spiegazione a quel puntatore? Fa solo finta di essere piu' avanti ma perche' quel 100? Grazie in anticipo.

Il puntatore all'entry del .TAP è effettivamente più avanti di 100 bytes (non farti ingannare dall'output del debug,che mantiene ancora il valore di fpos).
Il penultimo programma del .TAP citato si bloccava al FOUND,senza più permettere di proseguire;questo perchè veniva misteriosamente eseguita una routine del kernel che disattivava gli interrupt (quindi niente più test del TOD clock nè di $91,che come sai,sono necessari per far riprendere il caricamento del nastro).

Ora,visto che il caricamento manuale non dà problemi,l'unica spiegazione plausibile che sono riuscito a darmi per questo comportamento è che il kernel raccolga qualche impulso "anomalo" durante la lettura della serie pilota,poco dopo la posizione del file-pointer;questo può causare l'esecuzione di una qualche routine che deposita sulla pila l'indirizzo della routine che disattiva gli interrupt.

Stessa cosa dicasi per l'ultimo programma,che dopo il FOUND torna all'interprete BASIC invece che lanciare il loader.

Spostando leggermente il file-pointer usato nell'autostart (un centinaio di bytes) il problema effettivamente sparisce.

Citazione
Comunque, non e' che questa
tap->current_file_seek_position = fpos + 100;
sia un po' troppo mirata alle headers accorciate della algasoft?

Lo so,la scelta del "100" è una soluzione empirica e sa tanto di "pezza alla benemeglio" ma sta ad indicare uno spostamento minimo sul nastro (pochi millesimi di secondo su un nastro reale) :D,d'altronde questo non è un bug di VICE in sè e sembra avvalorare la tesi che queste cassette non siano state registrate usando le routine standard.  

Al limite,se ti suona troppo "pezzata" e non hai soluzioni migliori ci si può anche tenere il problema. :D

Ciao

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Patch X Vice 1.18
« Risposta #3 il: 13 Dicembre 2005, 22:07:20 »
 
Citazione
La patch è di 80kb perchè racchiude sia il sorgente originale che quello modificato,in modo da rendere il processo reversibile.
Beh, e' un diff fatto tra il file originale e l'ultima modifica, non tra una modifica intermedia e l'ultima; si fa prima a riprendere il sorgente originale se si vuole tornare indietro. Ho rifatto il diff per contenerlo in 1000 bytes. Altrimenti perdono di significato.
Citazione
Lo so,la scelta del "100" è una soluzione empirica e sa tanto di "pezza alla benemeglio" ma sta ad indicare uno spostamento minimo sul nastro (pochi millesimi di secondo su un nastro reale) :D
Ah bene, allora non dovrebbe essere un problema.
Citazione
d'altronde questo non è un bug di VICE in sè e sembra avvalorare la tesi che queste cassette non siano state registrate usando le routine standard.   
Infatti, ennesima riprova di quanto il loro turbo-saver doveva proprio essere una roba raffazzonata alla meno peggio. Chissa' da dove l'avevano rabbato :)
Citazione
Al limite,se ti suona troppo "pezzata" e non hai soluzioni migliori ci si può anche tenere il problema. :D
Non ci penso nemmeno :D
Fino a prova contraria terremo questa pezza. Ho provato molte cassette nel frattempo e non ho trovato altri problemi, tra l'altro di tutte le algasoft era solo il penultimo a darmi il problema da te riscontrato, l'ultimo lo caricava comunque, e non si e' verificato con nessun altro prg anche in altri tap.

Pronta la 1.18.05
http://iancoog.altervista.org/Winvice.htm
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

Alberto

  • Utente
  • **
  • Post: 589
  • Gioco Preferito: Grand Prix Circuit
Patch X Vice 1.18
« Risposta #4 il: 14 Dicembre 2005, 18:27:17 »
 
Citazione
Chissa' da dove l'avevano rabbato

La seconda copia dell'header è stata registrata senza la sincro-sequence x09...x01;
se la prima copia fosse danneggiata,VICE non riuscirebbe nemmeno a leggerla :o

Citazione
Ho rifatto il diff per contenerlo in 1000 bytes. Altrimenti perdono di significato.

Hai fatto bene

Citazione
di tutte le algasoft era solo il penultimo a darmi il problema da te riscontrato, l'ultimo lo caricava comunque

Sob...questa si che è bella!  :P :huh:

Comunque la cosa è davvero insolita:appena ho un pò di tempo voglio far luce sulla faccenda,anche a costo di esaminare il caricamento passo-passo.

Ciao e grazie

Massi cadenti

  • Utente
  • **
  • Post: 237
    • http://massicadenti.altervista.org
  • Gioco Preferito: The Last Ninja
Patch X Vice 1.18
« Risposta #5 il: 15 Dicembre 2005, 04:21:44 »
 
Citazione da: "iAN CooG/HF"
Infatti, ennesima riprova di quanto il loro turbo-saver doveva proprio essere una roba raffazzonata alla meno peggio. Chissa' da dove l'avevano rabbato :)
Sveliamo qualche altro mistero.
E' già un po' di tempo (diversi anni) che io e altri fan commodoriani di Napoli stiamo cercando di scoprire chi c'era dietro le AlgaSoft e le FSN (*), ma quando arriviamo a Gargiulo (che ribadisco è una certezza) ci blocchiamo, perché finché non riusciamo a rintracciare lui possiamo avere solo delle voci non verificabili.
Con un amico stiamo facendo indagini anche per cercare di rintracciare il famoso Gargiulo che, a quanto stiamo venendo a scoprire da fonti non ufficiali e come io stesso ho iniziato a sospettare da un po', aveva solo dato il nome a queste cassette, che in realtà venivano preparate da altri (che però avevano a che fare con Gargiulo e le preparavano nella sua cartoleria, questa -che venivano preparate lì- è notizia certa e verificata).
Non sappiamo chi fossero questi altri, ma io ho qualche idea, purtroppo non verificabile almeno per il momento.
Inutile aggiungere che se riesco a contattare qualcuno ci scapperà un'intervista e una delle domande-chiave sarà una roba tipo "Ma dove l'avete pescato il loader?". I dubbi mi vengono perché:
- tempo fa (metà anni 90) mi prestarono qualche cassetta preparata una decina di anni prima da un noto negozio di computer, non molto lontano dalla cartoleria di Gargiulo. In molti caricamenti di questa cassetta compariva una "bandiera italiana" del tutto simile a quella delle Alga Soft, solo con la scritta cambiata. Sembrava in tutto e per tutto una lamerata, ma conoscendo i personaggi che l'hanno fatta non escludo che possa essere in realtà una modifica di "sorgenti" pre-esistenti, magari scritti proprio da loro (specialmente da uno di loro, se ho capito chi è, ma finché non ho notizie più certe non dirò il nome). Non ho quelle cassette e non posso farne il dump, all'epoca mi limitai a travasarle su disco (ovviamente i caricamenti in questione sono andati perduti perché andavo ad usare una cartuccia, visto che "normalmente" non vengono riconosciuti da nessun tape2disk)
- la prima sentenza in assoluto in Italia riguardante una condanna per violazione di copyright in ambito informatico riguarda proprio il titolare del negozio di cui sopra (fonte sicura al 100%), ma non ho la più pallida idea di quanto la cosa possa essere legata all'"Alga Soft", essendo per ovvie ragioni la sentenza parecchio successiva (i tempi giuridici sono biblici e per di più io ho visto solo quella d'appello e non so la data di quella di primo grado)

(*) Sulle FSN il "mistero" sembra risolto. Ma ne parlerò un'altra volta.

Citazione da: "Alberto"
La seconda copia dell'header è stata registrata senza la sincro-sequence x09...x01; se la prima copia fosse danneggiata,VICE non riuscirebbe nemmeno a leggerla :o
E nemmeno il C64 vero :P

Citazione da: "Alberto"
Comunque la cosa è davvero insolita:appena ho un pò di tempo voglio far luce sulla faccenda,anche a costo di esaminare il caricamento passo-passo.
Sulla singola cassetta (e nella fattispecie sulla 16) non posso escludere che possa esserci un problema:
- di dump (difficile, molto difficile, quasi impossibile)
- di nastro rovinato/danneggiato dal tempo/usura/guasti meccanici/smagnetizzazione/altro, specie se i problemi si limitano a un solo programma.
Questo perché la 16 non è una cassetta "mia" ma mi è stata gentilmente donata da Archmage/GameMaster (ex webmaster di XP64), proviene dalla sua collezione privata. Io ho provveduto solamente a fare il dump, a verificare in linea di massima che i giochi andavano (non li ho sempre testati tutti) e ad inviargli il tutto (è stato lui a inviarle a Edicola64 ovviamente coi dovuti crediti al sottoscritto).

Comunque cosa ne dite se preparo un rar su eMule con dentro tutte le AlgaSoft che ho dumpato? Oppure mi date un indirizzo gmail e ve lo mando lì? Saremo nell'ordine di qualche centinaio di mega, non ho i dump sottomano ma saranno al più 500 non compressi (compressi parecchio meno).
Anche perché voi avete più tempo di me mi sa per fare i dovuti test, e visto che è di questo che si sta parlando...
Intanto ovviamente ringrazio tutti, a nome dei tanti fan dell'AlgaSoft (vi assicuro che non sono pochi anche se non so quanti leggeranno questo forum)
Lo so, per tanti è difficile da capire anche se ormai sono 12 anni che lo uso, ma <b>il mio nick ha la "c" <u>minuscola</u></b>...
"Prima volta" nel settembre 1982 (Vic20 di mio cugino)
Utente C16 dal 25 dicembre 1984. Utente C128 dal 24 dicembre 1987
C16(4), C128, Vic20, 1541, 1541-II, 1530(3), 1531(2), X1541, MPS802, CaptainMikyII, Moviola x C64, esp.16KB x C16, ca.1300 cassette, ca.900 floppy, ca.10 joystick, paddles, accessori vari
<a href="http://massicadenti.altervista.org/algasoft.html">La mia pagina sulle Alga Soft, sulle cassette napoletane e su come Napoli ha vissuto a modo tutto suo gli anni d'oro della pirateria</a>
<a href="http://ready64.it/forum/?showtopic=2252#">Massi cadenti non è né un esperto (anche se si millanta tale) né un frequentatore di questo forum</a>
Importante: <a href="http://ready64.massicadenti.com">Ready64 è un sito che <B><U>non</U> è di Massi cadenti</B> ma di Rob Nicoletti</a>

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Patch X Vice 1.18
« Risposta #6 il: 20 Dicembre 2005, 21:58:29 »
 Dopo numerose, animate e spesso colorite mail con Spiro,Andreas e Marco del viceteam, ecco il responso delle patches raccolte nella nostra unofficial release:
Citazione
The following patches were included in 1.18.4
(and, thus, will be in 1.19):

- filter constructions in uimediafile.c, uisnapshot.c, uiconsole.c
- petcat output to stdout instead of stderr
- the typo in the comment in zfile.c
- diskcontents-block.c, the recursive directory track "workaround".

The following patch will most probably be in 1.19 (slightly modified):
- TAP handling of short headers

The following patch will NOT be in 1.19, but might be in 1.20:
- VIC-II timing

The latter will not be in 1.19 as this patch needs some testing
beforehand, and comparisons with demos on the real thing.

The "GCR kludge" will not be included, as I told before.

The "60K fix" was already in 1.18.1. In fact, Marco gave you the patch
he included himself in 1.18.1.

INCREDIBBBBILEEE!!!111
dopo avergli mostrato alcuni demo che mostrano evidenti difetti di emulazione, hanno aperto gli occhi. C'e' speranza.


"Usa la forza, Luke. Con le buone maniere non si ottiene mai niente."
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

Massi cadenti

  • Utente
  • **
  • Post: 237
    • http://massicadenti.altervista.org
  • Gioco Preferito: The Last Ninja
Patch X Vice 1.18
« Risposta #7 il: 20 Dicembre 2005, 22:07:52 »
Citazione da: "iAN CooG/HF"
INCREDIBBBBILEEE!!!111
dopo avergli mostrato alcuni demo che mostrano evidenti difetti di emulazione, hanno aperto gli occhi. C'e' speranza.
E fin qui tutto bene, ma non ho capito se la patch per le linee in più sia stata inserita o no.
Lo so, per tanti è difficile da capire anche se ormai sono 12 anni che lo uso, ma <b>il mio nick ha la "c" <u>minuscola</u></b>...
"Prima volta" nel settembre 1982 (Vic20 di mio cugino)
Utente C16 dal 25 dicembre 1984. Utente C128 dal 24 dicembre 1987
C16(4), C128, Vic20, 1541, 1541-II, 1530(3), 1531(2), X1541, MPS802, CaptainMikyII, Moviola x C64, esp.16KB x C16, ca.1300 cassette, ca.900 floppy, ca.10 joystick, paddles, accessori vari
<a href="http://massicadenti.altervista.org/algasoft.html">La mia pagina sulle Alga Soft, sulle cassette napoletane e su come Napoli ha vissuto a modo tutto suo gli anni d'oro della pirateria</a>
<a href="http://ready64.it/forum/?showtopic=2252#">Massi cadenti non è né un esperto (anche se si millanta tale) né un frequentatore di questo forum</a>
Importante: <a href="http://ready64.massicadenti.com">Ready64 è un sito che <B><U>non</U> è di Massi cadenti</B> ma di Rob Nicoletti</a>

koseidon72

  • Utente
  • **
  • Post: 177
Patch X Vice 1.18
« Risposta #8 il: 21 Dicembre 2005, 00:41:14 »
 Per la patch delle linee ci sto combattendo anche io da 2 mesi ma non ne vogliono sentire di ragioni anche portando loro esempi concreti di video ripresi con vic originale all'opera.

Si vedeva chiaramente quanto spazio veniva "mangiato" nella loro versione, ma loro si difendevano dicendo che era la tv che mostrava piu' linee del dovuto!!!! Ma vi rendete conto?

Altre volte mi dicevano che era la mia risoluzione a non mostrare tutto lo schermo... sul monitor....

Eh si comodo... Cmq il problema rimane su qualche riga verticale che non e' mostrata (la patch risolve soltanto il problema del bordo inferiore) e le risoluzioni NTSC da vomitare!!!!!!
Ho anche chiesto loro se avrebbero potuto implementare la finestra che puo' essere scalata a piacimento con il puntatore del mouse e mi hanno risposto che questo avrebbe causato la riscritura da zero della routine video e quindi nisba...

Non ho parole.... e' gente veramente poco disposta ad ascoltare..
 

Massi cadenti

  • Utente
  • **
  • Post: 237
    • http://massicadenti.altervista.org
  • Gioco Preferito: The Last Ninja
Patch X Vice 1.18
« Risposta #9 il: 21 Dicembre 2005, 02:45:51 »
Citazione da: "koseidon72"
Si vedeva chiaramente quanto spazio veniva "mangiato" nella loro versione, ma loro si difendevano dicendo che era la tv che mostrava piu' linee del dovuto!!!! Ma vi rendete conto?
Certa gente dovrebbe imparare il concetto di overscan e soprattutto il fatto che l'area denominata overscan esiste proprio perché la sua dimensione cambia da televisore a televisore...
Lo so, per tanti è difficile da capire anche se ormai sono 12 anni che lo uso, ma <b>il mio nick ha la "c" <u>minuscola</u></b>...
"Prima volta" nel settembre 1982 (Vic20 di mio cugino)
Utente C16 dal 25 dicembre 1984. Utente C128 dal 24 dicembre 1987
C16(4), C128, Vic20, 1541, 1541-II, 1530(3), 1531(2), X1541, MPS802, CaptainMikyII, Moviola x C64, esp.16KB x C16, ca.1300 cassette, ca.900 floppy, ca.10 joystick, paddles, accessori vari
<a href="http://massicadenti.altervista.org/algasoft.html">La mia pagina sulle Alga Soft, sulle cassette napoletane e su come Napoli ha vissuto a modo tutto suo gli anni d'oro della pirateria</a>
<a href="http://ready64.it/forum/?showtopic=2252#">Massi cadenti non è né un esperto (anche se si millanta tale) né un frequentatore di questo forum</a>
Importante: <a href="http://ready64.massicadenti.com">Ready64 è un sito che <B><U>non</U> è di Massi cadenti</B> ma di Rob Nicoletti</a>

Alberto

  • Utente
  • **
  • Post: 589
  • Gioco Preferito: Grand Prix Circuit
Patch X Vice 1.18
« Risposta #10 il: 30 Dicembre 2005, 11:45:40 »
 
Citazione
Si vedeva chiaramente quanto spazio veniva "mangiato" nella loro versione, ma loro si difendevano dicendo che era la tv che mostrava piu' linee del dovuto!!!! Ma vi rendete conto?

Altre volte mi dicevano che era la mia risoluzione a non mostrare tutto lo schermo... sul monitor....

Per quel che ho avuto modo di leggere nella documentazione presente in rete,un C64 PAL mostra all'utente 284 rasterlines,se non erro tutte quelle comprese tra la 16 e la 299.

Alberto

  • Utente
  • **
  • Post: 589
  • Gioco Preferito: Grand Prix Circuit
Patch X Vice 1.18
« Risposta #11 il: 30 Dicembre 2005, 11:46:41 »
 Come promesso,alla fine ho controllato il contenuto della pila durante
il caricamento dell'header-chunk di "Lazer Force"

Codice: [Seleziona]
.C:01dc   EA         NOP
.C:01dd   FF 02 11   ISB $1102,X
.C:01e0   21 4A<-    AND ($4A,X)
.C:01e2   FA<-       NOOP
.C:01e3   FF 02 25   ISB $2502,X
.C:01e6   25 2A      AND $2A

Codice: [Seleziona]
FA4A    LDA #$00    
FA4C    STA $B4    
FA4E    LDA #$01  
FA50    STA $DC0D   <-- interrupt out

Questa routine viene eseguita al ritorno da un'interruzione,dopo che il
C64 ha controllato il contenuto del buffer e ha ripristinato
l'interrupt canonico,mentre normalmente verrebbe eseguita prima.

Si tratta certamente di un problema di tempistica nell'I/O che può essere
dovuto a più fattori concorrenti (impensabile analizzarli tutti):
un buffer più corto del normale,una particolare sequenza di impulsi,ecc...

Piccolo trucco:se VICE dovesse inchiodarsi al FOUND,entrare in File->Monitor
e digitare

Codice: [Seleziona]
a 91 noop

Ciauz

Alberto

  • Utente
  • **
  • Post: 589
  • Gioco Preferito: Grand Prix Circuit
Patch X Vice 1.18
« Risposta #12 il: 30 Dicembre 2005, 13:04:20 »
 Ok,questo è un estratto del VICII-doc di Christian Bauer che dovrebbe
chiarire ogni dubbio

Codice: [Seleziona]
The dimensions of the video display for the different VIC types are as
follows:

          | Video  | # of  | Visible | Cycles/ |  Visible
   Type   | system | lines |  lines  |  line   | pixels/line
 ---------+--------+-------+---------+---------+------------
 6567R56A | NTSC-M |  262  |   234   |   64    |    411
  6567R8  | NTSC-M |  263  |   235   |   65    |    418
   6569   |  PAL-B |  312  |   284   |   63    |    403

          | First  |  Last  |              |   First    |   Last
          | vblank | vblank | First X coo. |  visible   |  visible
   Type   |  line  |  line  |  of a line   |   X coo.   |   X coo.
 ---------+--------+--------+--------------+------------+-----------
 6567R56A |   13   |   40   |  412 ($19c)  | 488 ($1e8) | 388 ($184)
  6567R8  |   13   |   40   |  412 ($19c)  | 489 ($1e9) | 396 ($18c)
   6569   |  300   |   15   |  404 ($194)  | 480 ($1e0) | 380 ($17c)

If you are wondering why the first visible X coordinates seem to come after
the last visible ones: This is because for the reference point to mark the
beginning of a raster line, the occurrence of the raster IRQ has been
chosen, which doesn't coincide with X coordinate 0 but with the coordinate
given as "First X coo. of a line". The X coordinates run up to $1ff (only
$1f7 on the 6569) within a line, then comes X coordinate 0. This is
explained in more detail in the explanation of the structure of a raster
line.