Autore Topic: Tapclean + Galadriel Support  (Letto 7959 volte)

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Tapclean + Galadriel Support
« Risposta #15 il: 07 Agosto 2007, 17:46:51 »
 
Citazione da: "iAN CooG/HF"
Un altro tot di tap invece pur essendo fatte con la variante poke, stap non vede praticamente nemmeno le cbm headers, e tapclean invece non trova la sync $09...$01 e quindi non le considera valide.
La notte porta consiglio, ho analizzato il loader e trattasi di una variante del poke/rev. Ora Tapclean le gestisce, resta da capire perche' STAP non ne vede gli headers.
Gia' che ero intento ad analizzare varianti ho aggiunto anche una galadriel che decripta parte del codice caricato prima di eseguirlo. Per gestirlo ho sfruttato i membri della struttura blk_t inutilizzati perche' sia galadriel che galadriel/xor non controllano il checksum finale. Il loader galadriel ne risulta cosi' parecchio variato.
 
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Tapclean + Galadriel Support
« Risposta #16 il: 07 Agosto 2007, 18:14:04 »
 
Citazione da: "tce"
Mentre ci lavoro vedro' di inserire quelle patch che sembrano piu' importanti e chiare, ovviamente dandoti l'adeguato credito.
 
Potresti dare precedenza all'aumento dello spazio per il database, la memoria per l'info raddoppiata e la fix per il visiload.

Per quanto riguarda l'uso della dir corrente anziche' la dir dell'exe, e i comandi remove(), rename() etc anziche' l'uso di system() ribadisco che si tratta di miei gusti personali, puoi anche ometterli se dovessero causare problemi di portabilita' o di uso con il front end.
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

fab

  • Utente
  • **
  • Post: 493
    • http://wav-prg.sourceforge.net/
  • Gioco Preferito: Tetris, Turrican, Impossible Mission
Tapclean + Galadriel Support
« Risposta #17 il: 07 Agosto 2007, 23:28:33 »
Citazione da: "iAN CooG/HF"
Per quanto riguarda l'uso della dir corrente anziche' la dir dell'exe, e i comandi remove(), rename() etc anziche' l'uso di system() ribadisco che si tratta di miei gusti personali
Io sono d'accordo, l'uso di system() va evitato se si tratta di operazioni normali (cancellare un file...). iAN ha creato l'implementazione Windows e lasciato system() ecc. in Linux, per completare l'opera bisognerebbe creare un'implementazione Linux degli stessi comandi senza system().
Un giapponese sa recitare a memoria tutti i numeri di pi greco fino all'83431º decimale. Sa a memoria anche l'unico numero telefonico che è nella sua agendina - Daniele Luttazzi

tce

  • Neo-iscritto
  • *
  • Post: 16
Tapclean + Galadriel Support
« Risposta #18 il: 12 Agosto 2007, 20:44:27 »
 
Citazione da: "iAN CooG/HF"
Potresti dare precedenza all'aumento dello spazio per il database, la memoria per l'info raddoppiata e la fix per il visiload.

Per quanto riguarda l'uso della dir corrente anziche' la dir dell'exe, e i comandi remove(), rename() etc anziche' l'uso di system() ribadisco che si tratta di miei gusti personali, puoi anche ometterli se dovessero causare problemi di portabilita' o di uso con il front end.
iAN,

sono d'accordo. La rimozione dell'uso di system per cose tipo chdir, delete e rename era gia' in programma, ma il tempo e' poco e testare tutto su Win e Linux non e' piu' facile per me come lo era una volta. Per fortuna ho una vm con debian, dunque dovrei potermi mettere all'opera presto.

Grazie,

Luigi.

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Tapclean + Galadriel Support
« Risposta #19 il: 13 Agosto 2007, 01:34:42 »
 Grazie a te, fai con calma, io mi sono fermato qua.
Piuttosto, ho visto che in CVS (ho fatto il browse su sourceforge, non ho ne cvs ne svn installati) hai gia' messo il biturbo e quell'altro dal nome strambo, che da quanto ho capito trattasi della variante "poke/Golden", dico giusto?
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

tce

  • Neo-iscritto
  • *
  • Post: 16
Tapclean + Galadriel Support
« Risposta #20 il: 09 Settembre 2007, 22:20:05 »
 
Citazione da: "iAN CooG/HF"
Grazie a te, fai con calma, io mi sono fermato qua.
Piuttosto, ho visto che in CVS (ho fatto il browse su sourceforge, non ho ne cvs ne svn installati) hai gia' messo il biturbo e quell'altro dal nome strambo, che da quanto ho capito trattasi della variante "poke/Golden", dico giusto?
Non so se sia la variante poke/Golden o no, fatto sta che quel loader e' usato in buona misura nelle cassette RE&C, dunque per me fa coppia con Biturbo, non l'ho ritenuto una variante di quest'ultimo, anche per via del CRC32 del file dati (da cui prende il nome in TAPClean).

