===================================================== -------------------------------------- **> Pss <** V1.21 Premessa Binary Ansi Viewer (BAV) un semplicissimo programma che permette di esaminare qualsiasi programma e scoprirne le schermate registrate all'interno. L'idea nata inizialmente dalla necessit di verificare il contenuto delle schermate salvate da Clipper con la funzione SaveScreen(). Notato che si trattava di un semplice riversamento della zona di memoria utilizzata dalla VGA in modalit testo (B800:0000), esattamente come si comporta TheDraw salvando le schermate ANSI in formato binario e imitato da molti Demomakers, la "cosa" si trasformata in un Ripper (=estrattore) di schermate, riutilizzabili a piacere nei vostri programmi. BiNaRy AnSi ViEwEr Binary Ansi Viewer pu essere lanciato senza parametro per ottenere un elenco sommario dei tasti, oppure premendo [F1] una volta eseguito. L'unico parametro richiesto il nome del file da esaminare, o meglio ancora una wildcard per gruppi di file (es. *.BIN oppure ?_TWT.* ), se necessario specificandone il path (es. D:\MYBIN\*.BIN) I tasti di movimento sono abbastanza standard: Cursori Su-gi : una riga alla volta Cursori DX-SX : 2 Byte lateralmente (1 carattere + 1 attributo video) Control+DX-SX : Spostamento Fine (1 byte) Pag su-Pag.gi : Una pagina alla volta Home-End : Inizio e Fine file Questi altri tasti hanno funzioni pi particolari: [Invio] : Chiede un nome di file e salva la schermata attuale in un file separato. Rispondere con un Invio per abortire. Il formato Binario (Dump della memoria a B800:0000) [Ctrl+Invio] : Chiede un nome di file e salva la schermata attuale in un file separato. Rispondere con un Invio per abortire. Il formato Ascii (Senza quindi il colore) [ALT+Invio] : Chiede un nome di file e salva la schermata attuale in un file separato. Rispondere con un Invio per abortire. Il formato ANSI. Il livello di ottimizzazione del file risultante pi che buono, comunque non ai livelli di TheDraw... [Space] : Passa da 25 a 50 righe e viceversa [F2] : Switch per Attributo Lampeggio/sfondo intenso [F3] : Visualizza il nome del file corrente (nel caso ve lo foste dimenticato...) [F4] : File-selector. Disponibile solo se date una wildcard come parametro, fornisce l'elenco dei file che corrispondono. *.* fornir tutti i files della directory. [+] e [-] : Permettono di passare velocemente tra un file e l'altro. [F5] : Chiede un parametro Numerico decimale (es.: 1024) o esadecimale (es.: 0xA00) e consente di spostarsi all'interno dei files ad offset fissi. [F6] : Switch per visualizzare l'offset attuale nell'angolo superiore sinistro [F7] : Seleziona la visualizzazione dell'offset in decimale o esadecimale [Esc] o [ALT-X] Per uscire a DOS. BAV Gestisce automaticamente la dimensione video, sia a 25 che 50 righe. L'unica limitazione proprio questa: qualsiasi risoluzione testo al di fuori delle consuete 80x25 e 80x50 sono supportate solo parzialmente! Verr cio utilizzata una finestra di queste dimensioni, evitando di aggiornare la parte rimanente. Es.: in risoluzione 80x43 verr utilizzata una finestra 80x25, in risoluzione 132x60 la finestra sara' 80x50. Se il File esaminato ha dimensioni inferiori ai bytes contenuti nello schermo verr creato un file temporaneo che permette di effettuare tutti gli spostamenti ed un esame pi accurato del contenuto. Frequently Asked Questions Q) Con che linguaggio e' stato scritto BAV? A) BAV e' scritto Principalmente in CA-CLIPPER con alcune routine ASM e Linkato con BLINKER 3.2 Q) Come posso gestire in Clipper i files .BIN ? A) Consultare il file CLIPPER.DOC per ulteriori chiarimenti riguardo all'uso dei files .BIN in Clipper. Q) Posseggo un `LAMERISSIMO' 386SX 16Mhz. Ho lanciato BAV e mi ha risposto: "486 not detected! Go out and buy one!" . Si tratta forse di codice ottimizzato per 486 ,Praticamente l'unico sulla faccia della terra, o semplicemente di RAZZISMO ? A) Le mie conoscenze non mi permettono di scrivere codice Only 486, quindi... E poi io non sono razzista, sei tu ad avere un 386! NB : NESSUNA libreria esterna e' stata utilizzata. Tutte le funzioni sono comunque sviluppate dai membri TWT! Revision History Ŀ FUTURE Se non ricevero' abbastanza consensi non penso di continuare lo sviluppo di Binary Ansi Viewer, anche perche' mi sembra abbastanza completo, e progetti di maggior importanza mi occupano pressoche' a tempo pieno (in questi giorni sto ultimando MultiRipper 1.20) . Per cui questa versione (1.21) da considerarsi l'ultima... (a meno che TU non lo voglia!) Ŀ BAV 1.21 (10 Agosto 1995) Bugfix release: Riutilizzando BAV dopo mesi mi sono accorto di alcune... ... leggere imperfezioni: + Migliorata gestione files multipli (Wildcard) eliminando il tasto ESC per passare al prossimo file (poco pratico) ed aggiungendo i tasti + e - + Diversi cambiamenti nel file selector: fixato 'lampeggio' della barra nel file-selector durante lo scorrimento e mentre veniva premuto un tasto non consentito. Ora il puntatore al file rimane nella posizione giusta, cio sul file corrente e NON PIU' sul primo file, anche se ci si muove all'interno ma NON si seleziona un altro file (Esc) Naturalmente il puntatore viene aggiornato anche dai tasti + e - . Provate a muovervi con + e - e poi fate [F4] : il puntatore sul file corrente. Pu sembrare banale ma non stato facile da realizzare... Abbellito con effetto 3D (no, non servono occhialini... 8-) + Problema riscontrato sotto 4DOS e Norton Commander 5.0: se l'attributo di lampeggio era disabilitato richiedeva un doppio [F2] o uno [Spazio] per essere riabilitato... problemi interni del linguaggio (Clipper) Ora lo forzo sempre in entrata ed in uscita... non ho potuto far di meglio! + Non effetuavo nessun controllo di apertura/creazione file (ero sicuro di me stesso...). Ora ogni operazione sui files controllata e, per evitare guai, preferisco che al primo problema esca subito a DOS. + Non poteva essere specificato un file con path, ma non lo segnalava, visualizzando uno schermo nero. Ora possibile indicare un path (\XY\*.*), un drive (E:*.*) o entrambi (E:\XY\*.*) nel parametro. I files temporanei e quelli estratti saranno comunque creati nel path corrente. + Gli input box accettano un numero massimo di caratteri. Una volta raggiunto questo numero terminavano l'input accettando ci che era stato immesso. Ora necessario confermare con Invio o invalidare con Esc . - velocizzato l'effetto ScreenFade, che ora dovrebbe essere temporizzato per 486 SX (l'avevo fino a due mesi fa) 486 DX e Pentium. - Eliminato doppio beep in caso di creazione di file temporaneo, dava solo fastidio... - Nonostante fosse rilasciato il 16 Gennaio 1995 nel banner c'era '1994' (eh, QUESTO si' che e' grave...). + ottimizzazioni varie... passato da 99Kb a 87Kb, non male! - Forniti altri BIN di esempio. - E' proprio vero: ogni volta che si riguardano i propri programmi verrebbe voglia di riscriverli da zero... "Forse eravamo giovani....Forse eravamo stupidi..." Vasco Rossi Ŀ BAV 1.20 + Aggiunta la possibilit di esaminare gruppi di files dando come nome di file una wildcard (Suggerita da SoftWizard e subito colta al volo) + ...e conseguente pick list ,diciamo necessaria! + Messaggi a video molto pi rifiniti con ButtonBoxes + ...e anche l'input molto piu accettabile! - Help in comando di linea con pausa per modo video a 25 righe (Ma c' ancora chi lo usa?) - ScreenFade Finale (Lo so, non serve a niente ma bello!) era temporizzato per il 486SX 25Mhz , su un DX / DX2 era praticamente immediato... Fixato grazie al detect della CPU (Sorgente originale (C) Pepijn Smits) - Fixato Bug che in certi casi faceva uscire a DOS... Spero! - Forniti altri BIN di esempio. Ŀ BAV 1.10 + Salvataggio schermata in ANSI con ALT-Invio Per convertire grossi BIN in ANS ho rilasciato anche BIN2ANS, dedicato esclusivamente a questo scopo. - aggiunto [F2] : Switch Attributo lampeggio/sfondo intenso - abbellito e velocizzato fade finale Ŀ BAV 1.0 Primo Rilascio pubblico. Le versioni precedenti erano solo delle "Work-in-progress" interne. Apportate le seguenti significative migliorie: + Fixato bug per I files di dimensione minore dei bytes contenuti nello schermo con creazione di file temporaneo... ora si pu fare il fine-shift anche su questi. - L'Offset mostrato era l'ultimo della schermata, non il primo... (Whupss!!!) Fixato. + Switch 50/25 righe interno [Space] (pi complesso del previsto!) + Salvataggio schermata in ASCII [CTRL-RETURN] + Movimento veloce ad offset (in decimale o esadecimale) [F5] + Eliminati parametri in riga comando /h e /d e sustituiti da [F6] e [F7] + Help dei tasti interno [F1] + Supporto (anche se parziale) delle risoluzioni testo non standard come 132x66, 94x60 et cetera. - Ottimizzazione e Centralizzazione di codice ridondante (cos T0 contento) Ŀ BAV 0.6 - solo per bellezza... fade e logo finali [ ScreenFade (C)1994 ] Ŀ BAV 0.5 + BugFix (penso) Definitivo... + per un SEGNO Martin perse la capa... un bug da rabbrividire! - Aggiunto END (ops!) - Linkato con Blinker 3.0 (1kb in meno!) Ŀ BAV 0.4 - aggiunto scroll 1 riga alla volta.... + Invio Per Dumpare la Schermata + Maggior bugfix (pi di un'ora di Debug...) + Usate funzioni alternative per snellire il programma + passato da 196Kb (Getsys modificata, @...GET , memoread-writ) a 148kb (Accept, fRead,Fwrite...) (Compilato con Clipper 5.01 per ulteriore snellezza!) Ŀ BAV 0.3 + aggiunta visualizzazione offset (dec + hex) Ŀ BAV 0.2 + aggiunti Shift, fine shift e top - migliorato l'output Ŀ BAV 0.1 + dopo le varie e ora funziona! (up & down) Greetings I Miei ringraziamenti personali vanno a: T0 the SoftWizard + Crystal, gli altri 2 membri del TT, per i numerosi consigli per il miglioramento di Binary Ansi Viewer Future Crew, per essere i migliori Demomakers al mondo e... ...per l'idea sul formato di questi dox! >8-)) P.S.: SVEGLIA! L'inattivita' non vi render famosi! 2nd Reality NON pi il miglior demo, CREATE ancora... o siete definitivamente usciti dalla scena? Oggi, 10 agosto, inizia Assembly 95, chiss se parteciperete? iCE , CoRP , /CiD ! E' grazie a loro che ho scoperto che anche con la semplicit relativa della grafica ANSi che io AMO a sproposito si possono realizzare delle vere opere d'arte! Author Ŀ Per ogni problema riguardante Binary Ansi Viewer contattatemi Indirizzo: Peruch Emiliano Via Alle Scuole 6 28055 Ghiffa (VB) ITALY Telefono: 0323/59706 (20:00-22:00) Sono raggiungibile sulle seguenti BBS: Isa South Europe (TWT HQ) : 0323/925428 Side Effects (Soft One HQ) : 075/6979417 Nippon Dreams : 02/48017350