Eric Shepherd, author of the Sweet16 emulator for the Mac, posted an announcement today about the status and future plans for Sweet16. He starts with a comforting “this isn’t a death announcement!”, then continues:

With that out of the way, I know it’s been a while since the last update to Sweet16, and that it is in need of one. Here’s what’s going on right now.

First, my health has been troublesome for the last several years, as many of you know, with some issues gradually worsening even while others are being controlled through treatment. This has been a drain on my time, and the treatments have tended to leave me with little energy for work on anything non-essential, so I focus on my day job and my family the best I can.

Second, there are technical issues at play. I have started work on a major update to Sweet16 which involves rewriting parts of the code from the old Carbon API into the modern Cocoa one, since Carbon is deprecated and pieces of it are increasingly unreliable. The code as it stands is not a shippable product because of its partially-converted status.

I have become aware of certain issues with the currently available version of Sweet16 (3.0.3) that make it hard to use in certain cases. I am going to attempt to get things situated so I can do an update to fix at least some of these problems sometime before the June solstice.

The sticking point there is that the version of Xcode I used to last work on Sweet16 doesn’t run on the version of macOS I run anymore, and the code won’t build on the current Xcode. So I have decided to set up a virtual environment to use for future work on older versions of Sweet16 so that I can get these updates done.

I’m aware of a few issues I will try to address in this winter/spring (Northern Hemisphere) update.

The latest discovery: I’d gotten some reports of the command and option keys not working right, but hadn’t been able to reproduce it until I realized that this is happening only in software checking them by reading the joystick button flags. That led me straight to the correct solution: the code handling this is looking for a game controller to be present; if one is, then that controller is checked. The keyboard is only checked if there are no game controllers (joysticks or gamepads) connected. I will update the code to check both regardless and report the button down if EITHER or both are down.

I will try to resolve issues related to game controllers not working reliably, but I make no promises. The libraries for this changed over the years and I may not be able to fix this until I resume work on Sweet16 4.0.

I’ll also make some changes to handling of disk images to allow any .po image to be created and used instead of only allowing them for floppy-sized disks. When this code was first written, .po was strictly used for floppy disk images, but that’s changed over time and Sweet16 didn’t keep up with that change (mostly because I didn’t realize it had happened until long after it had — oops!).

There are a few other issues that I’ll look at. The goal is to go after stuff that’s either extremely critical or easy to fix only, just to ensure I get something out. The more I try to put into this update, the more likely it is to get delayed by my health issues.

I’m sorry that work on Sweet16 has been so slow. I have big plans and am pushing hard to get my health situation on track but it’s difficult. I will get this smaller update out, though, no matter what it takes, as soon as humanly possible.

Thanks for your support, and Apple II forever!

Hopefully he’s able to make this happen. He’s missed some planned and hoped-for release dates in the past due to his health, but let’s all hope for the best, and that he is also able to get back to work on Sweet16 4 as soon as possible!