@database 082a7b10-0
@$VER: 1.0
@author "Alessandro Pedretti"
@(c) ""
@index Main

@node "Main" "xFX - Guide"


 #              #
 #             ##
 ###        #####
 # ###    #######              Release 1.0
      ########  #              © 1997, Alessandro Pedretti
     #######
 # #########                   Documentazione italiana
 ######     ### #
 ###          ###           
 #              #           
 #                         #
 #                         #
 ###########################   @{" 1.  Che cos'è xFX.                        " link "Cos'è" 0}
 ###########################
 #              #          #   @{" 2.  Requisiti.                            " link "Requisiti" 0}
 #              #          #
                #          #   @{" 3.  Installazione.                        " link "Installazione" 0}
                #          #
               ###         #   @{" 4.  Utilizzo di xFX.                      " link "Utilizzo" 0}
              #####        #
                           #   @{" 5.  Note.                                 " link "Note" 0}
                          ##
                       #####   @{" 6.  Bugs.                                 " link "Bugs" 0}
                            
 #                         #   @{" 7.  Futuro.                               " link "Futuro" 0}
 #                         #
 #                       ###   @{" 8.  Strumenti utilizzati per lo sviluppo. " link "Strumenti" 0}
 ####                 ######
     ###          ##########   @{" 9.  Ringraziamenti.                       " link "Ringraziamenti" 0}
        ###     ########   #   
          ###########          @{" 10. Copyright.                            " link "Copyright" 0}
          ########
       ############
 #  #########     ###          
 ########             ##   #   
 ######                 ####   @{" 11. Storia di xFX                         " link "Storia" 0}
 ###                       #
 #                         #
@endnode

@node "Cos'è" "1. Che cos'è xFX"


 xFX è un programma che offre caratteristiche simili al "glorioso"  DMS (del
quale  non  vuole  sostituirne  l'utilizzo), con in più una serie di piccoli
accorgimenti  per  soddisfare   delle   particolari   necessità che   sono
sopraggiunte  all'Autore  in seguito all'utilizzo di svariati emulatori (es.
ShapeShifter, AmiMSX, fMSX, Speculator, ecc). Più in dettaglio,  xFX  nasce
come  strumento  per  creare  delle  immagini (compresse  e  non) di dischi
(qualsiasi tipo, non solo floppy) per poterle scambiare via modem, via posta
elettronica o per archiviarli semplicemente. Il problema si pone soprattutto
con i dischetti Macintosh ad alta densità. xFX è in grado di sfruttare tutti i
device  drivers  che  supportino comandi compatibili col trackdisk.device (es.
mfm.device, scsi.device, fmsdisk.device, ramdrive.device, ecc) non solo per
creare e scrivere immagini di dischi (file-disk), ma anche per ottenere delle
semplici copie di sicurezza. Tale opportunità  si  rende  fondamentale
soprattutto   per la  copia  dei  dischetti  in  formato  Mac  HD,  poichè
ShapeShifter impiega molto tempo per questa  operazione  (probabilmente  per
colpa  del MacOS). Tutti i file-disks creati da xFX (anche quelli compressi)
non sono in un formato  proprietario  e  pertanto  possono  essere  trattati
direttamente  da altri programmi senza alcuna limitazione. Anche la semplice
scompattazione può essere eseguita con qualsiasi  utility  che  supporti  le
librerie XPK.
@endnode

@node "Requisiti" "2. Requisiti di sistema"


- CPU 68000 o superiore.

- Kickstart 2.0 (V37) o superiore.

- Librerie XPK (opzionali).

- rexxsyslib.library (opzionale).

- reqtools.library (opzionale).

- Qualsiasi dispositivo che possa essere considerato un device-disk come:
  floppy driver (3.5" DD, 3.5" HD, 5.25"), hard disk, ZIP, JAZ, floptical,
  CD-ROM, driver LS-120, ecc

- Opportuni device drivers.

Tutte le  risorse  vengono  allocate  da  xFX  solo  all'occorrenza.  Questo
significa  che se non si usa la compressione delle immagini, le librerie XPK
non vengono  utilizzate  (e  nemmeno  aperte).  In  caso  di  assenza  della
rexxsyslib.library,  la  porta  ARexx  non sarà disponibile quando xFX viene
lanciato da Workbench.
@endnode

@node "Installazione" "3. Installazione"


 Per l'installazione, si può procedere manualmente copiando i singoli files,
oppure si può utilizzare l'apposito script d'installazione.
@endnode

@node "Utilizzo" "4. Utilizzo di xFX"


Attualmente xFX può essere utilizzato  da  shell,  da  Workbench  (via  tool
types, o via drag & drop) e infine tramite porta ARexx.


                    @{" 4.1 Utilizzo da Shell.            " link "Shell" 0}

                    @{" 4.2 Utilizzo da Workbench.        " link "Workbench" 0}

                    @{" 4.3 Utilizzo tramite porta ARexx. " link "ARexx" 0}

                    @{" 4.4 Consigli per l'utilizzo.      " link "Consigli" 0}

                    @{" 4.5 Messaggi d'errore.            " link "Errori" 0}
@endnode

@node "Shell" "4.1 Utilizzo da Shell"


Rappresenta la modalità più pratica  (per  ora)  per  accedere  a  tutte  le
funzionalità  messe  a  disposizione  da xFX. Tutti i comandi impartibili da
shell, sono invocabili anche tramite la porta ARexx.

Sintassi:

xFX COMMAND/A,DEVICE/A,TO/K,FILE,DISKBUF/K,PACK/K,PASSWD/K,
    START/K/N,END/K/N,MOUNTLIST/K,ADDICON/S,VERIFY/S,NOEJECT/S,QUIET/S

E' possibile invocare anche  l'extended-help  per  avere  un  riassunto  dei
comandi. L'output risulta essere il seguente:


 xFX V1.0  - © 1997, Alessandro Pedretti

 COMMAND   = COPY, READ, WRITE, CHECK, INFO
 DEVICE    = Device name (AmigaDOS or DEVICE.device:UNIT)
 TO        = 2nd device for copy
 FILE      = Input/output file for READ/WRITE commands
 DISKBUF   = Disk buffer path for COPY
 PACK      = Xpk compression for WRITE (SUBLIB.METHOD)
 PASSWD    = Password for Xpk en/decoding
 START     = Start cylinder (default 0)
 END       = End cylinder (default last)
 MOUNTLIST = Create a mountlist with fmsdisk.device (READ)
 ADDICON   = Add icon to disk image (READ)
 VERIFY    = Verify cylinders during write operations
 NOEJECT   = Inhibit auto disk eject
 QUIET     = Suppress messages



* COMMAND: seleziona la modalità di funzionamento di xFX.
 Questa può essere:
 CHECK = Controlla cilindro per cilindro che il disco non abbia errori.
 READ  = Legge il disco e salva i cilindri in un file (che va specificato).
 WRITE = Scrive il contenuto di un file-disk sul disco.
 COPY  = Copia un disco.
 INFO  =  Visualizza la geometria del disco


* DEVICE: nome del device  su  cui  eseguire  il  comando  selezionato.
 E' possibile specificare sia il nome del device AmigaDOS sia  il  nome  del
device  driver.  In  quest'ultimo  caso  bisogna specificare anche il numero
dell'unità semplicemente facendo seguire al nome  del  device  un  segno  di
doppia  interpunzione  (":")  e  il  numero  dell'unità.  E' anche possibile
omettere l'estensione ".device".  Si  può  quindi  utilizzare  col  medesimo
risultato: DF0:, trackdisk.device:0, trackdisk:0


* TO: nome del device secondario.
 Questa opzione viene utilizzata nel caso si voglia eseguire la copia di  un
disco  con  due  dispositivi.  Negli  altri  casi  l'opzione è semplicemente
ignorata. Tutte le considerazioni fatte per l'opzione DEVICE  valgono  anche
in questo caso.


* FILE: nome del file che si vuole leggere o scrivere.
 E' quindi utilizzabile solo coi comandi READ e WRITE.


* DISKBUF: path per il buffer temporaneo.
 Utilizzabile solo nella copia con un dispositivo, serve per specificare  il
path  dove  verrà  posto  il file temporaneo utilizzato come buffer al posto
della memoria. L'uso di questo  comando  è  consigliato  quando  non  si  ha
abbastanza  memoria  per immagazzinare temporaneamente l'intera immagine del
disco.


* PACK: nome dell'algoritmo di compressione e/o crittazione XPK.
 E' utilizzabile solo in fase di  lettura  dell'immagine  (comando  READ)  e
sfrutta la seguente sintassi:

SOTTOLIBRERIA.METODO

Per SOTTOLIBRERIA si intende il nome di 4 caratteri che identifica  ciascuna
sublibrary  (es.  NUKE,  MASH,  FAST,  GZIP, ecc). La specifica del metodo è
opzionale e corrisponde all'efficienza che s'intende utilizzare.  Si  tratta
di un numero compreso tra 0 e 100 (default 100). Esempi:

 xFX READ 0 Ram:prova PACK MASH    -> algoritmo MASH 100% di efficienza
 xFX READ 0 Ram:prova PACK FAST.50 -> algoritmo FAST 50% di efficienza


* PASSWD: password per la libreria XPK.
 serve per indicare (e se utilizzare) una  password  alla  libreria  Xpk  di
crittazione/decrittazione  durante  la lettura (READ) o la scrittura (WRITE)
di  un'immagine.   Ovviamente  la   crittazione   deve   essere   supportata
dall'algoritmo selezionato in fase di lettura.


* START: numero cilindro di partenza.
 E' sfruttato dalle operazioni di lettura/scrittura (comandi READ e  WRITE).
Di default, xFX parte dal cilindro 0.


* END: numero cilindro di fine.
 Valgono le stesse considerazioni fatte per START. Di default  xFX  utilizza
l'ultimo  cilindro consentito dal dispositivo (nel caso di un floppy da 3.5" è
di solito il cilindro 79).


* MOUNTLIST: nome della Mountlist.
 Terminata l'operazione di scrittura del file-disk  (READ),  viene  generata
una  mountlist con i parametri di geometria del device sorgente, ma al posto
di  quest'ultimo  viene  inserito  l'fmsdisk.device.  La   mountlist,   così
generata,  può  servire  per  creare  col file-immagine (a patto che non sia
compresso) un file-disk virtuale. Non è possibile usare questa opzione se  è
stato  specificato  il  nome  del  device  driver  e  non il nome del device
AmigaDOS, poichè uno stesso device driver può  gestire  più  partizioni  con
file system diverso.


* ADDICON:
 E' uno switch che aggiunge automaticamente un'icona al file-disk che  viene
generato dal comando READ. I tool types sono compilati automaticamente.


* QUIET:
 E' uno switch che impedisce la  visualizzazione  dei  messaggi  durante  le
varie operazioni. I messaggi d'errore non risentono di questo switch.


* VERIFY:
 Attiva la verifica durante le fasi di scrittura sul disco (comandi WRITE  e
COPY).


* NOEJECT:
 Inibisce l'espulsione automatica del disco durante la  copia.  L'espulsione
automatica funziona solo coi devices che supportino il comando TD_EJECT.


 @{" 3.1.1 Esempi " link "Esempi_Shell" 0}
@endnode

@node "Esempi_Shell" "4.1.1 Esempi Shell"


 @{fg shine}> xFX info scsi.device:0@{fg text}
 visualizza la geometria dell'HD.

 @{fg shine}> xFX check mfm:1@{fg text}
 controlla  che  il  disco  nel  drive  1  non  abbia   errori utilizzando
 l'mfm.device  (dovrà  essere  dunque  un  disco Ms-Dos o MSX o Mac o  più
 in generale con un formato Ms-Dos like)

 @{fg shine}> xFX read DF0: Ram:Prova@{fg text}
 crea il file-disk "Prova" in ram disk contenente l'immagine  del dischetto
 Amiga  (trackdisk.device)  presente  nel  drive  0  senza  applicare alcun
 algoritmo di compressione o crittazione.

 @{fg shine}> xFX read DF0: Ram:Prova MOUNTLIST Ram:FF0@{fg text}
 come sopra, ma in più crea la mountlist per il file-disk.

 @{fg shine}> xFX read PS2: Ram:Prova PACK MASH START 20 ADDICON@{fg text}
 crea il file-disk "Prova" in ram disk, partendo dal cilindro 20 fino al
 79, applicando la  compressione MASH con il  100%  d'efficienza,  asso-
 ciando anche un'icona.

 @{fg shine}> xFX write mfm.device:1 Ram:Prova START 10 END 20 VERIFY@{fg text}
 scrive (con verifica) l'immagine contenuta nel file "Prova" a  partire dal
 cilindro 10  fino  al  20. E' da notare che se il file avesse una lunghez-
 za incompatibile col numero di cilindri (nel nostro caso 11), viene segna-
 lato un'errore.  La decompressione  viene eseguita automaticamente  se  il
 file lo richiedesse.

 @{fg shine}> xFX copy mfm.device:2@{fg text}
 esegue la copia del disco nel drive 0 con un solo  scambio  utilizzando la
 ram.

 @{fg shine}> xFX copy DF0: TO trackdisk.device:1 VERIFY@{fg text}
 copia (cilindro per cilindro) dall'unità 0 alla 1 eseguendo  la  verifica.
 In questo caso il quantitativo di ram utilizzata è esiguo.

 @{fg shine}> xFX copy DEVICE scsi.device:3 DISKBUF DH0:@{fg text}
 esegue la copia con un  solo  scambio  del  dispositivo  (ammesso  che sia
 removibile  come uno Zip, per esempio) 3 pilotato dallo scsi.device crean-
 do un buffer temporaneo su DH0:
