Presentation
This page presents the different Formats used to create images of Atari Floppy Disks. These images can be used for emulation or for backup / copy of original Atari floppy disks. Some of these formats can be used directly (for example Pasti STX) while some other required to be processed (for example SuperCard Pro SCP files or Kryoflux Stream files).
The Image Formats used on Atari platform:
- ST : Supported by all emulators, it is the most simple format since it’s a straight copy of the readable data of a disk. Created originally for the PacifiST emulator, it does not allow copying copy-protected disks.
- MSA : An acronym for Magic Shadow Archiver, it is a format created on Atari by the compression program of the same name. This format, is also supported by almost all emulators. It contains the same data as the ST format, the only difference is that the data is compressed. A variation of the program on Atari allows saving the data without any compression. This result in an ST file but with an MSA header. A nice feature of the MSA program is that it allows to split an archive into multiple files, thus facilitating the transfer of large disk images on floppies.
- DIM : A format created by the well known Atari copy program: "FastCopy Pro". The non-compressed version of this format contains the same information as the ST and MSA formats, but with a proprietary header. This format is also supported by most emulators.
- STT : Created and developed by the creators of STeem Engine emulator, it is supposed to allow the copy of many original disks, including certain copy-protected games. It supports disks of various numbers of tracks that can be of different size as well as other details. For example it supports irregular sector numbers, sector numbers in range $F7-FF and 1 KB sectors.
- STX: Created by the PASTI initiative (Atari ST Imaging & Preservation Tools). The imaging tools can virtually create images of any ST disk including copy protected disks. The STX Images can be used by the STeem and SainT emulators. There is also a plan to support it in the Hatari Emulator.
- IPF: Created by the Software Preservation Society (SPS). -- Currently only SPS can create IPF files from stream files generated with the KryoFlux board. The IPF format support images of any ST disk including copy protected disks. This format can be read directly by STeem and Hatari Emulators. It can also be used to create copy of original floppy disk.
- SCP: Created by the SuperCard Pro board. This format is an image of the Floppy Disk at the flux transition level. It provides very detailed information and can be used directly to copy a floppy disk (even protected one). However to use it in an emulator it needs to be converted to a format supported by the emulator. For that matter you can use my Aufit Program.
- Raw: The raw stream files are created by the KryoFLux board. This format is an image of the Floppy Disk at the flux transition level. It provides very detailed information but it can't be used directly to copy a floppy disk (even non protected one). The raw stream files need to be converted by SPS people to IPF format presented above in order to create a copy of a floppy disk. To use it in an emulator it needs to be converted to a format supported by the emulator. For that matter you can use my Aufit Program.
Below you will find a description for each of these formats.
Back to the topST Format
TODO
Back to the topMSA Format
TODO
Back to the topDIM Format
TODO
Back to the topSTT Format
TODO
Back to the topSTX Format
The Pasti format is the most widely used format for emulation as it offer a good support of protected disk. Almost any floppy disks can be imaged using this format and it is supported by STeem emulator, and will be soon supported by by the Hatari emulator. It is also supported by the HxC2001 HW Floppy Emulator.
Unfortunately Ijor, the creator, has not published information on the STX format. However several people have described this format you can find information in Markus Fritze page, in P.Putnik page, and information from the HxC2001 software (pasti loader).
I have written a complete documentation about the Pasti file format. This documentation is based on the above information as well as email discussion with Ijor. I have also written a small program to read and write Pasti file. The reader display detail information about the data and metatdata inside a Pasti file. Along with the documentation it can help to understand the Pasti file format. The Pasti Reader/Writer is part of the public domain Air project (Atari Image Reader) that I have published in GitHub.
- The Pasti File Documentation
- The Pasti File Reader/Writer Program
- The Pasti File Reader/Writer developper documentation (Complete HTML documentation)
- The AIR public domain project
IPF Format
TODO
http://info-coach.fr/atari/software/projects/IPF.php#documentation
This page contains my documentation about the IPF file format as well as several modified versions of the IPF library source code.
IPF (Interchangeable Preservation Format) is a file format created by SPS (Software Preservation Society). It is used to preserve the content of old floppy disks for many platforms. IPF files are created by SPS people by analyzing stream files created with the Kryoflux Hardware.
The IPF file format has been made public under MAME license. This was done by releasing the source code of a library called the IPF/CAPS library. Unfortunately the content of the IPF file has not been documented by SPS people and the only way to understand it was to interpret the released source code that allow to read an IPF file. This is not felt as a problem by most user as the content of IPF files is supposed to be read through the IPF decoder library and written only by SPS people. But for those that want to better understand the format I have created a documentation of the IPF file format. This can be useful just for the sake of understanding the format as well as for people that want to read or write IPF file directly.
The original version of the IPF library released by SPS people do not compile under recent version of Microsoft C++ compilers and is poorly documented. For these reasons I have created a version that compile correctly under Visual Studio 2010/2012 as well as another version containing Doxygen documentation (on going project).
Back to the topIPF / CAPS Library Source Code
Original SPS Release
The IPF source code has been released by SPS people. Information on Kryoflux forum and SPS site.
Back to the topDrCoolZic Releases
- IPF Library Source Code V4.2A : This archive contains the modified version of the IPF source tree so that it compiles correctly with Microsoft Visual Studio 2010/2012. It also contains the sources of my IPFInfo program that dumps the content of an IPF file. See also All you always wanted to know about IPF subject on Kryoflux forum.
- IPF/CAPS Library 4.2B Documentation only (preliminary). This new version of the IPF source tree has more extensive modifications (mainly Doxygen information for documentation purpose) but should be totally equivalent to the original release by SPS.
IPF File Format Documentation
The following document provides a description of the IPF Files content (as read by IPF Library v4.2) produced by the SPS people using the CTA Analyzer program. The document also provides assistance on Decoding or Encoding IPF Files. It is based on my understanding of the IPF documentations published by Software Preservation Society but it also includes information based on experimentations and programing. I want to thanks István Fabián and Keir Fraser from SPS who have provided to me with a lot of detailed information about the IPF file (see All you always wanted to know about IPF in the Kryoflux forum).
The IPF internal content is described in the following document:
- Interchangeable Preservation Format (IPF) Documentation (release 1.2 September 2013) by DrCoolZic
However beware that the information presented in this documents comes from different sources and inevitably must contain errors and therefore must be used with caution. If you only need to read IPF files you should use the IPF library that will be be updated if the format of the file is changed.
Back to the top
SCP Format
TODO
http://www.cbmstuff.com/forum/showthread.php?tid=16
http://www.cbmstuff.com/downloads/scp_image_specs.txt
Back to the top
RAW
TODO
http://info-coach.fr/atari/software/projects/kryoflux.php#stream_doc
Back to the topReferences
- Atari Copy Protection Based on Key Disk
- Atari ST Protections from Markus Fritze
- Les Protections sur Atari ST/AMIGA (in French) de DlFrSilver.
- copy protection mechanisms
- Preservation Techniques available for Atari Users
- Atari Copy Protection Based on Key Disk - Jean Louis-Guérin
- Introduction to Copy Protection - Serge Pachkovsky June 91
- Speedlock Macro-Dos system for Amiga
- Rob Northen Copylock Backup/Restore program v 1.00
- Extracts from "Looking for Rob Northen originals images" thread
- Copylock Keydisk.s
- Copylock(tm) ST - Serial No. Program for the Atari ST/STE
- Compact Disc Copy Protection - Matthew Territo
- Citizen Micro Floppy Disk Drive Specification
- Weak Bits, Bit-rate var., data under index: Copy Protection
- Copy Protection details
- Looking for Rob Northen originals and
- Rob Northern Code Found
- Questions Regarding STT Images
- Copy II ST
- Looking for AntiBitos 1.4 by Illegal
- Most memorable Hack/crack
- Protected Disk Image Project Seeking Beta Tester
- Ideas about ST floppy image make program for PC
- Looking for DMA file under interrupt
- PASTI Project
- Mega STE Specifics
- Copy Protected Disks
- Gcopy DIM file
- ST Protection routines
- putting a second internal floppydrive in the STF..
- RamDisk and ATARI-ST Disk IO
- X-out original protected
- You should first read an article on protection "copy me I want to travel" from Claus Brod the expert who wrote the book Scheibenkleiste covering all sort of interesting details about floppy disks, hard disks, RAM disks, CD-ROMs and other mass storage devices for the Atari line. Unfortunately the book is in German and apparently out of print.
- Les Protection sur Atari ST at AitpaST site
- Atari ST Copy Protections
- Pasti File Format
- PROBING THE FDC LEARN THE SECRETS OF YOUR FLOPPY by David Small
- Atari Protected Disk Image Format & Atari Protected Disk Image Format
- Software Preservation Society (SPS) - originally Amiga but now support Atari
- floppy disk format
- PASTI Project
- DM Protection document
- Detailed analysis of the Dungeon Master and Chaos Strikes Back for Atari ST Floppy Disks
- US patent - Copy Protection for computer Disc 4,849,836
- An interview with Rob Northen
- Disk Backup Programs: Do they realy work
- SpinRight Technical note
- C64 Preservation Project (Commodore)
- Atari Disk Image FAQ
- Tim Mann's TRS-80 Pages
- MAGNETIC RECORDING
- The Central Point Option Board
- SpinRite's Defect Detection Magnetodynamics
- How to HD install Pacland (MFM format) using WHDLoad
- LIBDSK library for accessing discs and disc image files
- WinUAE Amiga Emulator
- Hard Disk Data Encoding / Decoding.
- Intel 82077AA FDC Datasheet
- Commodore C1581 - WD1770 FLOPPY DISK CONTROLLER
- PC87310 (SuperI/OTM) Dual UART with Floppy Disk Controller and Parallel Port
- The Great CRC Mystery Terry Ritter
IPF Links
- IPF Library Source Code Released
- All you always wanted to know about IPF
- IPF creation and disk writing via Kryoflux
- CAPS Library and API Documentation Revision 1.02
- SPS WIP: Time for an even more generic way to describe disk formats...
- SPS WIP: Analyzer: Generic MFM Support - Gap Analyzer
- SPS WIP: Analyzer: Generic MFM Support - Gap
- CAPS Source Code Release 4.2
- Amiga Disk Utilities & IPF creation and disk writing via KryoFlux by Keir Fraser
- Structure of descriptors and data for a track by Keir Fraser
- Atari Protection based on Key Disk by Jean Louis-Guerin
- KFAnalyze Program and documentation
- Microsoft Walk-through: Creating and Using a Dynamic Link Library
- Microsoft Walk-through: Creating and Using a Static Library (C++)
Back to the top