CiderPress Change Log
Return to main page.
CiderPress has five distinct components:
- [app] - the main Windows application. Holds MFC user interface code and an abstraction layer that makes SHK archives, BNY
archives, and disk images look alike.
- [reformat] - file converters. Reformat text and graphics into
formats more easily accessible under Windows. (This was part of [app]
- [mdc] - the Multi-Disk Catalog application. A small bit of UI code
that drives the DiskImg library.
- [util] - a library of functions shared between [app] and [mdc].
- [diskimg] - the disk image DLL. All access to disk images goes
through two classes exported by this library. The DiskImg class
imitates a device driver layer, abstracting away the different image formats and
allowing access via
track/sector, block, or nibble track. The DiskFS class imitates a File
System Translator (FST), abstracting
filesystem differences away to provide ProDOS-like file access on all
supported filesystems. This library can be built for Linux.
In addition, CiderPress uses the NufxLib library to access NuFX (ShrinkIt)
archives, and zlib to compress and expand ".gz" and ".zip" files.
v4.0.1 - 24-Aug-2015
- [app] Fixed "find" feature in file viewer.
- [reformat] Added support for displaying hi-res images compressed with LZ4FH.
- [reformat] Fixed handling of semicolons in Merlin assembly source conversion.
v4.0.0 - 23-Jan-2015
- [all] Moved sources from CVS on sourceforge.net to git on github.com.
- [all] Updated build system and source code to work with Visual
Studio 2013. As a result, WinXP or later is now required.
- [all] Added snapshots of NufxLib and zlib to source tree.
- [all] Much source code scrubbing.
- [all] Switched from MBCS to wide-character UNICODE APIs.
- [app] Converted help from WinHelp to HtmlHelp.
- [app] Added support for AppleSingle files.
- [app] "Open file" is much better about detecting file types.
Fixed double-click handling of DiskCopy images with resource forks.
- [app] File type association code now uses HKCU registry rather
- [app] File listing, file viewer, and many dialogs display filenames
containing non-ASCII Mac OS Roman characters (from HFS disks or ShrinkIt
archives) with correct Unicode characters.
- [app] Switched to "system" font for dialogs to take advantage of
ClearType (when available).
- [app] Fixed default size and initial position of file viewer.
- [util] Fixed file+folder selection dialog. Improved folder selection
- [diskimg] Fixed Linux build.
- [diskimg] Improved Gutenberg disk support.
- [reformat] Teach and AWGS converter now generate RTF with Unicode
values for non-ASCII Mac OS Roman characters. Outline and shadow
- [reformat] Listings of Applesoft programs with carriage returns in
REM statements now match LIST output.
v3.0.2-d1 - 19-Jan-2014
- [reformat] Fixed 640 mode palette offsets in SHR converter
v3.0.1 - 4-Jan-2009
- [reformat] Added Apple /// Business Basic support (David Schmidt).
- [reformat] Added Gutenberg doc support (David Schmidt).
- [diskimg] Added read-only support for Gutenberg disks (David Schmidt).
- [diskimg] Fixed CP/M 3.x disk recognition, and added support for
disks that store data in the first 3 tracks.
v3.0.0 - 25-Mar-2007
- [app] Removed shareware registration screens.
- [reformat] Added support for DreamGrafix images (thanks to Jason
v2.4.6 - 19-Feb-2007
- [app] Corrected handling of "AT" and "TO" keywords
when importing Applesoft BASIC from text.
- [app] Added preference to enable "bad Mac" archive handling.
- [general] Updated to NufxLib v2.2.0.
v2.4.5 - 3-Dec-2006
- [diskimg] Fixed a bug that deferred some floppy disk writes until the
volume was closed. The bug increased the likelihood of a floppy being
ejected while the filesystem was in a bad state.
v2.4.4 - 7-Oct-2006
- [app] Fixed bug in Applesoft BASIC import that caused it to use the
shortest matching keyword instead of the longest (ON ERR vs. ONERR, HGR 2 vs. HGR2).
- [app] Applesoft import now capitalizes characters not in DATA/REM
statements or quoted text (e.g. variable names).
- [reformat] Added recognition and conversion of "formatted" Magic
- [reformat] Tweaked Merlin assembly source reformatter to track quoted text
in operand field. This avoids inserting spaces into string constants
for "laundered" Merlin sources and DOS ED/ASM sources.
v2.4.3 - 3-Sep-2006
- [app] Fixed a bug that prevented ShrinkIt archives on read-only volumes,
such as a write-protected floppy disk, from being opened.
- [app] Fixed a bug that prevented files from being extracted to the root
directory of a volume, e.g. "C:\".
- [diskimg] Fixed a bug that prevented ShrinkIt archives with odd extensions
(e.g. "archive.txt") from being opened.
v2.4.2 - 16-Jul-2006
- [app] Use disk geometry call added in WinXP to get accurate sizes of
physical disks for "open volume" display.
- [app] Added option to allow writes to physical disk 0. Needed on
some Windows systems.
- [diskimg] Added support for Parsons Engineering FocusDrive partitioning.
(Thanks go to Ranger Harke for providing detailed information.)
v2.4.1 - 17-Jun-2006
- [app] Disable HFS types for non-HFS disk images.
- [app] Don't crash on zero-length text files in Merlin format detector.
- [diskimg] Various cleanups.
v2.4 - 20-Feb-2006
- [app] Handle HFS file type and creator type in the "Edit
Attributes" dialog. Applies to HFS disks and ShrinkIt archives.
- [app] Allow creation of HFS disk images.
- [app] Sanitize filenames for file list. This is mainly for HFS
filenames with "Macintosh Roman" high-ASCII characters, but it
also helps for some sector-edited ProDOS disks.
- [app] Added "Tab" as keyboard accelerator for file viewer.
- [app] Added "Paste Special" to Edit menu.
- [app] Show progress/cancel dialog when scanning disks. Especially
handy for CD-ROMs with lots of ProDOS volumes.
- [app] Fixed handling of unquoted text in DATA statements for Applesoft BASIC import.
- [app] Fixed handling of "reserved" MS-DOS filenames (CON, PRN,
addition to stuff like "con" we now fix up names like
- [reformat] Added reformatting of Merlin source code (tabbing the fields
properly). It does a reasonable job of telling the difference between
Merlin source and other kinds of text files.
- [diskimg] Added support for HFS volumes up to 2GB.
- [diskimg] Recognize certain not-quite-standard MacPart images.
v2.3.2 - 10-Jan-2006
- [app] Added "find file" in file listing, and "find
text" in file viewer.
- [app] Added D13 to Disk Image Converter and Bulk Disk Image Converter
- [app] Added D13 to New Disk Image.
- [app] Fixed "Reopen" so it works with volumes.
- [diskimg] Added D13 support.
- [reformat] Added converters for LISA tokenized assembly source code.
Three different versions, corresponding to LISA v2.x, v3.x, and v4.x/5.x,
v2.3.1 - 11-Dec-2005
- [app] Added Applesoft program import from text file.
- [app] Added "Reopen" to file menu.
- [app] Fixed filename handling bug in paste function.
- [app] Fixed "overwrite all/none" feature (file extraction).
- [reformat] Fixed wayward assertion in BASIC conversion.
v2.3.0 - 17-Oct-2005
- [diskimg] Don't try to create disk images >= 2GB unless they're
- [diskimg] Correctly identify HFS images with close to 65535 allocation
- [diskimg] Handle a couple of weird ProDOS cases that were causing assert
failures on specific disks.
- [app] Set up the "new disk" dialog properly after a blank disk
image is created.
- [app] Added "reduce error checking" option for ShrinkIt
archives. This enables "ignore CRC" and "ignore LZW/II
- [app] Added AppleLink Compression Utility (.ACU) support. This was
done by reverse-engineering the file format, so there may be some
unsupported features. For example, the format appears to support some
sort of checksum on the data, but the method isn't yet known.
- [reformat] Identify and convert PrintShop GS monochrome clip art.
- [general] Update to latest versions of NufxLib and zlib DLLs.
v2.2.0 - 5-Jun-2005
- [app] If we're trying to add two files with the same name to a NuFX
archive, allow the user to rename the second one. (Note this is
different from adding a file to an archive in which the file already
exists. The fix is for a situation that can only happen when pathnames
or file attribute strings are stripped;
otherwise, CiderPress just stores the full Windows pathname.)
- [app] Conversion between fixed-length and variable-length nibble formats
is done by converting to and from 16-sector data. This doesn't work
for 13-sector disks, so don't allow it in the UI.
- [diskimg] Added basic support for FDI "raw" disk images (these are
Apple II disks read on a PC floppy drive). 5.25" and 3.5"
images are supported. Currently read-only.
- [mdc] Show approximate volume size, in KB.
v2.1.4 - 21-Mar-2005
- [diskimg] Scan for MicroDrive and Macintosh partitioning before CFFA.
(Otherwise a CFFA-formatted volume that is re-partitioned for MicroDrive
could still be recognized as CFFA until the original volume directories are
- [diskimg] Corrected MicroDrive partition length handling.
v2.1.3 - 16-Feb-2005
- [diskimg] Added support for ///SHH Systeme's MicroDrive partitioning.
- [diskimg] Detect and report ProDOS volume bitmap entries that indicate
used blocks past the end of the disk.
- [app] Under Win9x/ME, newly-created disk images are now explicitly zeroed
out. (Under Win2K/XP, new files are automatically filled with zeroes.)
- [app] Fixed a null reference when creating "blank" (unformatted)
v2.1.2 - 23-Dec-2004
- [app] Increased maximum expected number of programs on cassette (was set
- [app] Don't allow spaces to be typed when entering registration key.
- [app] Added Ctrl-W as an alias for File->Close.
v2.1.1 - 2-Dec-2004
- [diskimg] Correctly handle ZIP archives with truncated
- [app] Tweaked cassette decoder slightly. Added new conversion mode.
- [app] Allow changing of filename separator character in NuFX archives.
- [app] Allow changing file type and aux type on DOS 3.2/3.3 disks.
(Use at your own risk.)
- [app] Fixed display of file type description in "edit
attributes" dialog for DOS and Pascal disks.
- [reformat] Corrected spacing on "illegal" keywords in Integer
v2.1 - 16-Nov-2004
- [diskimg] Added support for 160K DOS.MASTER partitions embedded in 800K ProDOS
- [diskimg] Binary files added or pasted to DOS disks no longer lose their
- [diskimg] Zero-length binary files are now properly created on DOS disks.
- [app] Added cassette tape WAV decoder.
- [app] Double-clicking on a file without a data fork now correctly opens the resource
fork for viewing.
- [app] Fixed bug that caused cutting & pasting DOS files into a ProDOS
directory to be named incorrectly.
- [reformat] Added CP/M text conversion (stops at first Ctrl-Z).
- [reformat] Added monitor-style machine code listing (//e and IIgs
modes). Includes NiftyList annotation.
- [reformat] Added generic IIgs text file (GWP) conversion. Accented
characters and some symbols are converted from the IIgs font to the Windows
- [reformat] Added Teach (GWP $5445) conversion. Found a font mapping
that looks pretty reasonable.
- [reformat] Added AppleWorksGS Word Processor (GWP $8010) conversion.
- [reformat] Added Print Shop and Print Shop GS clip art to BMP conversion.
- [reformat] Fixed yet another bug related to AWP margins.
v2.0.1 - 18-Oct-2004
- [diskimg] Improved CP/M disk image recognition.
- [diskimg] CP/M files with bad block lists are now displayed as
- [diskimg] Corrected handling of CP/M files with the same name but
different user numbers.
- [app] Corrected version-dependent behavior in Rich Edit control that was
causing the file viewer "print" function to hang, particularly
when used to print "raw" files. (Thanks go to Allan Sutton
for some marathon e-mail ping-pong sessions while tracking this down.)
- [app] Don't try to copy damaged files.
- [app] Added OFN_HIDEREADONLY to all "save" dialogs. For
some reason Win98 was allowing the user to set the "open as read
only" flag, which makes no sense when saving a file.
v2.0.0 - 13-Oct-2004
- [diskimg] Added access to logical and physical volumes under Win2K/XP and
- [diskimg] Added SPTI and ASPI interfaces for reading CD-ROM drives.
- [diskimg] Added CFFA-partitioned volume support for CF cards.
- [diskimg] Added Macintosh disk partition support for CD-ROMs and hard
- [diskimg] Added HFS and MS-DOS FAT recognition.
- [diskimg] Added ability to delete and rename files, rename volumes, set
file info, and create directories in ProDOS. Generalized support for adding files.
- [diskimg] Added add/delete/rename/set-file-info/rename-volume for DOS3.3.
- [diskimg] Added add/delete/rename/set-file-info/rename-volume for UCSD
- [diskimg] Switched to 64-bit file offsets throughout, for access to images
of 2GB+ hard drives.
- [diskimg] Upgraded to zlib DLL v1.2.1. Added workaround for damaged gzip
files that zlib v1.1.4 didn't complain about.
- [diskimg] Upgraded to NufxLib DLL v2.0.3. Minor bug fixes and
- [diskimg] Added support for single-entry ZIP archives with disk images
- [diskimg] Corrected handling of ProDOS volume name capitalization flags.
- [diskimg] Added notes to disk image objects, so that warnings and comments
about filesystem damage can be presented in the "archive info"
screen. Added notation of "suspicious" files, e.g. ProDOS
files whose blocks fall within the limits of the image file but outside the
claimed number of blocks in the ProDOS volume header.
- [diskimg] Updated 2MG handling to support comments and "creator"
- [diskimg] Improved recognition of DOS 3.2/3.3 disks with short catalog
- [app] Added "open volume" command for CF cards, floppies, CD-ROM
drives, and Apple II hard drives.
- [app] Added tool to copy whole disks or partitions to and from Windows volumes.
- [app] Added disk image creation tool (DOS33, Pascal, ProDOS, blank).
- [app] Added a dialog to the disk sector viewer that lets the user choose to open
a disk image file, a Windows volume, or open the image that's currently
being viewed by the main application.
- [app] Added menu interaction for adding, deleting, and renaming files to
"disk archive" interface layer.
- [app] Added copy & paste between archives and disk images, with
automatic DOS text conversion.
- [app] Added "archive info" feature. Displays information
about currently open archive or disk image.
- [app] Added "save changes" feature. Useful for flushing
changes to compressed disk images.
- [app] Make a "ding" sound after successful completion of most
- [app] Moved disk image preferences to their own tab. Moved "use
sparse allocation" and "allow lower case" from the
file-to-disk converter to the main Preferences section, since they now apply
to other operations (like adding files to ProDOS disks, and creating blank
- [app] Redesigned file viewer. Added buttons for
data/resource/comment parts, and a drop list from which format options can
be selected. Added a "print" button.
- [app] Fixed a long-standing bug that would occasionally prevent a graphic
from being displayed as a bitmap.
- [app] Added UI for renaming volumes and creating subdirectories.
- [app] Added EOL conversion to Add Files dialog when adding
files to disk images. Added a fourth option, "convert by
type", to Add Files and Extract Files.
- [app] Added EOL Scanner tool.
- [app] Added 2MG properties edit tool.
- [app] Show name of registered user in title bar, or
"(unregistered)". Subtle reminder to
register the product.
- [app] Hitting DEL with no files selected no longer offers to delete all
- [reformat] Created [reformat] library by splitting the code out of the
main application. Redesigned the API.
- [reformat] Added a formatter for Pascal code files (PCD). It just breaks
the file into segments and dumps each individually.
- [reformat] Added converter for Paintworks PNT/$0000 SHR graphics.
- [reformat] Added color syntax highlighting to Applesoft/Integer converters
(it used to show keywords in boldface; this is better).
- [reformat] AppleWorks WP embedded codes, like "insert today's date
here", are now displayed in blue text.
- [reformat] AppleWorks WP left/right margin commands now work better.
"Full justify" has been added, though you won't see it unless you
paste the text into Microsoft Word.
v1.2.5 - 7-May-2004
- [diskimg] Added support for TrackStar 40-track ".app" nibble
- [diskimg] Added workaround for slightly broken 'WOOF' 2mg files.
- [diskimg] Added "DOS 3.3 ignore checksum" to set of parameters
available in the sector viewer. Useful for looking at nibble formats
with bad (but perhaps partially recoverable) sectors with failing data
- [app] Added TrackStar to disk conversion tools. Added warning when
converting between nibble formats with differing track lengths.
v1.2.4 - 10-Mar-2004
- [diskimg] Updated creation of DiskCopy 4.2 images to match output from
Mac. Specifics: volume name of ProDOS disk is now stored (instead of
"not a Macintosh disk"); dummy 19K "tag" section has
been added; UNIDOS disks are stored in DOS sector order rather than ProDOS;
length byte on "not a Macintosh disk" string incremented.
- [diskimg] Fixed a problem preventing auto-detection of some RDOS
disks. Only caused problems in non-debug builds (ugh).
- [app] Updated the disk conversion and bulk disk conversion tools to handle
- [nufxlib] NufxLib was updated to v2.0.2. The new version handles
poorly-constructed archives created by a very old version of ShrinkIt.
v1.2.3 - 16-Oct-2003
- [app] Pascal "xdsk" files are now shown with type $01 (BAD).
- [nufxlib] NufxLib was updated to v2.0.1, which includes a workaround for
bad GS/OS option lists as well as the ability to skip over junk at the start
of the archive (e.g. vestigal MacBinary headers or HTTP messages, common on
v1.2.2 - 22-Jul-2003
- [app] Added AppleWorks spreadsheet to CSV conversion.
- [app] Added MacPaint graphics conversion. Many of my test files seem
to have some amount of corruption, so dealing with that gracefully is
- [app] Fixed a bug that prevented extraction to network volumes from working
- [diskimg] Fixed up the CP/M implementation a bit. File lengths are
now determined more accurately, and the "read-only" flag is
obeyed. Sparse files are handled correctly now.
v1.2.1 - 14-Jul-2003
- [app] Added S-C Assembler to text conversion.
- [app] Added AppleWorks database to CSV conversion.
v1.2 - 08-Jun-2003
- [app] Added DDD to disk conversion tool.
- [app] Further relaxed the "relaxed" criteria for identifying
hi-res images on DOS disks. We no longer insist that the auxtype be
$2000 or $4000.
- [app] Fixed wayward assert() during decoding of Apple Preferred Format
- [app] Show empty comments with a different icon, so you can immediately
tell when a comment has something interesting in it.
- [app] Added "edit attributes" for NuFX archive entries.
Uses the NuSetRecordAttr interface to change file type, auxtype, and access.
- [app] Fixed Apple Preferred Format graphics handling to support images up
- [app] Show folders in file list (only possible on ProDOS disk
images). Allow them to be selected and viewed, but ignore them when
- [app] When creating a new archive, existing files would not be overwritten
even if you said "yes" to overwriting them. This is fixed.
- [app] Added conversion from disk image to file archive. Extract
files, converting DOS text where needed, and stuff them into a new ShrinkIt
- [app] Added framework for conversion of file archive to disk archive.
- [app] Save/restore the checkboxes for the set of threads selected in the "view"
- [app] Added file viewer converters for ProDOS directories (dump as 80-column
"catalog" command) and resource forks (break down into individual
resources and dump as hex).
- [app] Added bulk disk image conversion. This required a minor
refactoring of the disk image converter and some additional UI and logic.
- [diskimg] Added RDOS support. Includes 13-sector, 16-sector, and
"cracked" 13-to-16-sector formats.
- [diskimg] Added DDD support. Output is identical to DDD Pro
v1.1. Getting it to work with DOS versions of DDD (e.g. DDD 2.1) is a
bit of a chore because the format was poorly designed, but it works.
- [diskimg] Expanded disk usage map entries from 4 bits to 8. A
hypothetical graphical disk usage display would have more interesting things
- [diskimg] Reshuffled internal handling of open files.
- [diskimg] Added ability to format an arbitrarily-sized ProDOS volume
(including boot blocks).
- [diskimg] (Big) Added limited support for adding files to a ProDOS volume.
- [diskimg] Create a "fake" entry for the ProDOS volume directory.
v1.1 - 17-Apr-2003
- [app] Added disk conversion tool (mostly UI).
- [app] Added SST merge tool (UI and implementation).
- [app] Rewrote preferences implementation to be less annoying. Use
"My Documents" as default folder.
- [app] Added preferences for three folders: open archive, add file, and
extract file. These are now applied to the standard file dialogs, so
the folders used most often are saved.
- [app] Replaced "SPARSESPARSESPARSE" block-fill message with a
simple message that tells you the block is sparse. Much easier to read
and understand. Did similar things for empty files on CP/M disks and
unreadable sectors on NIB images.
- [app] Added nibble viewer to block/sector viewer.
- [app] Added sector parm selection to disk viewer. Change from DOS
3.2 to DOS 3.3 on the fly.
- [app] Added "open as disk image" to "Actions" menu and
right-click menu. This is very handy for disk images stored inside
other disk images, e.g. a Copy ][+ $F1 image file stored inside a ShrinkIt
- [diskimg] Added support for .NIB and .NB2 images. This required
adding 6&2 and 5&3 encoders and decoders, a flexible sector
read/write function, nibble track read/write/format, and some nibble image
- [diskimg] Added ability to create writeable disk images and copy data into
them. All formats that can be opened can also be created.
- [diskimg] Generalized gzip wrapper handling so it works with everything
(except NuFX, due to NufxLib limitations).
- [diskimg] Altered disk image recognition functions so odd-sized ProDOS
volumes are handled.
- [diskimg] Allow images to be accessed by block, sector, or nibble track,
with one or more methods disabled (e.g. no nibble access on 800K disks, and
no block access on 13-sector nibble images).
- [diskimg] Due to radical interface changes, DLL renamed to
- [mdc] Show the filename in the title bar. Useful if you're scanning
a large set of images in the background because it causes the icon bar at
the bottom of the screen to update. (Probably only necessary if the
window is minimized, though there's currently no way to do that.)
v1.0 - 19-Mar-2003