View Single Post
Old 11 December 2011, 15:02   #1
Registered User
Join Date: May 2011
Location: Cambridge
Posts: 579
Creating your own IPFs

Hi Folks,

I've been doing some more work on my Amiga disk decoding/encoding utilities. These allow you to read disk dumps from various sources (Kryoflux, IPF, ADF, etc) analyse the contained data according to known encoding schemes (AmigaDOS, Copylock, RNC PDOS, various game publisher custom formats, ...), and write the analysed data in another format. In effect this is an all-in-one Amiga disk archiving/transcoding/reading utility.

The new feature which I just completed is support for writing IPFs. Previously the main useful target was a custom archival format, for which support has to be added to emulators and the like (I have patches to UAE to support reading my disk files, for example).

However, with IPF support you can now create or transcode disk dumps that can be immediately loaded into emulators, read on a real Amiga (latest version of RawDIC/WHDLoad), or written back to a real disk using the latest Kryoflux software!

For example, I was able to back up my own copy of New Zealand Story (a typical Copylocked game disk) as follows. In Linux:
dtc -r6 -fnzs/ -i0 -e79 -i5
disk-analyse --format="New Zealand Story" nzs/ nzs.dsk
disk-analyse --format="New Zealand Story" nzs.dsk nzs.ipf
This dumps the game disk using Kryoflux, into a set of raw Kryoflux STREAM files. It then uses my analyser to archive in my custom format, and then again to transcode to IPF (you could also archive straight to IPF in one step).

Then, since I believe Kryoflux write support is currently only in the Windows tools, I do the writing step from a Windows VM:
 DTC -d0 -fnzs.ipf -s0 -e79 -w -l15
Result, a working copy of my own original game disk -- no cracks or patches!

You can also do things like write out unprotected ADFs through Kryoflux, by transcoding them via disk-analyse first:
 disk-analyse my.adf my.ipf
If you want to try it out, you can grab all my code from Github:

The bad news: It's Linux only (also basic support for Cygwin/MinGW on Windows) and you have to build it yourself, something like:
git clone
cd Disk-Utilities
su -c "make install"
Let me know if it's useful to you!

Last edited by kaffer; 10 September 2012 at 09:18.
kaffer is offline  
Page generated in 0.04093 seconds with 11 queries