Using HJSplit

Home    Tutorials    Using HJSplit

HJSplit is a program that can take a large file and split it into several smaller ones, this can be useful in situations where transferring files from one computer to another via floppy disks (or other small media) is the only option, and where one or more of the files is too big to fit on a single floppy. After a large file have been split you can transfer each chunk to the other computer, and then you can use HJSplit for joining all chunks into the original large file again.

Another example can be when transferring large files via a serial null-modem cable, because not only is this a rather slow method, there is always a chance that a transfer may be aborted due to an error as well. This can really suck if you have waited a very long time for a file transfer to complete - only to experience it being stopped at for example 95%, meaning you have to start all over again. Here it might be a good idea to first split the large file into several smaller chunks, and then transfer each chunk one by one instead. When this is done, you can on the other computer join every chunk into the original file again.

If you decide to include HJSplit on the Amiga911 disk, Emergency Disk II or A911Extras pack, you will also get a requester based script called HJSplitGui which can be used for controlling HJSplit, but you can of course use the program directly in Shell if you prefer that.

Versions of HJSplit exists for several platforms including Windows and Linux. All HJSplit editions are compatible with each other and allow you to exchange files between different operating systems. E.g. a file split on Linux can be joined on Windows 7 and vice versa. More information can be found at:

Authors: Henk Hagedoorn & Rhesa Rozendaal,    Requires: AmigaOS 2.x or higher,    Download:

Usage of HJSplitGui
Here is a small tutorial that explains how to use the HJSplitGui script, where the Personal Paint 7.1c distribution is used as an example. This 3MB big archive can be downloaded from:  Furthermore, lets assume that an Amiga has been used to download the PPaint.lha archive, and that you want to transfer it to another Amiga by using one or more 880KB DD floppy disks.

Splitting the file
After you have started HJSplitGui, click the "Split File" button. This will open a file requester that allows you to select the PPaint.lha file, when you have done this and pressed the OK button, the requester below will appear.

Here you can select what size the PPaint.lha file should be split into, you can either choose from the five predefined values (where each value represents the maximum size a single file can be for it to fit on the corresponding disk type), or you can click the "Other" button to enter the size manually, just remember that the size you enter here should be in KiloBytes.  Since Amiga DD FFS floppy disk(s) is to be used for transferring, you should just click the "865" button here.  Next, you will be asked if the Checksum shall be calculated, so click "Yes" if you want this to happen. But have in mind that this functionality may take a while (see further down below).

Now the script will continue with splitting the selected file into several chunks, where each chunk file will be of the size you selected (the last file will most often be smaller). When this is done, you will in addition to the original 3079 KB big PPaint.lha file, also have PPaint.lha.001, PPaint.lha.002, PPaint.lha.003 & PPaint.lha.004 present in the same directory as well. All chunk files will have a size of 865 KB except the last one which will be 484 KB big.  The next thing that happens, is that the Checksum of the selected file will be calculated if you earlier chose to do so. This info will appear both on the screen, and in a new PPaint.lha.txt file that is saved in the same dir as the other files.

Now you can continue with transferring all chunk files to the other computer. By using the example above, you will need four Amiga DD FFS formatted floppy disks for doing this. Or you can of course use a single floppy, where you for each chunk file do the following: Copy a chunk file to disk from Amiga #1, then insert disk & copy chunk into Amiga #2, and finally delete chunk file from the floppy.  Remember to copy the PPaint.lha.txt file as well (if it's present).

Joining the file
For joining all chunk files into a single large file again, you must first make sure that ALL chunks are present in the same directory on the other computer, Then from the HJSplitGui requester, click  "Join File". This will open a filerequester where you have to select one of the chunk files (it doesn't matter which one you choose), when this is done, you will be asked whether or not to calculate the Checksum of the resulting file. After answering this, all chunk files will be joined together in order to form the original large file, which will be present in the same dir as all the chunks.  Finally the Checksum of the newly created PPaint.lha file will be calculated if you earlier chose to do so.  If PPaint.lha.txt can be found, it will be displayed as well.

As you can see from the image above, both the file sizes (bytes read) and Checksum values are the same for both the original and newly created PPaint.lha archive file. This means that the process was succesful, without any errors.

About Checksum calculations
When you split or join files by using HJSplitGui, you will be asked whether or not to calculate the checksum.  If you answer yes to this, the HJSplit executable will be run a second time after the splitting/joining is done, where it will do the actual calculations. The reason why this no longer happens automatically, is because it can be a rather time consuming affair, so I decided to make this functionality optional. Have in mind that the ".txt" file stuff (which contains the results of the calculations), is a HJSplitGui solution only!  It is not used on anything else related to HJSplit, regardless of the platform!

Although it may take some extra time, it can still be a good idea to use the checksum function, since it provides improved security. By using it, you will know for sure whether or not a split/join operation was successful. 

    Followed a link? Please go to the Main Site                   © Roger E. Håseth 2014