December 17th, 2014

Andy McFadden updates CiderPress and NuLib2

After several years of quiet bit-rot, CiderPress and NuLib2 have received a new coat of paint.

Both projects are now in git repositories on, migrated from their CVS repositories on NuLib2 still lives at, with sources in CiderPress has a new github-hosted domain,, and its sources are at

The updates to NuLib2 were fairly minor — some changes to the build and config scripts, mostly to get it to work with Visual Studio 2013, and a few tweaks. The new version is v2.2.2.

The updates to CiderPress were more significant. It now requires WinXP or later — Win98/ME/2K will not work — so I’ve bumped to the next major version, v4.0.0. This is still a work in progress, but it seems stable and offers some usability improvements over 3.x, so I’m releasing it as a “development” version (4.0.0d1) for people to play with.

A summary of changes, starting with the user-visible stuff:

(1) File+folder selection dialogs fixed

Windows has standard dialogs for selecting files. With Vista it even gained a standard dialog for selecting a folder. Selecting a collection of both files and folders is still very difficult. The previous release of CiderPress used “old-style” dialogs, the new release uses “explorer-style” dialogs. Other file selection dialogs, such as for opening an archive, use the current “vista-style” dialogs. It would be more visually appealing if all the dialogs looked the same, but vista-style dialogs don’t exist on WinXP.

The most significant impact of all this is that the Accept button in the Add Files dialog should no longer go AWOL.

(2) Help system updated

CiderPress used WinHelp, but recent versions of Windows dropped the WinHelp viewer, requiring a separate download. To complicate matters further, the help file was developed with HelpMatic Pro, which used a proprietary format and didn’t provide a way to get at the “raw” help data. I decompiled the WinHelp output file and used HelpScribble to convert it to HtmlHelp. The HTML sources are now checked into the source tree.

It appears that HtmlHelp is on its way out, so this is probably just kicking the can a bit farther down the road, but converting the help file from a proprietary format to HTML is a useful first step.

(3) File type associations fixed, sort of

You’ve probably seen installers that ask whether you want to install for all users or the current user. In recent versions of Windows, the registry keys for the machine have tighter access controls than the keys for the current user. This caused the code that handled file type associations by manipulating HKEY_CLASSES_ROOT to break.

The correct way to deal with this is to let the installer set and clear the associations, and use the Windows control panel to make any changes. The DeployMaster-based installer currently has a UI limitation that prevents it from showing all 18 file types that CiderPress handles, which means it may not give you an opportunity to prevent CiderPress from taking charge of a file extension.

So I’m keeping the file type association code in CiderPress, but now it only affects the current user rather than all users on the machine. The current-user entries take priority over the local-machine entries, so it generally works, but it may fail to recognize a previous entry that only exists in the local-machine part of the registry.

(4) Build system changes

CiderPress 3.x required Visual Studio 6, which was released in 1998. Getting VS6 installed on Windows 7 was something of an exercise, and I don’t expect that to get easier. My goal is to keep CiderPress going for another 10 years, so I updated everything to work with Visual Studio 2013.

This required a pretty significant revamp of the project/solution files, and I took the opportunity to rearrange the output directory layout a bit. The automatic conversion of the project files left a bit to be desired, but I think I’ve hammered out most of the weirdness.

In the past, NufxLib and zlib were built externally, and included as pre-built libraries. This was annoying, so now the CiderPress project includes source code snapshots, and just builds them from scratch.

Building for WinXP in Visual Studio 2013 requires selecting a WinXP-compatibility Platform Toolset, and including a couple of hefty redistributable libraries in the install package. Because of the popularity of WinXP, I went ahead and made these changes. If WinXP ceases to be interesting, we can shave a few MB off the size of the installer.


Many Windows APIs come in two flavors. When you call SomeFunction, a header file remaps it to SomeFunctionA or SomeFunctionW, depending on whether you have “MBCS” or “UNICODE” defined. Use of the older ANSI / Multi-Byte Character Set APIs are discouraged in favor of the UNICODE / wide-character APIs.

CiderPress v3.x used MBCS. The new release uses UNICODE, which meant changing a lot of code to use wide-character UTF-16 strings for the UI and filenames.

The diskimg and nufxlib libraries still work with narrow-string filenames. This makes some sense for names of files on Apple II disk images, but will need to be fixed for the names of files on local disk. The code made some effort at separating “storage names” from Windows pathnames, but not nearly enough. (Nine years of Java has improved my understanding of character set issues.)

(The use of Unicode strings creates an opportunity for improvement: we can use “Mac OS Roman” characters. The IIgs used the Mac definitions for high-ASCII values, and there’s an official Unicode definition for each value. The current code bludgeons Mac OS Roman into Windows CP1252, which can screw up filenames on HFS volumes and in ShrinkIt archives created from HFS data.)

(6) Source code and documentation improvements