Ho solo di recente fatto il checkin della versione 64-bit safe di TC (a partire dalla release 0.22, l'unico compilatore di riferimento e' gcc e i suoi port), per cui ancora non ho potuto guardare con attenzione le tue patch.

Ho eliminato l'uso di tutte le system() e ti ho citato per il suggerimento nell'HISTORY del programma.

Abbiate ancora pazienza: il lavoro e' tanto e DC2N e l'ispezione dei dump da esso prodotti richiede tempo e attenzione.

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Tapclean + Galadriel Support
« Risposta #21 il: 10 Settembre 2007, 20:41:28 »
 Ottimo. Ti auguro buon lavoro
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Tapclean + Galadriel Support
« Risposta #22 il: 18 Settembre 2007, 22:05:19 »
 Ho fatto un paio di aggiunte:
  • i parametri -do ora ci sono tutti, non solo quelli per galadriel/easytape/turbotape. Sono indispensabili, assieme a -noall, per elaborare tapes in brevissimo tempo, quando si sa che e' inutile cercare tutti i 50 e passa loaders.
  • aggiunto un parametro -easykludge per alcuni TAP come Special Program/Special playgames/I magnifici 7, che sono fatti con Easytape1 ma con un solo blocco di tipo CBM e da 2 a 4 blocchi in Easytape1.

Questo parametro forza i parametri -noall -doeasytape, quindi non e' necessario specificarli a linea di comando. Se il tap esaminato contenesse anche Easytape2 o altri tipi di loaders, meglio spezzare con STAP ed elaborarli separatamente, per poi riunirli con JTAP/MJTAP.
  • la pulizia di alcuni tap si fermava troppo presto, lasciando gli ultimi 48/56 bytes sporchi, era uno stupido errore di calcolo.
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Tapclean + Galadriel Support
« Risposta #23 il: 28 Settembre 2007, 22:00:37 »
 Nuova versione, tra i vari fix minori, ho aggiunto lo scanner per Action Replay, 2 varianti (AR mk3 e AR mk4/successive) e con 2 sottovarianti ciascuna, Turbo e SuperTurbo, quest'ultima con impulsi variabili.

