home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 28
/
amigaformatcd28.iso
/
-seriously_amiga-
/
archivers
/
xfx
/
zfx
< prev
Wrap
AmigaDOS Script File
|
1998-04-27
|
3KB
|
145 lines
.key COMMAND/A,DEVICE/A,TO/K,FILE,MODE/K,DISKBUF/K,PACKEFF/K,START/K,END/K,VERIFY/S,NOEJECT/S,VERBOSE/S,QUIET/S
.bra {
.ket }
; $VER zFX 1.0 (20.4.1998)
; xFX and GZip interface
;
; © 1998, Alessandro Pedretti
;
;
; Options:
; ~~~~~~~~
; COMMAND = COPY, READ, WRITE, CHECK, INFO
; DEVICE = Device name (AmigaDOS or DEVICE.device:UNIT)
; TO = Destination device for copy
; FILE = Input/output file for READ/WRITE commands
; MODE = Device mode (Std, SCSI, IEC)
; PACKEFF = GZip packing efficiency (1...9)
; DISKBUF = Disk buffer path for COPY
; START = Start cylinder (default 0)
; END = End cylinder (default last)
; VERIFY = Verifies cylinders during write operations
; NOEJECT = Inhibits auto disk eject
; VERBOSE = Explains all operations
; QUIET = Suppresses all messages
; PIPE: is mounted ?
Assign PIPE: DEVICES EXISTS >NIL:
If WARN
Mount PIPE: >NIL:
If WARN
Echo "Can't mount PIPE:"
Quit 20
EndIf
EndIf
; GZip is installed ?
Which GZip >NIL:
If WARN
Echo "GZip not found"
Quit 20
EndIf
; Options:
Set Err ""
Set OPT ""
Set PackErr "Illegal efficiency"
If {COMMAND} EQ "READ"
If {PACKEFF}
If {PACKEFF} NOT GT 0 VAL
Set Err $PackErr
Else
If {PACKEFF} GT 9 VAL
Set Err $PackErr
EndIf
EndIf
EndIf
EndIf
If "$Err" EQ ""
If {MODE}
Set OPT "MODE {MODE}"
EndIf
If {START}
Set OPT "$OPT START {START}"
EndIf
If {END}
Set OPT "$OPT END {END}"
EndIf
If {DISKBUF}
Set OPT "$OPT DISKBUF {DISKBUF}"
EndIf
; Action:
If {COMMAND} EQ "READ"
Run >NIL: GZip -cf{PACKEFF} <PIPE:xFX_Data.xfx/10240/1 >"{FILE}"
FailAt 21
xFX READ {DEVICE} PIPE:xFX_Data.xfx $OPT {NOEJECT} {VERBOSE} {QUIET}
; xFX fails ?
If FAIL
Break `Status COMMAND GZip`
Delete "{FILE}" >NIL:
Else
; Waiting GZip:
Lab Loop
Status COMMAND GZip >NIL:
If NOT WARN
Wait 1
Skip Loop BACK
EndIf
Echo "Packed size: " NOLINE
List "{FILE}" LFORMAT "%l bytes"
EndIf
Else
If {COMMAND} EQ "WRITE"
If NOT EXISTS {FILE}
Echo "File not found"
Else
Run >NIL: GZip -cdf {FILE} >PIPE:xFX_Data.xfx/10240/1
FailAt 21
xFX WRITE {DEVICE} PIPE:xFX_Data.xfx FORCEWRT $OPT {VERIFY} {NOEJECT} {VERBOSE} {QUIET}
; xFX fails ?
If FAIL
Break `Status COMMAND GZip`
Type PIPE:xFX_Data.xfx TO NIL:
EndIf
EndIf
Else
If {COMMAND} EQ "COPY"
If {TO}
xFX COPY {DEVICE} TO {TO} $OPT {NOEJECT} {VERBOSE} {QUIET}
Else
xFX COPY {DEVICE} $OPT {NOEJECT} {VERBOSE} {QUIET}
EndIf
Else
xFX {COMMAND} {DEVICE} $OPT {NOEJECT} {VERBOSE} {QUIET}
EndIf
EndIf
EndIf
Else
Echo "ERROR: $Err"
EndIf
UnSet Err
UnSet OPT
UnSet PackErr