home *** CD-ROM | disk | FTP | other *** search
- * Programmheader
- *
- * Name: testFilePack
- * Author: SDI
- * Distribution: Freeware
- * Description: easy file to file packer
- * Compileropts: -
- * Linkeropts: -l xpkmaster amiga
- *
- * 1.0 06.01.97 : wrote to find the read bit error
- * 1.1 28.11.97 : moved chunk-hook into include file
- * 1.2 25.10.98 : made an assembler version (340 bytes)
-
- INCLUDE "AINCLUDE:IncDirs.i"
- INCLUDE "lvo.i"
- INCLUDE "dos/dos.i"
- INCLUDE "dos/dosextens.i"
- INCLUDE "xpk/xpk.i"
-
- LEA.L -12(A7),A7
- MOVE.L A7,A2 * A2 holds args array
- LEA.L User(PC),A3 * set default mode to USER
- MOVE.L A3,8(A2)
-
- MOVEQ #RETURN_FAIL,D4 * return value
- MOVE.L 4.W,A5 * A5 is SysBase
- MOVE.L A5,A6
-
- * handle WB start
- SUBA.L A1,A1
- JSR _LVOFindTask(A6)
- MOVE.L D0,A3
- TST.L pr_CLI(A3)
- BNE.B .iscli
- LEA pr_MsgPort(A3),A0
- JSR _LVOWaitPort(A6)
- LEA pr_MsgPort(A3),A0
- JSR _LVOGetMsg(A6)
- MOVE.L D0,A1
- JSR _LVOForbid(A6)
- JSR _LVOReplyMsg(A6)
- BRA.W end
-
- DC.B 'testFilePack 1.2 (25.10.1998) (Freeware) by SDI',0
- EVEN
-
- .iscli
- MOVEQ #37,D0
- LEA DosName(PC),A1
- JSR _LVOOpenLibrary(A6)
- MOVE.L D0,A4 * A4 is DOSBase
- BEQ.B end
-
- MOVEQ #0,D3
- MOVE.L A2,D2
- LEA.L Param(PC),A3
- MOVE.L A3,D1
- MOVE.L A4,A6
- JSR _LVOReadArgs(A6)
- MOVE.L D0,D7 * D7 is rda
- BEQ.B freear
-
- MOVEQ #4,D0
- LEA XpkName(PC),A1
- MOVE.L A5,A6
- JSR _LVOOpenLibrary(A6)
- MOVE.L D0,A6 * A6 is XpkBase
- BEQ.B freear
-
- CLR.L -(A7) * TAG_DONE
- MOVE.L 8(A2),-(A7) * PackMethod
- MOVE.L #XPK_PackMethod,-(A7)
- MOVE.L 4(A2),-(A7) * destination
- MOVE.L #XPK_OutName,-(A7)
- MOVE.L (A2),-(A7) * source
- MOVE.L #XPK_InName,-(A7)
- LEA (A7),A0
- JSR _LVOXpkPack(A6)
- LEA 7*4(A7),A7 * reset stack
- MOVE.L D0,D4
- BEQ.B clxpk
-
- SUB.L A0,A0 * print the error
- JSR _LVOXpkPrintFault(A6)
- MOVEQ #RETURN_FAIL,D4
-
- clxpk MOVE.L A6,A1
- MOVE.L A5,A6
- JSR _LVOCloseLibrary(A6)
- freear MOVE.L D7,D1
- MOVE.L A4,A6
- JSR _LVOFreeArgs(A6)
- cldos MOVE.L A4,A1
- MOVE.L A5,A6
- JSR _LVOCloseLibrary(A6)
- end LEA 12(A7),A7
- MOVE.L D4,D0
- RTS
-
- Param DC.B 'FROM/A,TO/A,METHOD',0
- User DC.B 'USER',0
- DosName DC.B 'dos.library',0
- XpkName DC.B 'xpkmaster.library',0
- END
-