@endnode

@node "Workbench" "4.2 Utilizzo da Workbench"


 Attualmente non  è  ancora  disponibile  una  vera  e  propria  interfaccia
grafica, anche se è possibile l'utilizzo di xFX da Workbench, ovviamente con
qualche limitazione. E' da sottolineare l'impossibilità di  questa  modalità
di  funzionare  nel  caso  in  cui  fosse  assente  la  reqtools.library. In
particolare, sono disponibili due modalità di funzionamento: (1) una tramite
tool types e una tramite (2) drag & drop su AppIcon.


@{fg shine}3.2.1 Tool Types.@{fg text}
 Questa  possibilità  d'impiego  permette  di  ripristinare  sui  dischi  le
immagini precedentemente generate da xFX, in maniera assai semplice. Basterà
un doppio click sull'icona (che può essere aggiunta automaticamente da  xFX)
per  dare  inizio alla suddetta operazione. L'icona in questione deve essere
ovviamente associata ad un'immagine e deve avere xFX come tool di default. I
tool types attualmente applicabili sono (l'ordine non è tassativo):

Tool types obbligatori:

COMMAND     -> Nome del comando da eseguire. Attualmente è ammessa  solo la
               scrittura di un file-immagine su disco. Di conseguenza, l'u-
               nico comando ammesso è WRITE.

DEVICE      -> Nome del device da utilizzare. Per la  sintassi,  vedere  la
               sezione @{"Utilizzo da Shell" link "Shell" 42}. Se si omettesse il nome  del  de-
               vice o se al suo posto ci fosse un  "?"  (senza virgolette),
               verrà aperto un apposito device requester  per  semplificare
               la selezione.

Tool types opzionali:

START       -> Numero del cilindro di partenza (di default è 0).

END         -> Numero del cilindro finale (di default è l'ultimo  e dipende
               dal dispositivo utilizzato).

GEOMETRY    -> Comprende cinque valori separati da uno  spazio: numero set-
               tori, dimensione di ciascun settore,  settori  per cilindro,
               numero cilindri, numero testine (superfici). Serve  solo per
               riconoscere se l'immagine sarà compatibile  col  dispositivo
               di destinazione. In assenza di questo tool type, xFX usa  un
               differente criterio (meno sicuro).

VERIFY      -> Esegue la verifica durante le operazioni di scrittura.

NOEJECT     -> Disabilita l'espulsione automatica (quando è  possibile) del
               dischetto inserito nel device specificato.

QUIET       -> xFX agisce in maniera "silente" visualizzando solo eventuali
               messaggi d'errore.


@{fg shine}3.2.2 Drag & Drop.@{fg text}
 Una volta attivato xFX con un doppio click sulla sua icona, automaticamente
sul  Workbench  comparirà  la corrispondente AppIcon. Trascinandoci sopra un
file-immagine, esso verrà automaticamente utilizzato per rigenerare il disco
di partenza. Per terminare xFX, basterà selezionare l'apposita voce dal menù
strumenti  del  Workbench,  oppure  basterà   eseguire   un   doppio   click
sull'AppIcon. Un apposito requester chiederà conferma dell'operazione.
 Tutte  le  operazioni  di  lettura   e   scrittura   vengono   visualizzate
graficamente  da un'apposita finestra, in corrispondenza della quale compare
il gadget Abort. Clickando tale gadget o premendo i tasti ESC o A (maiuscolo o
minuscolo), l'operazione in corso abortisce immediatamente.
@endnode

@node "ARexx" "4.3 Utilizzo tramite porta ARexx"


 Una volta lanciato da Workbench (doppio click sull'icona), se è disponibile
la rexxsyslib.library, xFX crea una porta ARexx dal nome "xFX.N" dove N è un
numero progressivo che serve per evitare conflitti qualora  ci  fossero  più
porte  con  lo  stesso  nome.  Generalmente se su Amiga sta girando una sola
copia di xFX, il nome della porta sarà xFX.1.
 Ogni comando impartito a xFX tramite ARexx, imposta correttamente il codice
di ritorno RC, la variabile RESULT per il risultato del comando ed infine la
variabile XFX.LASTERROR con il testo dell'eventuale errore che  può  essersi
verificato. Comandi ARexx:

 NOVIEWERR      -> Impedisce la visualizzazione degli errori, però il testo
                   è riportato nella variabile XFX.LASTERROR
 QUIT           -> Termina l'esecuzione di xFX.
 REQERR "TESTO" -> Visualizza un testo in una finestra d'errore.
 VERSION        -> Restituisce in RESULT il numero della versione di xFX.
 VIEWERR        -> Attiva la visualizzazione degli errori (default).

Gli altri comandi seguono la normale sintassi della shell, come ad esempio:
 > info "DF0:"
 > read "diskspare.device:0" "Prova.dsk" pack SHRI NOEJECT
@endnode

@node "Consigli" "4.4 Consigli per l'utilizzo"


@{fg shine}3.4.1 Scelta dell'algoritmo di compressione.@{fg text}
 La scelta dell'algoritmo di compressione può essere  determinante  ai  fini
dell'ottenimento di file-disks compatti e del tempo richiesto per processare
il dischetto. Un buon algoritmo che si  comporta  bene  (e  velocemente)  in
tutte le condizioni è MASH. Per gli Amiga molto lenti può essere sicuramente
utile utilizzare NUKE, anche se l'efficienza è più ridotta. Come noto SHRI è
un ottimo algoritmo, ma è molto lento ed è consigliato tutte le volte che ci
sia di mezzo una trasmissione via modem. SHRI fa letteralmente miracoli  con i
dischetti non compressi per MSX, in quanto riesce a ridurre quelli da 720K in
files di 160-230K.


@{fg shine}3.4.2 Utilizzo con ShapeShifter.@{fg text}
 I vantaggi offerti da xFX agli utenti di ShapeShifter sono notevoli:  copia
dei dischetti HD, possibilità di convertire un dischetto in un file disk per
l'utilizzo diretto con l'emulatore e infine  possibilità  di  convertire  un
intero  device-disk  in  file-disk. L'ultima possibilità è davvero notevole,
poichè rende possibile la creazione di file-disks (per esempio  da  inserire
su un CD-ROM) a partire da device-disk che, come noto, sono notevolmente più
veloci. Tramite l'mro.device di Consultron, è possibile anche  convertire  i
dischetti  da  800K  proprietari  di  A-Max  in  immagini  da utilizzare con
ShapeShifter. Alcune  volte,  utilizzando  i  file-disks  generati  da  xFX,
ShapeShifter  non  li  riconosce  immediatamente  e  chiede  se  si desidera
formattare il disco in questione. Bisognerà  rispondergli  di  non  eseguire
questa  operazione,  in  quanto  nella fase successiva verrà automaticamente
ricostruito il desktop con conseguente comparsa dell'icona del file-disk.


@{fg shine}3.4.3 Utilizzo con fMSX.@{fg text}
 xFX può essere  utilizzato  per  archiviare  in  maniera  assai  agevole  i
dischetti  in  formato  MSX  (usare  mfm.device)  soprattutto se si utilizza
l'algoritmo di compressione  SHRI.  Inoltre  può  essere  usato  per  creare
file-disk  da  usare direttamente e per ricostruire i dischetti a partire da
immagini presenti su Internet.
@endnode

@node "Errori" "4.5 Messaggi d'errore"


 xFX può restituire messaggi d'errore in tre modi differenti: tramite  Shell
(se  invocato  da  quest'ultima), tramite requester reqtools (se lanciato da
Workbench) e tramite la variabile ARexx "XFX.LASTERROR". Qui di seguito sono
riportati i vari messaggi d'errore (in ordine alfabetico).


@{fg shine}* Aborted.@{fg text}
 Non si tratta di un vero e proprio messaggio d'errore. Serve per  informare
l'utente che il run di xFX è stato interrotto (es. Ctrl+C).


@{fg shine}* Can't add icon@{fg text}
 Impossibile  aggiungere  l'icona  quando  è  stata  selezionata   l'opzione
ADDICON. Può essere dovuto ad un problema di accesso del disco.


@{fg shine}* Can't allocate crunch/decrunch buffer !@{fg text}
 Non è possibile allocare il buffer  per  la  compressione  perchè  non  c'è
abbastanza memoria.


@{fg shine}* Can't allocate device requester@{fg text}
 E' stato impossibile allocare il device requester  della  reqtools.library.
La memoria potrebbe essere esaurita.


@{fg shine}* Can't create AppIcon@{fg text}
 Durante l'esecuzione da Workbench è stato impossibile aggiungere  l'AppIcon
di xFX. Probabilmente è terminata la Chip Ram.


@{fg shine}* Can't create ARexx port@{fg text}
 Non è possibile aprire la porta ARexx. Una possibile causa  può  essere  la
mancanza di memoria.


@{fg shine}* Can't create MenuItem@{fg text}
 Durante l'esecuzione da Workbench è stato impossibile  aggiornare  il  menù
strumenti.


@{fg shine}* Can't create mountlist@{fg text}
 Non è possibile creare la mountlist (opzione MOUNTLIST) perchè non è  stato
possibile   stabilire  quale  fosse  il  file  system  associato  al  device
selezionato. Di solito accade quando si accede  direttamente  attraverso  il
device  driver.  Per  risolvere  il  problema,  è  possibile  utilizzare  il
corrispondente device AmigaDOS.


@{fg shine}* Can't find disk object@{fg text}
 Impossibile trovare l'oggetto selezionato tramite drag & drop su AppIcon.


@{fg shine}* Can't open DEVICE unit N@{fg text}
 Non è possibile aprire il DEVICE unità N. O  il  device  è  temporaneamente
utilizzato  da  un altro programma in maniera esclusiva, o più semplicemente
non è installato sul computer.


@{fg shine}* Can't open progress window@{fg text}
 Non è stato possibile aprire la finestra di progresso.


@{fg shine}* Can't read drive geometry@{fg text}
 Il device non risponde  al  comando  TD_GETGEOMETRY.  Il  problema  si  può
bypassare utilizzando il corrispondente device AmigaDOS.


@{fg shine}* Can't use an assign@{fg text}
 Al posto di un normale device  AmigaDOS  si  è  tentato  di  utilizzare  un
assign.


@{fg shine}* Command COMMAND require option OPTION@{fg text}
 Il comando  specificato  (COMMAND)  richiede  obbligatoriamente   l'opzione
OPTION.


@{fg shine}* Device name too long@{fg text}
 Il nome del device specificato (opzione DEVICE e TO) è troppo lungo.


@{fg shine}* Disk buffer full@{fg text}
 Non c'è abbastanza spazio sul disco specificato per creare il buffer.


@{fg shine}* Disk buffer not usable@{fg text}
 Il buffer su disco non è utilizzabile. Probabilmente il disco specificato è
protetto dalla scrittura.


@{fg shine}* Disk buffer path too long@{fg text}
 Il path utilizzato per specificare il buffer su disco  è  troppo  complesso
(lungo).


@{fg shine}* Disk has errors !@{fg text}
 Ricorda semplicemente che sono stati incontrati degli errori o di scrittura o
di verifica.


@{fg shine}* Disk write protected in DEVICE unit N@{fg text}
 Il disco presente in DEVICE con unità N non può  essere  utilizzato  perchè
protetto dalla scrittura.


@{fg shine}* DOS Error: XXX@{fg text}
 Si è verificato un errore DOS.  Per eventuali  chiarimenti,  consultare  la
guida all'AmigaDOS.


@{fg shine}* File too large@{fg text}
 Il file-disk utilizzato per il comando WRITE è troppo grosso rispetto  alle
caratteristiche del device destinazione.


@{fg shine}* File too short@{fg text}
 Il file-disk utilizzato per il comando WRITE è troppo piccolo  rispetto  al
range di cilindri selezionato (opzioni START ed END),


@{fg shine}* Illegal character in PACK option@{fg text}
 E' stato utilizzato un carattere illegale  nello  specificare  l'efficienza
dell'algoritmo di compressione (es. lettere).


@{fg shine}* Illegal combination of START/END cylinders@{fg text}
 Il cilindro di partenza è superiore a quello di fine.


@{fg shine}* Illegal command@{fg text}
 Comando sconosciuto (opzione COMMAND).


@{fg shine}* Illegal device name@{fg text}
 Il nome del device utilizzato non soddisfa la sintassi di xFX.


@{fg shine}* Illegal ending cylinder@{fg text}
 Si è tentato di specificare (opzione END) un numero di cilindro o superiore
al  numero  massimo  di  cilindri  ammissibili, o inferiore a zero.


@{fg shine}* Illegal pack method@{fg text}
 L'opzione  PACK  è  stata  utilizzata  impropriamente,   poichè   è   stata
specificata  un'efficienza  di  compressione  non  compresa  nell'intervallo
0-100.


@{fg shine}* Illegal starting cylinder@{fg text}
 Si è tentato di  specificare  (opzione  START)  un  numero  di  cilindro  o
superiore al numero massimo di cilindri ammissibili, o inferiore a zero.


@{fg shine}* Illegal unit number@{fg text}
 Si è cercato di utilizzare un numero di unità non ammesso.


@{fg shine}* Incompatible options TO and DISKBUF@{fg text}
 Si è cercato di utilizzare la copia con due devices utilizzando  il  buffer
su disco che è utilizzabile con un solo device.


@{fg shine}* IORequest not allocated@{fg text}
 Impossibile allocare l' IORequest. Probabilmente manca memoria.


@{fg shine}* KickStart 2.04+ needed !@{fg text}
 Si è cercato di far funzionare xFX con un sistema operativo inadatto.


@{fg shine}* LIBNAME.library VXX.XX or higher needed !@{fg text}
 Non è disponibile la libreria LIBNAME nella versione specificata  oppure  è
totalmente assente.


@{fg shine}* Memory fragmentation is too high !@{fg text}
 La memoria è troppo segmentata e non è possibile fare la  copia.  Resettare
il computer o utilizzare il buffer su disco.


@{fg shine}* MsgPort not allocated@{fg text}
 Impossibile allocare la MsgPort. Probabilmente manca memoria.


@{fg shine}* No device selected@{fg text}
 Ci si è dimenticati di specificare il tool type DEVICE.


@{fg shine}* No disk in DEVICE unit N !@{fg text}
 Non è presente alcun disco nel dispositivo pilotato dal device DEVICE unità
UNIT.


@{fg shine}* Not enough disk space for buffer@{fg text}
 Si è cercato di usare durante la copia il buffer su disco (DISKBUF), ma non
vi è spazio sufficiente.


@{fg shine}* Not enough memory for single swap copy@{fg text}
 Non c'è abbastanza memoria per eseguire la copia con un  solo  dispositivo.
Si  può  provare  ad  usare  il buffer su disco, oppure un device secondario
(sempre che sia disponibile).


@{fg shine}* Only WRITE command is supported through Tool Types@{fg text}
 Si è cercato di utilizzare un comando diverso da WRITE attraverso  il  tool
type COMMAND.               


@{fg shine}* Option OPTION ignored@{fg text}
 E' stata  specificata  un'opzione  (OPTION)  non  rischiesta  dal   comando
utilizzato. Verrà semplicemente ingnorata.


@{fg shine}* Out of chip memory !@{fg text}
 La memoria chip è esaurita.


@{fg shine}* Read error at cylinder N@{fg text}
 Errore di lettura al cilindro N.


@{fg shine}* Screen too small@{fg text}
 Lo schermo dove si sta tentando di far funzionare xFX ha  delle  dimensioni
troppo esigue perchè possa essere aperta la finestra di progresso.


@{fg shine}* Selected device is not a disk or is not mounted@{fg text}
 Il device selezionato o non corrisponde ad un disco device, o non  è  stato
montato.


@{fg shine}* SOURCE and DESTINATION are not compatible !@{fg text}
 Il disco sorgente e quello destinazione hanno geometria incompatibile.


@{fg shine}* SOURCE and DESTINATION are the same device and unit@{fg text}
 Il device sorgente e quello destinazione (comando COPY) corrispondono  allo
stesso dispositivo.

@{fg shine}
* Specify the input file-disk@{fg text}
 Con il comando WRITE è obbligatorio specificare il file di input.


@{fg shine}* Specify the output file@{fg text}
 Con il comando READ è obbligatorio specificare il file di output.


@{fg shine}* Too many objects !@{fg text}
 Si è cercato di trascinare sull' AppIcon o di effettuare una multiselezione
di  più  di  un  oggetto.  Attualmente  xFX gestisce un solo oggetto DOS per
volta.


@{fg shine}* Tool type COMMAND required@{fg text}
 Ci si è dimenticati di specificare il tool type COMMAND.


@{fg shine}* Verify error at cylinder N@{fg text}
 Errore di verifica al cilindro N.


@{fg shine}* Write error at cylinder N@{fg text}
 Errore di scrittura al cilindro N.


@{fg shine}* XPK Error: XXX@{fg text}
 Si è verificato un problema nell'uso  delle  librerie  XPK.  Consultare  la
relativa documentazione.
@endnode

@node "Note" "5. Note"


@{fg shine}4.1 Note generali.@{fg text}

- xFX non richiede memoria contigua per l'allocazione del buffer  utilizzato
per la copia dei dischetti. Pertanto, non ha problemi a funzionare anche con
memoria molto frammentata.


- xFX è stato testato con successo  i  seguenti  devices:  trackdisk.device,
mfm.device,   ramdrive.device,   fmsdisk.device,  scsi.device,  atapi.device
(Oliver  Kastl),  diskspare.device,  mro.device  (anche  con  disco  A-Max),
floppy.device 4.1 (Orhan Dagistanli), icddiskide.device.


- Alcuni devices anzichè rispondere negativamente se interrogati col comando
TD_GETGEOMETRY  preferiscono  inchiodarsi  (quindi non è un bug di xFX). Fra
questi ci  sono  (ma  potrebbero  essercene  molti  altri):  fmsdisk.device,
multios.device  (Jim  Drew).  Il  problema  si  risolve  montando  il device
AmigaDOS corrispondente e utilizzando questo con  xFX.  In  questo  caso  il
device  non  verrà più interrogato con TD_GETGEOMETRY, ma la geometria verrà
ottenuta dalla DosList.


-  L'atapi.device  (Oliver  Kastl)  e   icddiskide.device   non   supportano
TD_GETGEOMETRY   (senza  inchiodarsi,  esempio  da  seguire).  Pertanto  per
sfruttarli  è  necessario  prima  montarli  e  poi  si  può  accedervi   col
corrispondente device AmigaDOS.


-  xFX  riconosce  se  i  device  drivers  AmigaDOS  sono  associati  ad  un
filesystem.  Non  succede  nulla  se si inserisce un device come SER: (viene
visualizzato un errore), ma se invece si utilizza serial.device:0, la GURU è
assicurata.



@{fg shine}4.2 Formati dei floppy disks.@{fg text}

 Computer = tipo di computer.
 Format   = nome del formato.
 Drv      = dimensioni del disco (pollici).
 Dsk      = tipo di disco SS = singola faccia singola densità.
                          SD = singola faccia doppia densità.
                          DS = doppia faccia singola densità.
                          DD = doppia faccia doppia densità.
                          HD = alta densità.
 Size     = dimensione in Kbytes.
 Sec      = numero totale di settori.
 SecSize  = dimensione di ciascun settore (bytes).
 TotCyl   = numero totale dei cilindri.
 SecCyl   = numero di settori per cilindro.
 Surf     = numero superfici.
 Dev      = device driver da usare con xFX:
            1 = trackdisk.device
            2 = diskspare.device
            3 = floppy.device
            4 = mfm.device
            5 = mro.device

 =======================================================================
 Computer   Format     Drv Dsk Size  Sec SecSize TotCyl SecCyl Surf Dev
 =======================================================================
 Amiga      trackdisk  3.5  DD  880 1760   512     80     22     2   1
 Amiga      diskspare  3.5  DD  984 1968   512     82     24     2   2
 Amiga      floppy     3.5  DD 1148 2296   512     82     28     2   3
 Amiga      trackdisk  3.5  HD 1760 3520   512     80     44     2   1
 Amiga      diskspare  3.5  HD 1968 3963   512     82     48     2   2
 Amiga      floppy     3.5  HD 2050 4100   512     82     50     2   3
 Atari ST              3.5  SD  360  720   512     80      9     1   4
 Atari ST              3.5  DD  720 1440   512     80     18     2   4
 C= 1541               5.25 SS  171  683   256     35    17-21   1   -
 C= 1571               5.25 DS  342 1366   256     35    17-21   2   -
 Macintosh             3.5  DD  800 1600   512     80     20     2   5
 Macintosh             3.5  HD 1440 2880   512     80     36     2   4
 Ms-Dos                5.25 SD  160  320   512     40      8     1   4
 Ms-Dos                5.25 SD  180  160   512     40      9     1   4
 Ms-Dos                5.25 DD  320  640   512     40     16     2   4
 Ms-Dos                5.25 DD  360  720   512     40     18     2   4
 Ms-Dos                3.5  SD  360  720   512     80      9     1   4
 Ms-Dos                2.5  DD  720 1440   512     80     18     2   4
 Ms-Dos                3.5  DD  720 1440   512     80     18     2   4
 Ms-Dos                5.25 HD    ?    ?   512      ?      ?     2   4
 Ms-Dos                3.5  HD 1440 2880   512     80     36     2   4
 Ms-Dos                3.5  ED 2880 5760   512     80     72     2   4
 MSX                   3.5  SD  360  720   512     80      9     1   4
 MSX                   3.5  DD  720 1440   512     80     18     2   4
 Spectrum              3.5  SD  400  800   512     80     10     1   4
 Spectrum              3.5  DD  800 1600   512     80     20     2   4
 =======================================================================
@endnode

@node "Bugs" "6. Bugs"


 Purtroppo ce ne saranno  diversi  visto  che  si  tratta  di  una  versione
tutt'altro  che  definitiva.  Ogni  suggerimento o bug può essere comunicato
all'Autore tramite l'indirizzo che si trova nell'@{"apposita sezione" link "Copyright" 0} di  questo
documento.
@endnode

@node "Futuro" "7. Futuro"


 - @{"Interfaccia grafica" system "SYS:Utilities/Multiview GuiX_Preview"} via ARexx (MUI).
 - Supporto in scrittura dei dischetti a singola faccia.
 - Compressione GZip compatibile (LZ77) per gli utenti Unix (Uae !??!).
 - Compressione PowerPacker (ma lo usa ancora qualcuno ?)
 - Multisplit dei file-disk.
 - Localizzazione.
 - Supporto SCSI-Direct.
 - Accesso alla iec.library per l'utilizzo del drive 1541 e creazione delle
   realative immagini sia RAW sia in formato .d64.
 - Accesso ai drive da 5.25 per leggere direttamente i floppy del C=64.
@endnode

@node "Strumenti" "8. Strumenti utilizzati per lo sviluppo"


@{fg shine}- Hardware usato per lo sviluppo:@{fg text}
  A1200 030/882 @50 MHz, 16 Mb Fast Ram, HD 1080 Mb, CD-ROM 4x, Kick 3.0


@{fg shine}- Hardware usato per il beta-testing:@{fg text}
  A4000 040 @25 MHz, 16 Mb Fast Ram, CV 64, HD 3.2 Gb, CD-ROM, Kick 3.0
  A3000 030/882 @25 MHz, 2 Mb Chip/12 Mb Fast, Merlin, HD 2 Gb, Kick 3.1
  A500 512Kb Chip/1.8Mb Fast, HD 20 Mb, Kick 2.04


@{fg shine}- Software:@{fg text}
  Gcc V2.7.2, Libnix, CygnusEd II, GoldED 4, XPK User &  Developer Archive,
  Enforcer V37, MungWall.
@endnode

@node "Ringraziamenti" "9. Ringraziamenti"


 - Carolyn Scheppner (Sushi).
 - Christian Bauer (ShapeShifter & Frodo).
 - Dave Jones & Matt Dillon (fmsdisk.device).
 - Dietmar Eiler (GoldEd).
 - Dirk Stöcker, Bryan Ford, Urban Dominik Müller, Christian von Roques &
   Co. (Librerie XPK).
 - Fred Fish e i suoi collaboratori (ADE).
 - Free Software Foundation (packages GNU).
 - Jaun Antº Gómez (AmiMSX, AmiMasterGear, AmiGameBoy).
 - Klaus Deppisch (DiskSpareDevice).
 - Marat Fayzullin & Hans Guijt (fMSX).
 - Michael Sinz (Enforcer).
 - Michiel Plet (Professional File System).
 - Nico François & Mangus Holmgren (reqtools.library).
 - Oliver Kastl (IDEFix & atapi.device).
 - Roman Patzner (icone).
 - William James (Speculator).

 Ringrazio inoltre tutti i miei beta testers di "fiducia" (Steve  Peruzzi  &
Andrea Orsucci) e tutti i miei amici.
 Infine voglio ringraziare tutti coloro che hanno reso veramente "grande" (e
sono veramente tanti) questo splendido computer che è Amiga.


Non me ne vogliano tutti coloro che involontariamente non sono stati citati.
@endnode

@node "Copyright" "10. Copyright"


 Tutti i marchi e i programmi citati direttamente o indirettamente in questo
documento  sono  copyright  dei  legittimi  proprietari.  xFX è un programma
liberamente distribuibile su Internet,  BBS,  CD-ROM  e  ogni  altra  forma.
L'Autore  non  ha  alcuna responsabilità di danni hardware/software arrecati
dall'uso di questo programma. Tutti  i  rischi  sono  a  carico  dell'utente
finale.

                                    xFX
                     è un programma realizzato nel 1997
                           da Alessandro Pedretti
                         Tutti i diritti riservati


                            Alessandro Pedretti
                           via Enrico Mattei 16/D
                        20018 Sedriano (MI) - Italia
                            Tel. +39-2-90110528
                            Fax. +39-2-90110528
                     1st E-Mail: apedretti@mbox.est.it
                   2nd E-Mail: alex@indigo.farma.unimi.it
@endnode

@node "Storia" "11. Storia di xFX"


@{fg shine}0.10 (interna):@{fg text}
 - Prima release.

@{fg shine}0.11 (interna):@{fg text}
 - Risolto il problema di inbizione all'accesso quando un device è in uso.
 - Rimosso un piccolo bug riguardante i messaggi d'errore ARexx.
 - Superata la barriera delle 10 unità massime di ciascun device.
 - Aggiunto il  messaggio IDCMP  DISKINSERTED  per  rilevare  l'estrazione
   o l'inserimento di un disco in seguito alla richiesta di xFX.

@{fg shine}1.0 (prima release pubblica):@{fg text}
 - Documentazione AmigaGuide®.
 - Installer.
 - Scripts ARexx.
 - Rimosso un bug relativo alla copia con due dispositivi.
 - Aggiunto il controllo automatico dello stack.
@endnode

