Autore Topic: Poke n.10 ha bisogno di una revisione  (Letto 6299 volte)

koseidon72

  • Visitatore
Poke n.10 ha bisogno di una revisione
« il: 15 Dicembre 2008, 19:49:05 »
Nel dettaglio:

I titoli dei giochi presenti sul sito sono in realta' le passwd e non i giochi veri e propri:

Qui di seguito riporto il nome dei giochi seguiti dalla passwd.
(La passwd non è necessaria per far funzionare il gioco se si decide di caricare il singolo programma
Valgono invece se si parte dal menù di ricerca automatica)

farwest = pistola
kung-fu = colpo
volpe del deserto = aereo
american football = meta
l'errante = schermo
invasion = luna
masters = laser


Il gioco Kung-Fu (diversamente da come è segnalato sul sito) non è funzionante.

arkanoid3000

  • V.I.P. di Edicolac64
  • Utente di edicolac64.com
  • ***
  • Post: 1130
  • Lo Spaccamuri Dotato di Racchetta e Pallina
Re: Poke n.10 ha bisogno di una revisione
« Risposta #1 il: 15 Dicembre 2008, 20:34:47 »
Il gioco Kung-Fu (diversamente da come è segnalato sul sito) non è funzionante.

Hai provato a ripulirlo con Tapclean?

koseidon72

  • Visitatore
Re: Poke n.10 ha bisogno di una revisione
« Risposta #2 il: 15 Dicembre 2008, 21:39:10 »
Si, ma senza nessun risultato

Uranio

  • Visitatore
Re: Poke n.10 ha bisogno di una revisione
« Risposta #3 il: 16 Dicembre 2008, 01:23:11 »
Ho mandato il tap a iAN CooG e me l'ha fixato, lo condivido:
http://www.megaupload.com/it/?d=L5MVSVME

koseidon72

  • Visitatore
Re: Poke n.10 ha bisogno di una revisione
« Risposta #4 il: 16 Dicembre 2008, 10:02:54 »
Grande!
Ma come ha fatto?
Sarebbe interessante saperne di più sull'utilizzo e le opzioni di tapclean.
Ho provato con l'optimize di base e non andava.

Uranio

  • Visitatore
Re: Poke n.10 ha bisogno di una revisione
« Risposta #5 il: 16 Dicembre 2008, 20:19:26 »
Gliel'avevo chiesto già. Sto aspettando ancora una risposta.

Uranio

  • Visitatore
Re: Poke n.10 ha bisogno di una revisione
« Risposta #6 il: 16 Dicembre 2008, 20:53:56 »
Ecco, l'ho incontrato in chat su #ready64 e mi ha mandato una lunga spiegazione in mail. Copio integralmente il testo, non so cosa siano quelle scritte dopo il P.S. ma non è che abbia capito molto anche della spiegazione :superlol:
Codice: [Seleziona]
Il prg e' estraibile e perfettamente funzionante usando l'opzione -doprg.
Tutta la cassetta utilizza il Galadriel variante Poke/golden.
C'era solo un problema nel loader che sbagliava la SYS di inizio.
A fine caricamento infatti eseguiva una jmp $02AA, dove non c'e' niente, mentre
il programma caricava correttamente e ha una SYS2064 ($0810 in hex).
Basta dare
g 0810
dal vice monitor per sincerarsene, o alla peggio, resettare e dare sys2064,
anche se non mi fiderei: dopo il reset sicuramente qualche byte sara' perso.

Non ho idea se il nastro originale funzionasse o meno. Se fosse stato ok, allora
durante la conversione in tap qualcosa dev'essere andato storto e i 2 byte
nel loader che indicano la sys iniziale si sono trasformati da 08 10 in 02 AA,
ovvero in binario:

00001000 00010000 <- dovevano essere cosi'
00000010 10101010 <- ma su tap risultano cosi'

Per puro caso evidentemente gli unici byte errati di tutto il nastro sono
capitati proprio li'. Poteva andare peggio e capitare in mezzo al programma
stesso, rendendo quasi impossibile il recupero.
Con l'hexeditor ho ripristinato i 2 byte, di fatto riscrivendo i 16 byte
errati nel tap mettendo byte $1b al posto dei bit a 0 e $27 per i bit a 1.