Nel file ho incluso anche l'history delle revisioni, che mi sono sempre scordato di includere.
 
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Tapclean + Galadriel Support
« Risposta #24 il: 19 Dicembre 2007, 22:50:46 »
 Ecco una nuova versione.
  • Aggiunti loaders di LOAD'N'RUN (cassette COM64 e Turbo C64) e cartuccia SMAGIC2 (Cassette Viking)
  • fixati un paio di bachi in Galadriel e variante XOR, ora il riconoscimento e' al 100%
  • aggiunti parametri in versione corta (anziche' -dogaladriel basta -doga, -boostclean diventa -bc, -prgunite diventa -u), dopo un po' diventano anche piu' semplici imho.
  • cambiamenti estetici al report, ai nomi dei files e directory generate.
Per ulteriori dettagli c'e' sempre l'history file all'interno.
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Tapclean + Galadriel Support
« Risposta #25 il: 24 Dicembre 2007, 04:00:57 »
 
  • Trovata una nuova particolare variante Galadriel nelle cassette Edizioni Trinacria. Nonostante abbia 4 headers anziche' 2 header e 2 data blocks e' stato facile aggirarla.
  • anticipato il controllo del loader Galadriel, messo prima di quello del TurboTape250 per consentire il riconoscimento della variante POKE in cassette che contenevano entrambi i loader, evitando che vadano in conflitto, perche' la variante poke e' molto simile al TT250.
  • applicato un cambiamento per consentire la compilazione sotto *nix (thx Eregil)
  • migliorati un pochino i dox, spero.
Da questa release ho incluso tutti i sorgenti, oltre che ai diff, per facilitare la ricompilazione senza dover scaricare la versione 0.20 da sourceforge.

 
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Tapclean + Galadriel Support
« Risposta #26 il: 10 Gennaio 2008, 20:28:21 »
 
  • ActionReplay completato, ripulisce al 100% e non lascia bytes non ottimizzati.
  • FreezeFrame non completo ma funzionante diciamo al 50%. Ancora inutilizzabile a livello pratico, ma lo sto sviscerando. Per lo meno l'identificazione e l'estrazione parziale dei prg funzionano.
  • Parametro -tp per considerare il threshold (valore "di mezzo" tra gli impulsi corti e lunghi) come impulso corto o lungo anziche' considerarlo un read error.

Specificando -tp s verra' considerato corto, -tp l invece lungo. Evita di dover patchare manualmente i tap con un hexeditor quando in un tap con Galadriel ci sono dei valori 0x20 o Easytape con 0x2F (e sono davvero frequenti). Basta provare prima con -tp s, controllare il report e i prg generati, se il CRC fosse ancora sbagliato, riprovare con -tp l.
  • parametro -removetrail (-r) per rimuovere un eventuale ultimo blocco marchiato come Unrecognized. Spesso si trovano in tap spezzati con vecchie versioni di STAP o dumps effettuati da cassette sovrascritte, con parte della vecchia registrazione, inutilizzata, dopo il programma vero e proprio. Anche questa e' un ulteriore aggiunta "alla bisogna", che evita di troncare il tap manualmente con un hexeditor.
  • restyling di un paio di sorgenti, galadriel.c & easytape.c rinominati levando la parte "turbotape_", piu' altre pulizie di codice qua e la'
  • aggiornati altri sorgenti prendendoli dal CVS della 0.21, pur adattandoli alla mia:

   scanners/c64tape.c?revision=1.11   - seq file support and M/L ambiguity
                                        (& re-added missing #include crc32.h)
   scanners/pavloda.c?revision=1.4    - Enhanced to acknowledge a block...etc
   scanners/_scanners.h?revision=1.13 - new pav_readbyte() proto
  main.c - moved make/save_prgs from analyze() to end of report()[/list]Dato che ci sto lavorando anche in questo momento l'ho denominata beta, ma vale la pena aggiornarla, se vi pare.

tapclean-0.20.g12beta3.rar
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Tapclean + Galadriel Support
« Risposta #27 il: 11 Gennaio 2008, 20:53:13 »
 
  • Trovata una ennesima variante Galadriel, veniva confusa con la precedente versione con 4 headers, ora sono differenziate e perfettamente "capite"
  • Cambiamento cosmetico: ora il nome dello scanner corrente durante la fase di controllo viene stampato sulla stessa riga evitando che vengano stampati uno di fianco all'altro che imho stava malissimo. Quando un loader di quelli aggiunti da me viene individuato, viene stampato andando a capo, consentendo di vedere a colpo d'occhio quali varianti vengono trovate.

Questa modifica mi ha costretto a toccare tutti i sorgenti in scanners\ ma ne e' valsa la pena.
  • aggiunti messaggi informativi riguardo ai read errors nei report, per i loader aggiuntivi, per individuare meglio quali bytes vanno patchati manualmente. Ho preso spunto dallo stesso messaggio che appare in accolade.c
Avendolo ritestato a fondo lo faccio uscire dalla fase di beta. Graditi feedback e bugreports, ovviamente  :paolone:
tapclean-0.20.g12.7z
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Tapclean + Galadriel Support
« Risposta #28 il: 15 Gennaio 2008, 21:31:48 »
 
  • Dopo una attenta analisi incrociata dei loaders ho notato che Load'n'Run/Com64/Next/7notebit usano tutti degli hack del TurboTape250, non e' necessario uno scanner apposito, ma basta usare il TT250 con parametri diversi.

Eliminato quindi loadnrun.c e cambiato turbotape.c per supportare le chiamate generiche. La maggior parte dei TAP summenzionati ora sono riconoscibili al 100%, salvo eventuali sporcizie.
Dovro' adattare anche Easytape per lavorare nello stesso modo, piu' generico e senza per forza esaminare il CBM block.
  • Sto continuando a studiare un metodo per far riconoscere e ripulire i detestabili tap modificati da Blackhawk/F2cg (dal sito XP64), seppur interessanti dal punto di vista del coding. Ho notato che gli headers e i CBM blocks non terminano correttamente, facendo letteralmente impazzire tapclean, dopo un patch manuale aggiungendo "V0" (e almeno 79 "0" dopo il 2o CBM block) finalmente si riesce a derivare che si tratta di un loader Poke/reversed, che carica un altro loader Galadriel (o a volte Easytape) a $C000 ma subito rilocato a $03xx come quelli normali, ogni volta diverso e customizzato, alcuni con effetti visivi durante il load, altri con schermo spento e alla fine appare la schermata aggiuntiva. E' quindi necessario trovare un ennesimo kludge per far ri-scannare questo loader una volta trovato.
tapclean-0.20.g13.7z
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
Tapclean + Galadriel Support
« Risposta #29 il: 17 Gennaio 2008, 20:50:09 »
 Annuncio solo che 4 dei 7 loaders di Blackhawk/f2cg^Xp64 che ho trovato finora sono caduti e vengono riconosciuti/estratti al 100% :metallica:
Diciamo che senza patch manuale dei terminatori dell'header un tap viene riconosciuto al 99% perche' anche usando -noc64eof (-e) oltre che -n -doga , gli headers non vengono del tutto identificati, ma almeno il loader principale si, e cosi' posso decodificare quello secondario e decidere se rieseguire lo scan da quel punto modificando i parametri.
tapclean-0.20.g14beta1.7z
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -