The ARJBETA Frequently Asked Questions file version 1.2, Hans Wessels & Ger Hobbelt 26-08-1995 0) Q: How do I contact you? A: As you all know, questions and suggestions about ARJ(beta) related issues is warmly welcomed at both our email addresses (Hans "Mr Ni!" Wessels & Ger "Insh_Allah" Hobbelt) listed at the end of this FAQ. 1) Q: When I am using ARJBETA, I feel like a MS DOS user, typing a lot of cryptic commands. Will there be an ARJ shell? A: Yes, an ARJ shell is planned. It will be programmed by Wout Klaren, the author of the desktop shell 'TeraDesk'. But I think it will be summertime before the first version is released. But you don't have to type at all to use ARJBETA and UNARJ; drag and drop is enough: Install ARJBETA on your (Teradesk) desktop with the following command line: c:\packed.arj %f Select the files, folders or drives you want to pack and drop them on the ARJBETA icon. They will be packed in the file c:\packed.arj or use this command line: %f %f Drop a folder on the ARJBETA icon and the folder will be packed in the file .arj Install UNARJ with the file type *.arj Double click on a .arj file or drop it on the UNARJ icon and the file will be depacked. Install UNARJ with the file type *.arj and use the following commandline -~g %f Double click on a .arj file or drop it on the UNARJ icon and the file will be depacked in a folder with de name of the file. As you can see: when properly installed there is no commandline typing at all. It's just a matter of clicking, dragging and dropping, something not regularly available on a MSDOS computer, even not when using MS Windooz. BTW: all examples were given with the use of TeraDesk in mind, but I think that any other modern desktop(shell) has the same functions available. 2) Q: I want to depack a file without it's directory structure; this should be possible with the e or -e command, but the program goes on with creating directories. What am I doing wrong? A: You are doing nothing wrong, the depacker was wrong. Untill ARJ 9.94A the e and -e commands were broken. It was not possible to depack a file without it's directory structure. In ARJ 9.94A the bug was fixed, but the -~g switch was always switched on (incorrect behavior according to the documentation). You had to switch it off using -~g- This bug was fixed in ARJ 9.95. 3) Q: What packing ratio's are you expecting compared to LHArc and STZIP? A: ARJBETA is the best packer on the ST, although there exist files that are better compressed with LHArc or STZIP. Especially lots of small files frequently result in bigger ARJ archives compared to STZIP or LHArc archives. This is due to the larger file headers in the ARJ archive. The packing ratio will improve again in the future, the current packer has still spots where it can be improved. This table is for ARJBETA 9.95, ARJBETA 9.96 is better. ARJBETA LHArc 3.10 STZIP 2.5 Case A : Text files, 1703513 bytes used in 26 files packed size: 297916 321154 297350 pack time : 141s 108s 113s depack time: 25s 25s 43s Case B : Degas pictures, 2077961 bytes used in 77 files packed size: 203349 204416 211009 pack time : 630s 205s 312s depack time: 76s 79s 105s Case C : C-sources, no object files, 4365303 bytes in 168 files packed size: 597642 626464 612246 pack time : 385s 317s 326s depack time: 142s 141s 190s Case D : Binaries, 1725316 bytes used in 26 files packed size: 945827 963653 953573 pack time : 345s 239s 236s depack time: 45s 52s 81s Case E : Latice C5.5, 4093418 bytes used in 30 folders and 331 files packed size: 1854686 1889860 1890378 pack time : 949s 535s 625s depack time: 288s 292s 391s Case F : Noise tracker modules, 7928196 bytes used in 39 files packed size: 5320479 5372994 5376083 pack time : 1869s 1085s 908s depack time: 166s 213s 356s Case G : Utility drive, 28904740 bytes used in 207 folders and 1426 files packed size:13816829 14053261 13954665 pack time : 6455s 3509s 4652s depack time: 1473s 1487s 1908s MS DOS test, 159763639 bytes used in 997 files MSDOS ported ARJBETA ARJ 2.42(Mr. R. Jung) PK ZIP 2.04g (32-bit DOS4GW app) -jm switch used 115118708 115318469 (+199761) 115281976 (+163268) Quick look at the new compression ratios: ARJBETA 9.96 Text time win31 time 4unlimit.mod Drive D: time m0 : 1209835 51 1156337 59 325409 13 - m1 : 498430 177 206785 167 209287 56 13825442 5530 m2 : 502303 189 212983 145 210122 55 13951770 4905 m3 : 508792 159 215649 139 211080 48 14060852 4554 m4 : 575846 161 245563 128 242235 45 15048213 4343 m5 : 499759 174 214375 139 210328 49 14029213 4537 m6 : 493467 178 211868 145 209445 55 13918755 4954 m7 : 488878 192 206744 169 208802 57 13788033 5548 m1 -jm : 497824 203 206351 181 208811 77 13800680 6445 m2 -jm : 201801 198 213523 163 209339 76 13928088 5849 m3 -jm : 507775 171 215629 147 210752 58 14043104 4736 m4 -jm : 572775 148 239050 143 241378 46 14899666 4736 m5 -jm : 498791 173 214692 147 210073 58 14011747 4939 m6 -jm : 492693 198 211971 164 209089 75 13895150 5841 m7 -jm : 488119 209 205123 183 208100 77 13762916 6489 lzh 3.10 : 537320 160 216341 133 211088 41 14078286 3620 stzip 2.6 : 495231 190 213207 176 211508 31 13990756 4971 arj 9.95 : 498484 270 208116 327 209424 76 13842068 6663 Further speed and compression improvements are expected, especially mode 1, 7 and 8 (still under development) will improve. I expect the next ARJ will compete with the best compression programs like RAR and Ultracompress. 4) Q: What packing speed are you expecting? A: ARJBETA is not severely optimized for packing speed yet. Speed optimizations will start when I am finished improving packing ratio. Although it is hard to predict the speed of a future product I can say that my object is to be the fastest packer on the ST too! Just like the depacker being the fastest on the ST. But I know it will be very hard to match the packing speed of LHArc, especially with a complex packer like ARJBETA. ARJBETA 9.96 is a lot faster as 9.95, but most of the program is still C code and there is still no file buffering, so speed improvements are still to be expected. 5) Q: What is the difference between UNARJ and UNARJ_PR? A: UNARJ_PR is the ARJ depacker for PRogrammers. With the switch -~d,,,, ,, you can dump the contents of an archive into files. You can dump the archive in such a format it can be included directly into your C or assembley programs. You can depack the data in your program using the depack routines comming with the ARJ package. See for more info on this command de documentation of UNARJ_PR. 6) Q: Why are there so many commands and switches? I can't memorize them all! A: You don't have to know a single command or switch when your are using the ARJBETA packer or the UNARJ depacker (Please refer to FAQ Q #1 above for more on this subject). But if you want to depack files based on various selection schemes you can depack them by using the correct switches. Most of the switches were invented by Robert Jung, the author of the original ARJ packer on MSDOS machines. We implemented them to be fully compatible. The switches we added to the program are all starting with -~ to avoid incompatibilities with future releases of Mr. Jungs archiver. (We thought it very unlikely for a switch to be prefixed -~ so we chosed that one.) 7) Q: How do I create archives that fit on a HD disk (1.4MB)? A: You can use the switch -v to enable packing in multiple volume archives. To create archive files that fit exactly on a disk you can use one of the following switches: -v180 volume size is 177152 bytes (single sided 40 x 9 disk) -v200 volume size is 197632 bytes (single sided 40 x 10 disk) -v205 volume size is 202752 bytes (single sided 42 x 10 disk) -v360 volume size is 360448 bytes (single sided 80 x 9 or dual sided 40 x 9 disk) -v400 volume size is 401408 bytes (single sided 80 x 10 or dual sided 40 x 10 disk) -v405 volume size is 406528 bytes (single sided 82 x 10 disk) -v410 volume size is 411648 bytes (dual sided 42 x 10 disk) -v720 volume size is 728064 bytes (dual sided 80 x 9 disk) -v800 volume size is 809984 bytes (dual sided 80 x 10 disk) -v820 volume size is 830464 bytes (dual sided 82 x 10 disk) -v1440 volume size is 1456640 bytes (dual side 80 x 18 (hd)disk) -v1600 volume size is 1623040 bytes (dual sided 80 x 20 (hd)disk) -v1620 volume size is 1664000 bytes (dual sided 82 x 20 (hd)disk) -v2880 volume size is 2913280 bytes (dual sided 80 x 36 (ed)disk) -v3200 volume size is 3246080 bytes (dual sided 80 x 40 (ed)disk) -v3240 volume size is 3328000 bytes (dual sided 82 x 40 (ed)disk) You can also determine the size of an archive using the following switch: -v The volume size will be bytes where has to be a value larger than 8191. If the number is smaller than 8192 and none of the standard disk volumes sizes, the default size of 1456640 bytes (the size of a HD disk) will be assumed. -v without a number will fit the volume size to fill the free disk space on the specified diskdrive. When de disk is full you are prompted to insert the next disk into the drive. 8) Q: Your packer is great stuff, but my friend working at the university would much like it to run on the Sun machines he's got access to: he likes to carry his work up and down to the Atari at home. Is this possible in the near future or do we seek some other solution? A: As we are currently in beta development of the archiver, we do not miss the point about portability towards other platforms. We are actively porting the archiver to MSDOS 32-bit machinery (386SX or better) and are also in the process of making ARJBETA running on Linux machines. From there, we will embark on the path to multiple platform supporting ARJ; once intended by Mr Jung long ago (looking at the depacker C sources distributed with various ARJ versions (ARJ 2.0, 2.30, 2.41, etc.)) We expect to have the 32-bit MSDOS and Linux port available before summer. Any progress in these fields will be reported on the Internet newsgroups: keep a close eye at comp.compression these months ;-) 9) Q: Above are listed the compression results of ARJBETA for MSDOS. Where can I get a copy for testing? And why are those packing ratios different from Mr. R. Jungs ARJ - are they compatible? A: Your first question can be easily answered: ARJBETA for MSDOS is not yet released - Ger Hobbelt is busy testing it, but he hasn't yet given a version suitable for wide-spread release. Second, we can only say our ARJ implementation is archive-compatible with Mr R. Jungs ARJ.EXE, though we use quite different tactics when archiving. As Hans Wessels has put quite some effort in developing bit-level compatible compression methods, he has hit upon better ways of packing. Viewing our current progress (from quite worse to far better ratios within a short period of development time) we are absolutely convinced this thingy can be stretched even farther: our target is to beat all well-known Atari and MSDOS based archivers such as PK ZIP, LHA and Mr. R. Jungs ARJ. I know well this quite a challenge, but we will overcome... ;-)) 10) Q: Will you make a Falcon version of ARJ that will use de DSP for packing and/or depacking? A: No, I don't think there will ever be a special ARJ for the Falcon using its DSP. Because I haven't got a Falcon (and I am not planning in buying one, but feel free to send one, I might reconsider this statement ;-) ) and, as far as my knowledge goes, the DSP hasn't got the right command set for UNARJ; it's specialized in fixed point calculations, not the bit-level instructions needed for ARJ (although the hardware supported cyclic buffers should work nice for the sliding dictionary). 11) Q: Why are ARJBETA and UNARJ seperate programs? A: Because ARJBETA is arjBETA, it is a test tool for my ARJ pack code. To keep the program simple it contains only the most necessary functions to test the packer code. In the end we will join ARJBETA and UNARJ into one big program. 12) Q: Where can I get in touch with you both? A: Of course we can be reached through Internet email at the addresses listed below: Hans Wessels: MR_NI@MBH.ORG or MR_NI@MST.TN.UTWENTE.NL Ger Hobbelt: I_A@MBH.ORG