Various minor improvements have been made to the source code. Visual Studio discovered variadic macros in 2005, so the debug log macros have been redone. Variables with specific bit widths now use appropriate types, e.g. “uint8_t” replaces “unsigned char”.

The README text has been ported to markdown for easy viewing on github. The diskimg README was expanded, and a Linux build README was added.

The current state of testing can be summed up:

+ All basic features have been exercised on Win7. Some light testing has been done on WinXP.
+ CF cards and HFS CD-ROMs work (tested on Win7).
– No testing on Vista or Win8, as I have no machines running those.
– No testing of SCSI-attached devices, due to lack of SCSI card. Win7 disallows access to the boot volume, not sure what it will do with an external drive.
– No testing of 3.5″ floppies, due to lack of 3.5″ floppy drive.

Because the testing is a bit thin, and because I’m not done adding features, this is a “development” release. v3.0.1 is still the official “stable” release. From a user perspective, 4.0.0d1 is feature-equivalent to v3.0.1.

Win32 installers for the various releases can be found on

NOTE: the 4.0.0d1 executable has debug logging enabled. It will try to create a file called “C:\Src\cplog.txt”. If it succeeds, you’ll get a running commentary of CiderPress activity. This can be handy if something fails.

November 29th, 2014

Kevin Smallwood to release GBBSPro under the GPL

Kevin Smallwood announced in the Facebook Apple II Enthusiasts forum that he intends to release the GBBSPro bulletin board system (along with ACOS and other related products) under the GPL. Kevin is the current owner of the GBBSPro product.

To my fellow Apple // fans. Tony Diaz and I are going to GPL the GbbsPro source code. Stay tuned. -Kevin Smallwood

Tony Diaz has a huge collection of GBBSPro/ACOS material, so in tandem, they will be releasing a literal treasure trove of Apple II telecommunications history and source code. We could even see a resurgence of interest in good ol’ fashioned Apple II BBS’ing, as several people have expressed their desire to update the code to support telnet access.

November 25th, 2014

David Schmenk releases updated PLASMA

PLASMA for the Holidays

(For all you programmer types looking to escape from the relatives this week)
Just like last year, here is an update to the PLASMA sandbox (an Apple II IDE to play around with PLASMA). It is (sort of) self-documenting progression through some PLASMA example code. PLASMA has grown up a lot since last year. With much input from actual users, it now resembles a real language. It has also sped up quite a bit, about 25-30% over the previous version. By speeding up the VM, I was able to remove the native compiled routines, which sped it up but at the expense of a large increase in memory usage. So now, all the examples can be loaded and compiled in the sandbox. You can download the disk image from GitHub here:
Don’t forget to check out the documentation on GitHub as well:
Any and all feedback appreciated. Enjoy,

November 7th, 2014

French Touch releases new demo ‘Unlimited Bobs’

You can get more info and download French Touch productions from

October 3rd, 2014

La French Touch revient !

The French Touch, a group of French programmers, strikes back with Ibiza. It is a Double Low-Resolution animation running on an Apple II with 128KB of RAM. And read more information about Ibiza at

October 1st, 2014

Open Apple #39 (Sept 2014): Gary B. Little, New Segments, Apple IIc Cards