PRIMA
offset     valori hex                                       binari:1b=0 27=1
0000C916:  1B 1B 1B 1B-1B 1B 27 1B-1B 1B 1B 1B-1B 1B 27 1B  0000001000000010  < pilot (tanti 2)
0000C926:  1B 1B 1B 1B-1B 1B 27 1B-1B 1B 1B 1B-1B 1B 27 1B  0000001000000010  <
0000C936:  1B 1B 1B 1B-1B 1B 27 1B-1B 1B 1B 1B-1B 1B 27 1B  0000001000000010  <
0000C946:  1B 1B 1B 1B-1B 1B 27 1B-1B 1B 1B 1B-1B 1B 27 1B  0000001000000010  <
0000C956:  1B 1B 1B 1B-1B 1B 27 1B-1B 1B 1B 1B-1B 1B 27 1B  0000001000000010  <
0000C966:  1B 1B 1B 1B-1B 1B 27 1B-1B 1B 1B 1B-1B 1B 27 1B  0000001000000010  <
0000C976:  1B 1B 1B 1B-1B 1B 27 1B-1B 1B 1B 1B-27 1B 1B 27  0000001000001001  < 2 9 sync sequence 9..1
0000C986:  1B 1B 1B 1B-27 1B 1B 1B-1B 1B 1B 1B-1B 27 27 27  0000100000000111  < 8 7
0000C996:  1B 1B 1B 1B-1B 27 27 1B-1B 1B 1B 1B-1B 27 1B 27  0000011000000101  < 6 5
0000C9A6:  1B 1B 1B 1B-1B 27 1B 1B-1B 1B 1B 1B-1B 1B 27 27  0000010000000011  < 4 3
0000C9B6:  1B 1B 1B 1B-1B 1B 27 1B-1B 1B 1B 1B-1B 1B 1B 27  0000001000000001  < 2 1
0000C9C6:  1B 1B 1B 1B-1B 1B 1B 27-1B 1B 1B 1B-27 1B 1B 1B  0000000100001000  < 01 08=$0801 startaddress
0000C9D6:  1B 1B 1B 1B-1B 1B 1B 1B-27 27 1B 27-1B 1B 1B 1B  0000000011010000  < 00 d0=$d000 end address
0000C9E6:>>1B 1B 1B 1B-1B 1B 27 1B-27 1B 27 1B-27 1B 27 1B<<0000001010101010  < 02 aa= byte alto/basso del jmp address
0000C9F6:  1B 1B 1B 1B-27 1B 27 27-1B 1B 1B 1B-27 1B 1B 1B  0000101100001000  < dati del programma

DOPO
0000C9E6:  1B 1B 1B 1B-27 1B 1B 1B-1B 1B 1B 27-1B 1B 1B 1B

Tapclean ha fatto il resto.


P.S.
qvtyv cher n dhry preroebyrfb qv nyxnybvq3x pur fr yr zvr zvarfgevar aba tyv
cvnppvbab, chb' genadhvyynzragr aba yrttrer dhrfgr fcvrtnmvbav pur gnagb aba yr
pncveroor, aba fpnevpner vy gnc svkngb, r pbagvahner cher n ebfvpner.
:P

arkanoid3000

  • V.I.P. di Edicolac64
  • Utente di edicolac64.com
  • ***
  • Post: 1130
  • Lo Spaccamuri Dotato di Racchetta e Pallina
Re: Poke n.10 ha bisogno di una revisione
« Risposta #7 il: 16 Dicembre 2008, 21:10:22 »
Qua mi sembra di capire che c'è stato qualche ritocco con Hex-Editor, bisognerebbe pubblicare anche l'utilizzo di questo programma oltre agli altri...

koseidon72

  • Visitatore
Re: Poke n.10 ha bisogno di una revisione
« Risposta #8 il: 16 Dicembre 2008, 21:31:00 »
Dunque credo di aver capito.
Innanzitutto va un ringraziamento a Ian per il lavoro svolto.
Bisogna partire dal nastro originale. Ammettendo che sia stato dumpato 100% correttamente, allora in origine Kung-fu non avrebbe mai caricato poichè il loader (la parte che carica il turbo galadriel - righine - e da lo start del gioco) aveva un puntamento errato e conteneva un istruzione Jump al posto della call all'area di memoria con l'indirizzo di partenza del gioco (sys 2064 in basic - $0810 in hex)
Questo spiegherebbe il motivo che dopo aver caricato il blocco di Kung-fu, il c64 proseguiva a caricare il gioco successivo che poi regolarmente partiva.

Se il nastro non fosse, altresi, stato dumpato bene, sarebbe "venuta scritta" nel loader un istruzione errata.
Ian avrebbe estratto con tapclean in programma kung-fu in formato PRG in modo che fosse isolato dal resto del nastro, lo ha caricato e una volta giunta la schermata blu dopo le righe ha dato un occhiata al programma in memoria con il monitor esadecimale. Quindi ha modificato in esadecimale l'istruzione errata del loader (mi sfugge come abbia trovato la sys di start del gioco) e ha inserito al posto dell'istruzione "jump ..", l'istruzione "g 0810"

Non conosco l'assembler e quindi i dettagli delle altre modifiche che ti ha riportato non so spiegarli.

Ps: le ultime righe non vogliono dire niente.. sarà la parte ironica del suo messaggio.
 
« Ultima modifica: 16 Dicembre 2008, 21:38:17 da koseidon72 »

strongboy

  • Visitatore
Re: Poke n.10 ha bisogno di una revisione
« Risposta #9 il: 16 Dicembre 2008, 22:40:24 »
Esatto complimenti a ian, ( non voglio far partire flame inutili, ma peccato che che abbia quel caratterino, ma d'altronde anche la mia persona, non è che può essere simpatica a tutti )
Citazione
(mi sfugge come abbia trovato la sys di start del gioco)
La sys 2064 è abbastanza ricorrente per lo start dei programmi, ma penso/credo che si possa leggere dal monitor di vice.

Citazione
Ps: le ultime righe non vogliono dire niente.. sarà la parte ironica del suo messaggio.
E' un messaggio cifrato, tipo quelli che appaiono nelle ultime pagine di hacker journal : i cyberenigma, peccato che senza la chiave non si può leggere
« Ultima modifica: 16 Dicembre 2008, 22:41:36 da strongboy »

arkanoid3000

  • V.I.P. di Edicolac64
  • Utente di edicolac64.com
  • ***
  • Post: 1130
  • Lo Spaccamuri Dotato di Racchetta e Pallina
Re: Poke n.10 ha bisogno di una revisione
« Risposta #10 il: 16 Dicembre 2008, 22:56:42 »
Esatto complimenti a ian, ( non voglio far partire flame inutili, ma peccato che che abbia quel caratterino, ma d'altronde anche la mia persona, non è che può essere simpatica a tutti )

Eh lo so ma per come ci ha rivolto la parola l'anno scorso dovremmo stare attenti, anch'io avrei voluto chiedergli aiuto per un .wav che non riesco a convertire ma ho preferito rinunciarci sapendo come la pensa per le cassette da edicola...

koseidon72

  • Visitatore
Re: Poke n.10 ha bisogno di una revisione
« Risposta #11 il: 16 Dicembre 2008, 23:02:37 »
Avete ragione te e Strong. Anche io ho constatato sulla mia pelle, però in fondo vi ha aiutato..
Basta non esagerare con le richieste d'aiuto e penso che un punto d'incontro si trova.

arkanoid3000

  • V.I.P. di Edicolac64
  • Utente di edicolac64.com
  • ***
  • Post: 1130
  • Lo Spaccamuri Dotato di Racchetta e Pallina
Re: Poke n.10 ha bisogno di una revisione
« Risposta #12 il: 16 Dicembre 2008, 23:07:57 »
Avete ragione te e Strong. Anche io ho constatato sulla mia pelle, però in fondo vi ha aiutato..
Basta non esagerare con le richieste d'aiuto e penso che un punto d'incontro si trova.

Sono d'accordo con te pero se vedi la mail che mandò a Strongboy l'anno scorso, e se potessi vedere la mail che inviò a me, oppure come ha contrastato Il Notturno sul suo blog per Galax Gun...

strongboy

  • Visitatore
Re: Poke n.10 ha bisogno di una revisione
« Risposta #13 il: 16 Dicembre 2008, 23:15:15 »
STOP ! ! ! no flame . . . é colpa mia . . .

Discutiamo del topic thanks . . .  :amici2:

fab

  • Visitatore
Re: Poke n.10 ha bisogno di una revisione
« Risposta #14 il: 17 Dicembre 2008, 09:45:36 »
Codice: [Seleziona]
A fine caricamento infatti eseguiva una jmp $02AA, dove non c'e' niente, mentre
il programma caricava correttamente e ha una SYS2064 ($0810 in hex).
Alcuni POKE usavano questo trucco, cosi' funzionavano se veniva caricata la presentazione all'inizio della cassetta e poi il gioco, e non funzionavano se veniva caricato il gioco direttamente. Tecnicamente, la presentazione iniziale riempiva le locazioni $2AA e seguenti. Almeno POKE 9 era cosi'