Sweet16™ for Mac OS X

Freeware
Current version: 1.7.3
Requires Mac OS X 10.4

About Sweet16

Screenshot

Sweet16 is the most capable Apple IIgs emulator for computers running Mac OS X. Based on the BeOS version of Sweet16, which was in turn based on the outlandishly popular Bernie ][ The Rescue, its code is mature and positioned to have more and better features added over time. Apple IIgs fanatics and nostalgic '80s junkies alike will love Sweet16!

Sweet16 2.0 is currently in development. If you're trying it out, please feel free to visit my bug database to check out the status of known bugs or to file bug reports of your own!

Sweet16 Features

Universal Binary
Sweet16 for Mac OS X is a Universal Binary, running natively on both PowerPC and Intel processors.

Sound and Music

Sweet16 fully emulates the Ensoniq 5503 Digital Oscillator Chip that powers the Apple IIgs sound system. Play games and music with full-quality sound, including full stereo support.

Print from Desktop Applications
Desktop applications that use the Apple IIgs Print Manager can print using a custom LaserWriter driver (included). Printed output appears in the Mac OS X Preview application, from which you can save the output in PDF format or print it to any Mac-compatible printer.

Disk Image Management
Create disk images right from within Sweet16. You can also eject, mount, lock, and unlock disk images using a simple user interface. Easily access recently-used disk images.

Use Your Favorite Software
Sweet16 should run almost anything you throw at it. Certain copy-protected games won't work correctly, but there are very, very few that won't.

Total Control
Pause and resume the emulator. Keep an eye on your Apple IIgs's progress even while the emulator window is minimized into the Dock. Control the Apple IIgs's system speed, with ZipGS™ accelerator emulation included. Or just let the emulated IIgs run at full speed. Your choice!

Screen Capture
Copy the contents of the text screen to the Mac OS X pasteboard, or grab the screen as a graphic screenshot to paste into your favorite graphics program.

Version 2.0 Public Beta
This new version adds a ton of new features but is not recommended for everyday use unless you like to live dangerously and keep good backups. See the release notes for details.

Frequently Asked Questions

Q: Why should I avoid using the Sweet16 2.0 Public Beta releases?
A: While you don't necessarily need to avoid it, please keep in mind that it's not a final release. It needs more testing, and there are still features and improvements planned before the final release. It will likely misbehave sometimes. Please don't trust it for any critical work, and please do report any problems you have!

Q: Sweet16 2.0 Public Beta 2 (2.0b17) isn't starting up.
A: If you're trying to run Sweet16 on a PowerPC G3 or G4 system, there's a problem with how 2.0b17 was built that prevents it from starting up on these systems. Downloading the 2.0b18 version will resolve this problem for G4 users. G3 users will need to be patient with me.

Q: Where do I get system disk images?
A: You can download them for free from Syndicomm's web site, including special versions customized for Sweet16 -- the custom versions have the extra software pre-installed.

Q: I can't get networking to work!
A: The networking support in Sweet16 2.0 Public Beta 2 is pretty fragile at the moment. While it does work, you need to make sure you're using at least Marinetti 3.0b1. In addition, you need to install the Sweet16 link layer following the instructions in the documentation. On top of that, it only works with actual wired Ethernet connections. It will not work over dialup modem or AirPort wireless connections. I plan to rewrite the networking support before releasing the final Sweet16 2.0 to deal with these shortcomings.

Q: I can't connect to my own Mac from Sweet16 using the ethernet support.
A: This is a known issue. It should be fixed by the time Sweet16 2.0 is final.

Q: Sweet16 keeps asking for my administrator password!
A: This is a side-effect of how the current networking support code works. This should be resolved before the final release of Sweet16 2.0. It should only happen when you first connect to the network.

Q: The emulated IIgs is running really slowly in Sweet16 2.0 Public Beta 2 (2.0b17). What's up?
A: The most frequent cause for this problem is that you've turned on debugging support in the preferences. This knocks about 50-60% off your emulated Apple IIgs performance. Just go into Preferences, choose the Other panel, and turn off debugger support.

Q: I can't turn on the processor speed indicator! What gives?
A: If you're using the Sweet16 2.0 Public Beta 1 release, the processor speed indicator is temporarily unavailable; it's returned in Public Beta 2 (2.0b17); just open the "System Information" window to see it.

Q: I'm trying to mount a CD-ROM in Sweet16 2.0 Public Beta 2 or later and it's not working.
A: There are a couple of possible reasons for this. First, Sweet16 only supports mounting off the first CD drive it finds. If you have multiple CD drives, try using a different one. In addition, you need to make sure the media on the CD-ROM is supported by the Apple IIgs. Install the HS.FST (for ISO 9660 support) and HFS FST (for Mac HFS support) from the System 6.0.1 disks.

Q: I'm using the 2.0 public beta versions and would like to resize the video window. How do I do it?
A: Hold down the Option key on your keyboard. You should see the little resize box appear in the lower-right corner of the video window. Click on that and drag the window size until it's the size you want. Once it's the size you want, release the mouse button and the Option key. Note that due to the way IIgs graphics are drawn, the display can have some interesting artifacts when it's at certain sizes.

Q:
Why can't I use symlinks to my disk images?
A: In earlier versions of Sweet16, the symlink's name had to end with the proper extension, while it didn't matter if the image file itself had one or not. Under Sweet16 1.7.1 and later, the image file needs to have the correct extension; starting with Sweet16 2.0 Public Beta 1, if the file has the correct Mac file type, the extension isn't necessary.

Q: Sweet16 won't mount disk images that worked fine in Bernie/KeGS/insert emulator name here. What gives?
A: Make sure the image file has the correct extension at the end of the filename. Bernie didn't require extensions; it used the classic Mac OS filetype and creator type codes to identify image files. Unfortunately, that method doesn't work well on Mac OS X, so Sweet16 requires extensions. Some images that worked fine on Bernie may also have the wrong extension on them. When in doubt, check to be sure the right extension is on the file. I personally discovered when first working on Sweet16 that my hard disk images, which I thought were in Universal Disk Image format (and had .2mg extensions) were actually raw images, and needed the extension changed to .raw in order to work correctly.

Sweet16 2.0 Public Beta 1 introduced recognition of Mac file types, so that your extension-free image files will most likely be recognized correctly.

Q:
When I choose "Restart" from the Setup menu, my Mac tries to reboot. What's going on?
A: This is a conflict with Unsanity's Application Enhancer. Configure Application Enhancer to ignore Sweet16.

Q: Why is Sweet16 kind of slow on my PowerPC Macintosh? It's not as fast as Bernie ][ The Rescue was.
A: Make sure you're using the latest version of Sweet16. Although it's still not as fast as Bernie was, it's much faster now than earlier versions were.

Sweet16 2.0 Public Beta 1 is often much faster on PowerPC systems, since less processor power is being used to draw the screen now that it uses OpenGL and your 3D accelerator chip to do graphics.

Q: Sweet16 keeps getting my keystrokes wrong. Why?
A: Make sure you configure your emulated Apple IIgs with the appropriate keyboard layout using its Control Panel; it doesn't automatically inherit the layout configured on the Mac.

Q: Some games and other programs with timers are running fast (such as the game GShisen). Why?
A: This should be fixed in Sweet16 1.7.3.

Q: When I try to use the Dvorak or French Canadian keyboard layout on the GS, Sweet16 crashes.
A: This bug was fixed in Sweet16 1.7.3.

Q: When I try to initialize 800K disk images, I get I/O errors. How can I do this?
A: This is a long-standing glitch in the IWM emulation that dates all the way back to Bernie ][ The Rescue. You can work around it by mounting the 800K disk image on the CleverPort (by holding down the option key while mounting it). Then you can initialize it there.

Q: Why do certain intricate graphics screens (especially those using 256 color modes) not look as good as they do in other emulators?
A: This is an issue with the graphics code in Sweet16; it's fixed as of the Sweet16 2.0 Public Beta 1 release.

Release Notes

Version 2.0b18 (Public Beta 2; August 11, 2008)


  • The SpiderMonkey JavaScript library has been recompiled to run on both PowerPC G4 and G5 chips instead of only G5s. G3 support should be coming soon.

Version 2.0b17 (Public Beta 2; August 10, 2008)


  • If no joystick is connected, the joystick routines now report that they’re dead center.
  • If the memory for the screen shot buffer can’t be allocated, screen shots are disabled, instead of letting it try and crash.
  • You can now paste text from the Mac clipboard into the Apple IIgs. Only ASCII characters are supported at present.
  • Added a System Information window to show the CPU speed.
  • Programmers can access the OpenGL buffer used to draw the Apple IIgs screen in banks $E2 through $E9 of Apple IIgs memory. This is a 640x400 pixel buffer in 16-bit color.
  • The Sparkle framework is now used to provide automatic updates. In addition, there’s a preference that lets you enable and disable automatic updates, as well as one that lets you subscribe to receive the extra-risky test updates.
  • Added mutex to fix problems with crashes adding and removing disks to the online disks windows.
  • Added a new Toggle Full Screen NDA so you can toggle full screen within the IIgs environment.
  • Fixed a crash that occurred when changing the window title from the CPU thread; it is now done in the UI thread.
  • Fixed a problem with color palettes that affected colors in DreamGrafix, Wolfenstein 3D, and other applications.
  • You can now mount disk images by dragging them to the application’s icon.
  • Added joystick support; USB joysticks are now supported (but not gamepads).
  • Fixed a crash that occurred when ejecting disks by moving the resize of the online disks window into the UI thread.
  • If GS/OS is shut down and you’re at the “It’s now safe to shut off your Apple IIgs” screen, quitting Sweet16 no longer asks for confirmation, since it’s safe to quit.
  • Added a new preference that lets Sweet16 automatically switch to 1 MHz when booting 5.25” disk images.
  • If the first character of a disk image name you’re creating isn’t a letter, it’s replaced with an “x” when naming the ProDOS volume written onto it.
  • Implemented TCP/IP networking support over Ethernet.
  • Strings are now in the localizable.strings file so they can be localized.
  • Replaced the application icon with something less dorky looking.
  • Added a sweet new debugger.
  • Fixed the title of the About window to get rid of some junk characters.
  • You can now mount ISO format disk images; these may require the High Sierra (ISO) FST to be installed, depending on the format of the contents.
  • You can now mount CD-ROM disks into Sweet16. Sweet16 will attempt to mount all partitions on the disc. Ejecting the disk from the emulator physically ejects it from the computer.
  • Added the “Open CDA Menu” option to the Setup menu; this lets you open the CDA menu if you don’t remember the keys to do it, or if they conflict with some other software running on your Mac.

Version 2.0 Public Beta 1 (July 20, 2007)


1. Graphics are now drawn using OpenGL, and color is 16-bit for truer color fidelity.

2. Removed tons of unused code.

3. Added a routine that makes it possible for IIgs code to output text to the Mac console.

4. The video window's title bar now indicates the name of the Apple II application currently running -- if you've installed the latest version of the SweetPrinter extension from the tools disk, as described in the documentation.

5. Added full screen graphics support.

6. Added a preference that lets you specify whether 800K disk images mount on the CleverPort or IWM by default.

7. You can now resize the video window to any size by holding down option and clicking and dragging in the resize box that appears in the bottom right corner of the window.

8. Switched to using the more modern Carbon Event Manager, which improves performance and makes certain tasks easier to accomplish in the code.

9. The Mac mouse cursor now hides and shows more reliably as it passes in and out of the video window, courtesy of Carbon Event Manager mouse tracking.

10. You can now switch between 16:10 (typical emulated Apple IIgs aspect ratio) and 4:3 (real Apple II aspect ratio) using the preferences.

11. Fixed a bug that was causing empty ROM and other files to be created if they couldn't be found.

12. The toolbar has been removed; the CPU speed indicator is not currently available but will return before the final version of Sweet16 2.0.

13. Removed the Real Time dock icon update option; this was hurting system performance when selected. Added an "Every second" option to replace it.

14. DiskCopy 4.2, HDRV, and Universal Disk Image files are now recognized by their Mac file type information if it's present.

15. Universal Disk Image files are identified by their internal signature if no other type information is found.

16. The mouse scroll wheel now sends key up and down events, to let you use the scroll wheel to some extent in GS applications.

Version 1.7.3 (September 12, 2006)


1. Fixed timing problems with time-based interrupts such as the quarter-second and 1-second interrupts, which makes time-based games tend to work much better.

2. Choosing the Dvorak and French Canadian keyboard layouts in the Control Panel no longer crashes Sweet16, and should actually provide the correct keyboard layout.

3. Removed some unneeded data.

4. Speed control now works correctly on PowerPC machines; it had previously been fixed only on Intel processors.

Version 1.7.2 (August 28, 2006)


1. You can now write to 5.25" disk images.

2. You can now drag multiple disk images at once to the Disks window to mount them all at once.

Version 1.7.1 (August 18, 2006)


1. Holding down the option key while mounting 800K disk images now mounts them as CleverPort devices instead of as IWM floppy disks; this lets you mount lots of 3.5" disk images at once, which makes installing the system software, for example, incredibly easy.

2. Updated the URL in the documentation that's presented for where to go to download system disks.

3. Aliases to files now resolve correctly, so you can drop aliases to your disk images into the Disk Images folder, instead of moving the images themselves.

4. The Reset command in the Setup menu now works correctly.

5. Optimized more PowerPC code, resulting in a small additional performance boost over version 1.7.

6. Fixed a bug that prevented Recent Disks from mounting.

7. Items in the Eject submenu now display the name of the disk correctly; this broke in version 1.7 due to the UTF-8 change.

8. Ejecting a disk then inserting a new one now properly redraws the contents of the disks window if it's visible. Previously, it was possible for the contents of the window to become somewhat confused in this situation.

9. Fixed a bug that caused the mouse cursor to bounce around the screen when Default Folder X is installed. This also slightly improves the response performance of the mouse in Sweet16.

10. Fixed a couple of problems that caused crashes when clicking in the disks window under certain circumstances.

11. The Control-Command-M keyboard combination now properly issues the Mount Disk Image command.

12. Fixed a memory leak when initializing the Recent Disks menu.

13. Added a "Clear Recent Disks" command to the Recent Disks menu. This empties the recent disks list.

14. Fixed a bug that caused new DiskCopy 4.2 images to have invalid names in their DiskCopy 4.2 headers.

15. Fixed a bug that caused the progress window used when creating disk images or calculating the checksum on a DiskCopy 4.2 image to crash.

16. Fixed HTML markup problem in the documentation that made the instructions on copying the ROM from a IIgs unreadable.

17. Fixed the error dialog box that appears if you try to mount too many disks (or too many of a given type) so it actually contains text.

18. Fixed the "allow 14 MB" checkbox and the other controls in the Memory panel in the Preferences window to stay in sync properly.

19. Fixed the memory size preference so it resets to 8 MB if you turn off the "allow 14 MB" checkbox with the memory size set above 8 MB.


Version 1.7 (August 14, 2006)


1. Pathnames are now kept in UTF-8 format instead of in ASCII, which improves compatibility for non-English users.

2. Added a preference to automatically cause the mouse to be disabled when in text modes.

3. Fixed the speed control checkbox so that toggling it takes effect immediately instead of usually requiring you to quit and restart Sweet16.

4. Optimized performance on PowerPC systems, improving speed by up to 30%.

5. DiskCopy 4.2 images created and marked as being Mac format disks will now work in Sweet16.

6. Sound effects are now played when ejecting floppy disk images.

7. The font in the disks window is now Lucida Grande.

Version 1.6.1 (August 1, 2006)


1. The Disks window no longer disappears when Sweet16 isn't in the foreground, which makes it an easier target for drag & drop of disk images.

2. DiskCopy 4.2 disk images are now recognized for mounting even if they don't have an extension.

3. Fixed a problem that caused an empty error dialog box if you tried to mount a disk image that's already mounted by Sweet16.

4. Dragging disk images into the disks window now displays the fancy arrow with a green plus cursor.

5. Enabled some optimizations when compiling that I hadn't been using before. These may or may not have any noticeable impact on performance, but it probably doesn't hurt.

6. By default, the speed used when you turn on speed control is now 2.6 MHz instead of the strange 0.5 MHz it was set to before.

Version 1.6 (July 19, 2006)


Initial release.

Future Plans

The graphics code has been rewritten for Sweet16 2.0, and now uses OpenGL, which allows hardware rendering of the graphics display. This doesn't actually improve performance as much as you'd think on Intel systems, but seems to help a lot on PowerPC. In addition, the emulated IIgs speed tends to stay higher while it's drawing to the screen than it did in previous versions.

There are some other nifty new features and improvements that have already been done, and are on the plan.

I'm aware there are still some bugs in the existing version, but most of them are issues that are likely to be cleared up by default in the process of implementing the new features and the redesigns I've got on my slate, so I don't plan to fix them on their own.

Go to Download Page