This month on Open Apple, we talk to Gary Little, prolific author of many technical reference books about various models in the Apple ][ line. In addition to writing great books that go deep on the hardware, Gary also wrote lots of great software, including such gems as AmDOS, and the popular Point To Point modem communication software.

We also catch up on all the news (there’s lots!) and take some cheap shots at other podcasters along the way. Join us as we talk about open source hardware, GS ports of great arcade games, the joy of redialing, and DClocks. So many DClocks!

September 9th, 2014

AppleWin 1.25 nearing completion, now in release candidate stage

AppleWin 1.25, the leading 8-bit Apple II emulator for the Windows platform, is now in it’s release candidate phase. That means features and fixes for this version are pretty much set. This will also be the last version of AppleWin to support Windows 98. All future versions will require Windows 2000 or later.

A summary of changes, features and fixes can be found here. Download: AppleWin 1.25RC

August 11th, 2014

Ivan Drucker announces updates to A2SERVER, A2CLOUD for Raspberry Pi

I’m pleased to announce updates to A2SERVER and A2CLOUD. They run on a Raspberry Pi, a premade downloadable virtual machine, or any Linux computer. Get them and read about how to set them up at If you’re already running and want to update, type ‘a2server-setup’ and ‘a2cloud-setup’.

Raspple II, the “suite” which makes it easy to load a Raspberry Pi with A2SERVER and A2CLOUD, along with David Schmenk’s Apple II Pi, has also been updated to include the new versions. It’s at

A2SERVER is a free file server and network boot host for Apple II computers. Version 1.2.0 has the following improvements:

– supports Raspberry Pi Model B+
– handles potential AppleTalk-related crash on newer Linuxes (e.g. latest Raspbian)
– starts up faster
– installer script is much faster on Raspberry Pi and Debian x86
– virtual machine is available with A2SERVER only, or A2SERVER+A2CLOUD

A2CLOUD is a free internet access device, virtual drive, and floppy transfer tool for any Apple II. Version 1.7.1 has the following improvements:

– supports Raspberry Pi Model B+
– supports non-Raspberry Pi computers and virtual machines (no longer “beta”)
– Uses ADTPro 2.0.0 for faster floppy transfer, and easier file selection
– KEGS and Linapple are installed on non-Raspberry Pi computers
– installer script is much faster on Raspberry Pi and Debian x86
– adds unbit/unexec/usq unarchiving tools
– available in a premade virtual machine


July 31st, 2014

Dagen Brock introduces Crusty Coders site for Apple IIGS programmers

This is a place to learn about programming the Apple IIgs.

This came about as a result of a conversation with fellow Apple developers who, like myself, found a lack of centralized resources for Apple IIgs specific documentation. This is just an early design and a place to start putting the information together. The goal is to add the ability for user contributed content via a wiki, forums and other collaboration tools. For now, it’s really just beginning, but I hope you enjoy it and if you’d like to help out, let me know via the contact page (once I make one).

You can find it at (currently resolving to

July 26th, 2014

KansasFest Day 3


Andre Lozano greeted early risers with the first session of the day. Andre was part of the group that restored disks from the collection of Chris Marker, a French film director, writer and early pioneer in multimedia computing and authoring. Chris was interested in how computers and humans interacted emotionally (something retro-computists can easily identify with). He developed a program called ‘Dialector’ that explored these emotional responses which were similar in concept to the famous ELIZA program and it’s variants.

If you haven’t seen Jason Scott in person, it should be something on your short ‘to-do’ list; he’s like a Kung-Fu kick to the psyche (but in a good way). Jason is a natural and entertaining speaker with a passion for his work with the Internet Archive. He’s been busy JSMESS emulation project (try it, you’ll be floored), in addition to scanning of magazines, books and disks from all sources retrocomputing. Jason shared some good news, apparently museums, other archival organizations (and even copyright holders like Atari) are waking up to the need to preserve and protect our digital history and are supporting projects like the Internet Archive. Perceptions are changing; it’s no longer a matter of digital piracy, but of digital preservation.

Ken Gagne announced that Juiced.GS continues to thrive as the last, and longest running Apple II print magazine ever. Publishing will continue into 2015 at the same rates as before! Also announced, some money-saving bundles for digital copies of back issues. See site for details.

Ch-ch-ch-changes to the schedule created an opportunity for an impromptu but very productive programmers roundtable event.

Charles Mangin and friend then gave us a tutorial on the various types of 3D printing that are available. During the session, he produced a few key caps as practical examples of what can be achieved for the retrocomputing hobbyist.

Next up, Quinn Dunki discussed her personal journey of discovery with ‘Veronica’, a homebrew 6502 based computer she built from scratch. Quinn put in about 5 years of work designing circuits and PCB’s as a learning exercise reminiscent of Steve Wozniak’s Apple 1 endeavor. You can read about on Quinn’s blog.

Michael Sternberg next demonstrated how Sir-Tech’s ‘STAR SAGA: ONE, Beyond the Boundary’ can be played over the internet using the VASSAL Engine. According to it’s site, ‘Vassal is a game engine for building and playing online adaptations of board games and card games. Play live on the Internet or by email. Vassal runs on all (modern) platforms, and is free, open-source software.’ Wow, I didn’t know this existed and it’s very cool. I can’t wait to try it out.

Pizza happened next, which was a much appreciated, welcome break from the yucky, uninspired, tasteless (and occasionally mysterious) food we’ve been getting from the cafeteria. Wow Rockhurst, we LOVE you, but the food has been disappointing this year. I think I lost weight just by looking at what was on my plate. Thanks?

The evening’s activities wrapped up with the annual group photo, best wacky tie (hey, I won!) contest and a few late evening sessions.

We have more than a few Podcasters present this year. I saw them massed around a microphone recording a joint podcast. I’m looking forward to that podcast — it should be interesting.

David Schmenk demo’d Apple II Pi (because he still gets asked ‘what is it?’).

Anthony Martino announced the upcoming A2Pi 6.5 card (with numerous improvements). We hope to have pics and a press release for that soon.

Lastly, Tony Diaz led a class on repairing floppy disk drives. Attendees were free to bring their malfunctioning drives for diagnostics and repair, because if Tony can’t fix it, probably no one else can.

Wow it’s late. I’m tired but staying up late tonight. I’ve managed to return 3 Transwarp GS boards from my personal collection back to the community so far. I’m using the proceeds to fund additional Garage Giveaways, recoup shipping expenses, etc. I’m probably going to list a few more on eBay before long.

Tomorrow, I’ll probably sleep in. Saturday is the last official day of KansasFest and I can’t tell if we’re winding up or winding down. One thing is for certain, this has been a great year.

« Previous Entries | Next Page »