Any program goes through lots of interesting changes over the course
of its development, and Sweet16 is certainly no exception. This chapter
lists all the changes that have occurred in each publicly-released version
of Sweet16. You might find it interesting to note that they're listed in
the order in which the changes were made.
Version 1.5 (May 1, 2000)
- The Recent Disks list is now in most-recent first order.
- The Done button is gone in the Mount Physical Disks window; instead,
there's a close box on the window. Much smoother.
- The low-level mouse is now emulated more accurately. This should resolve
problems with the few applications that weren't yet working right.
- The speed indicator now erases properly when you switch from small
to large window modes.
- You can no longer mount physical floppy disks more than once.
- The keyboard should be more reliable now; it's been fairly significantly
overhauled. It's still not perfect though.
- There's now an option to allow up to 14 MB of memory.
- Cleaned up the serial code to be easier to maintain.
- Fixed a couple of 1-bit sound problems.
- Ejecting 5.25" floppy images now plays a unique sound effect.
- Fixed a memory leak when mounting image batch files; if the batch file
includes preference data, and the online disks window preference was turned
on, a new online disks window would be created without getting rid of the
old one first; now it doesn't create a new one anymore.
- Fixed a serious bug in the SmartPort Format call handler; it used to
always do a low-level format of the target disk. This was great for floppies,
but a terrible idea when initializing a partition on a disk. Now it only
does a low-level format on floppies; it does a high-level format on partitions.
- Minor performance improvement when refreshing the display after another
window has been in front of it, or if part of the window that was offscreen
is moved back onscreen.
- The preferences are now kept in a Sweet16 directory in the /boot/home/config/settings
directory. If your settings are in the settings directory itself, they're
moved into the new directory automatically.
- Fixed a thread synchronization problem that had a slight chance of
crashing Sweet16 when ejecting a floppy disk.
- Option-F1 through Option-F12 can now be used to temporarily change
the system speed, assuming speed control is enabled.
- Fixed a speed control related problem; the "normal" 1.024
MHz speed was being computed incorrectly, which caused not only problems
with the speed being wrong, but also caused 1-bit sound to play at the
wrong speed.
- Sweet16 now supports up to 12 CleverPort devices at once.
- The IIGS system volume control (the one controlled
using the Sound control panel) now works.
- Fixed a direct indexed addressing mode bug that was crashing HyperCard
on x86 systems, and may have been responsible for other forms of havoc
as well.
- Text screen capture now works much better.
- The ZipGS Emulation checkbox in preferences is now only enabled when
speed control is on.
- The function keys and other special keys (Home, End, PgUp, PgDn, Ins,
and Del) now all work correctly.
- Double-clicking an image file, or dragging image files to the Sweet16
icon, now launches Sweet16 with that disk (or disks) mounted.
- The Sweet16 application's file type is now correct on x86 systems (it's
been wrong for a while and I didn't realize it).
- Now supports all keyboard layouts except Danish and Dvorak (these aren't
documented in the IIGS Hardware Reference).
- The character set ROM is now complete for all languages.
- Fixed bugs in selecting the appropriate CPU speed based on Control
Panel settings.
- Fixed some labels in the preferences window that would be truncated
on some systems.
- Merged the Sound and Video preference panels into one "Sound &
Video" panel.
- The tabs in the preference window are now sized based on the width
of their labels, instead of all being the same width. This makes room for
more panels to be added later, if they're needed.
- Fixed a bug in handling the MVN and MVP operations that would cause
an attempt to copy 65,536 bytes to copy nothing at all.
- Fixed an error in the ZipGS emulation code that would cause the wrong
speed to be selected sometimes.
- The 0.25 MHz speed is now actually handled as 0.25 MHz instead of as
Normal (1.024 MHz) when you select it.
- Sweet16 no longer assumes that the default settings for your sound
card's sample rate and sample size are correct, but explicitly tells the
Media Kit what settings to use. Under earlier versions of BeOS, this assumption
was legitimate, but it's not anymore (and hasn't been for quite a while).
This should correct problems of sound playback being slightly off in terms
of speed, among other possible problems.
- Fixed two related bugs that caused Sweet16 to crash when clicking the
"?" icon in Photonix (this is actually a general CPU emulation
bug, but this is the only application I know of that encountered this crash
-- specifically, the sta [d],y and lda [d],y wouldn't wrap banks correctly).
- Fixed the clock to actually take into account how far you are from
GMT. Seems to give accurate time now at last.
- Fixed occasional problems with sounds not playing when they're supposed
to.
- The about box now has the correct copyright year information.
- The about box now gets the version number out of the Sweet16 application's
version information record; this means I don't have to remember to fix
it every time I release an update. Woohoo!
- The disk picker window is now a normal window that just looks like
a floater.
- Modifier keys are no longer polled while Sweet16 is in the background.
- Added some feedback to the terminal window if you run Sweet16 from
Terminal. This info is printed shortly after you launch Sweet16, and can
be helpful in problem tracking.
- Fixed a bug in the sta al,x instruction that was making the Apple IIGS Dealer Demonstration program crash Sweet16 (and possibly
others).
Version 1.3.2 (January 20, 2000)
- HGR mode graphics now work correctly on x86, at long last.
- Low-level mouse emulation is in place. Software in which the mouse
didn't used to work (such as most 8-bit software) now should.
- Switching to full-screen mode now hides the mouse.
- Fixed a minor problem where the speed display might show a negative
number when you first start Sweet16.
- Fixed a bug where all disks mounted after booting think they're 5.25"
disks.
- Fixed a bug in which Sweet16 might crash if an unrecognizable disk
were scanned by the Mount Physical Disks window.
- The Mount Physical Disks window list items are taller, so the icons
aren't squished anymore, and the spacing of the columns is better, to help
reduce overlapping when volume names are long.
- Added 20 MHz and 40 MHz options to the speed control. Obviously if
your computer isn't fast enough, you won't achieve these speeds.
- Added 0.25 and 0.5 MHz options to the speed control. These are obviously
slower than normal speed, but if you want to see something in slow motion,
enjoy it.
- Fixed a potential crash in the Disks window; if you closed it almost
immediately after opening it, it would crash.
- The Sweet16 1.3.1 change to fix the mouse in full screen mode has been
removed for x86 (it's still there for PowerPC). It was making the mouse
cursor very sluggish in full-screen mode for some reason.
Version 1.3.1 (January 13, 2000)
- The mouse now works correctly in full-screen mode; no more getting
"lost" at the edges of the screen, and it stays in the same place
when you switch from full-screen to windowed mode and back.
- The disk status lights now work more reliably.
- The control key is now used for read-only mounting instead of read-write
mounting when dragging disk images onto Sweet16.
- Sweet16 now tells removable disk drives to disable manual ejection
while Sweet16 has disks in them mounted. This prevents you from physically
removing disks while Sweet16 is using them; this may only work for SCSI
devices at this time.
- Holding down the option key while mounting 800KB disk images now forces
them to be mounted on the SmartPort instead of as IWM devices. This way
you can mount more than two 800KB disks at once.
- Fixed emulator bug that would cause Sweet16 to crash when certain memory
accesses were performed. This lets Arkanoid run correctly at last (although
the graphic glitches when run under System 6 are still there).
- When you pause Sweet16, the sound pauses too. Unpause and, strangely
enough, it picks up exactly where it left off. Amazing.
- Fixed a bug that would crash Sweet16 if the classic 1-bit sound softswitch
was triggered twice in the same CPU cycle.
- When speed display is on, Sweet16 used to still run the code to do
this even in full-screen mode (when the speed isn't visible). It doesn't
anymore.
- The mouse is much more responsive now.
- Speed control now works on PowerPC systems.
- Fixed a bug in low-resolution graphics colors that I've never seen
(code from André).
- Rearranged the File menu to be a little more logical.
- Mounting 140k floppy images that have been made in image formats other
than .dsk/.do/.po now works better. Sweet16 now records these as SmartPort
5.25" disk devices, which are nonstandard but understood by GS/OS.
When you mount them on Sweet16, a drive icon for the SmartPort 5.25"
floppy drive will appear on the desktop. Double-click that to mount the
drive on the GS.
Version 1.3 (December 17, 1999)
- Added the Enhanced Stereo sound option. This enhances sound quality
when using headphones.
- Added options to reverse the X and/or Y axes of joysticks, if your
stick is wired funny (or your hand is :).
- The disk activity lights for non-5.25" disks now flash red when
writing, green when reading.
- Now tries to use the BeOS Mime type of the file to identify it, before
looking at extensions. If the file was created by Sweet16 and its type
information is intact, this will succeed.
- The Create (disk image) submenu is gone, in favor of the item "Create
Disk Image", which brings up a file panel that has pull-down menus
for selecting the image type and size. Disk image types are no longer set
based on the extension; the BeOS Mime type is set and used to later identify
the file.
- Added a 1.44 MB floppy disk image size option in the Create size list.
- DiskCopy 6 files are now differentiated from Raw image files in all
on-screen displays, for your peace-of-mind.
- Added the Recent Disks submenu in the File menu, which lists the 10
most recently-used disk images. Selecting one will attempt to mount it.
- Added the "Save Disk Batchfile" option to the Disks menu's
contextual menu; this lets you save the currently-mounted disks into a
batch file; you can then later mount the same group of disks by simply
opening the batch file.
- You can optionally attach your current preferences to disk batchfiles.
- Fixed a bug that caused the border area not to erase when switching
from SHR to text mode in full-screen mode.
- Added the Switch ROM submenu; you can now switch between ROM 01 and
ROM 3 image files. ROM 01 is called APPLE2GS.ROM and ROM 3 is APPLE2GS.ROM2.
Each ROM version has its own BRAM save file (since the BRAMs aren't quite
compatible between the two ROM versions). You have to quit and restart
Sweet16 after switching before the change takes effect.
- Added the ability to identify image files on HFS disks from the Mac
OS file type information.
- Added to the Disks preference panel the "Really eject physical
disks" option, which, when enabled, causes removable physical disks
to actually be ejected from the drive when you eject them in Sweet16. This
obviously only works for drives BeOS is capable of ejecting. If multiple
partitions are mounted off the same drive, ejecting only occurs after all
of them are unmounted from Sweet16.
- Revamped the Mount Physical Disk window; instead of the complicated
hierarchical view, partitions are now listed one per line, with volume
names and file systems if they're available and can be determined by BeOS.
Sweet16 scans disks BeOS can't identify to see if they're ProDOS disks
and labels them as such if they are.
- Fixed a bug that let you mount one too many SmartPort devices, corrupting
the device chain badly.
- Added the ability to mount any partition from a multipartition or multisession
disk. Note that partitions must be 4 GB or less for GS/OS to support them.
However, you should be able to mount any partition that meets this restriction,
regardless of the size of the disk it's on or its position on that disk.
- Fixed a bug in the Disks window that caused items to get chopped off
at the bottom if you mounted more than four or five disks.
- Added the Video panel to the preference window.
- Added the option to sync to vertical blanking in full-screen mode.
- Rewrote the video recording code to queue outgoing frames and actually
do the writing in a background thread. Although Sweet16 still slows down
substantially while recording, it's not as bad as it was (and should scale
better on higher-performance or multiprocessor systems). A good deal more
memory is used while recording under this new scheme though, as it's possible
that several frames will get stacked up in the queue before they're flushed
to disk. The recorded movies are better, too.
- Renamed "Mount Physical Disk" option to "Mount Physical
Disks" and added the ability to select and mount multiple physical
disks at once.
- Made some critical flags shared cross-thread "volatile."
- Added "Eject All Disks" options.
- Added "Auto-pause when minimized" option to CPU panel. Due
to a BeOS bug, the emulator doesn't automatically resume when no longer
minimized.
- New About box with new art. Also includes buttons to visit the Sweet16
web site, email for technical support, and register the product online
using Kagi.
- Added the "View Documentation" option to the Help menu, which
brings up the Sweet16 manual (assuming that you haven't deleted or moved
it from its default position in the Documentation directory in the Sweet16
directory.
- Added support for two serial ports.
- Widened the preferences window.
- Added a Serial panel to the preferences window.
- Added ability to connect to a network site (by specifying an address)
instead of using a serial port. Great for faking telnet connections. Currently,
port 23 is assumed. This will be configurable later.
- Fixed a bug that caused weird but minor problems related to the prefs
window.
- Added the new "Show Speed" option in the Setup menu. This
turns on and off a IIGS system speed display in the
menu bar.
- Fixed a CPU hanging bug that occurred if exactly $FFFFFFFF cycles had
passed.
- Slightly optimized memory allocation and mapping.
- New icon!
- Fixed a bug in computing the size of Hard Drive, Raw, and DiskCopy
6 image files.
Version 1.2 (September 2, 1999)
- Fixed a bug that occasionally hangs the emulator until you toggle the
speed control on and off.
- Added a "Mount as read-only" checkbox to the Mount Disk Image
filepanel.
- Added code to precache floppy disks. When you mount them, a thread
is created to preload the entire floppy into the cache, gradually, in the
background.
- If you hold down the command key when starting Sweet16, the emulator
pauses immediately after launch. This is useful if you want to swap out
disk images when you first launch.
- You can now record movies of Sweet16's video. Currently, audio can't
be recorded into the movies you generate. See the File menu's Record Movie.../Stop
Recording item.
- You can now create a 100 MB hard disk image (previously the limit was
32 MB).
- You can now select multiple image files to mount in the Mount Disk
Image filepanel.
- Fixed several bugs in the ADB keyboard code. Some computers didn't
work at all (the keyboard would randomly spew garbage). And often you'd
get stuck repeating. These are fixed.
- Minor optimizations to ADB subsystem.
- Added the mounted disks window and all related functionality.
Version 1.1 (August 16, 1999)
- Removed Memory submenu in the Setup menu.
- Added CPU Core panel in preferences window; this contains the Memory
settings as a slider control.
- Reworked the sound amplitude scaling so sound is more audible when
playback of lots of oscillators is going on.
- Added the Sound panel in the preferences window; this contains an option
to turn on or off the amplitude scaling.
- Added some error dialogs when mounting physical disks fails.
- When the emulator is paused, the video is now dimmed so you can tell.
- In the joystick panel, there's now text telling you what you're looking
at.
- Minor code changes to support some future development.
- Added speed control; you can now specify what "Fast" speed
is on your emulated IIgs.
- Added ZipGS compatibility.
- Added disk cacheing (both read and write) for physical floppy disks
(disks 1440KB or smaller). The write cache can be enabled in the Disks
panel of the preference window; the write cache is disabled by default.
- Sweet16 now correctly senses write-protect on physical disks.
- The IIGS mouse is now more responsive.
- You can now format physical disks in Sweet16, just like on a real IIGS.
- Added the "Mount Floppy" option to the File menu, to automatically
mount a floppy disk. Hold down the control key while choosing this option
to mount the disk read-write.
- Fixed a bug that caused hires graphics modes to display wrong on x86
systems.
Version 1.0 (July 24, 1999)
- Fixed messed-up floating windows and about box caused by overvigorous
search-and-replace technology.
- Fixed a bug in handling the scan-line interrupt; at times, this interrupt
wouldn't be cleared properly, resulting in IIgs system hangs. This was
preventing AppleWorks GS and other software from working.
- Fixed a thread synchronization bug that caused a crash when quitting
sometimes (more often on faster machines).
- You can now mount disk images by dragging them into the IIgs video
window.
- Added Capture Text option, which copies the IIgs text screen into the
BeOS clipboard as a text clipping.
- Added Capture Picture and Copy options; these both copy the current
screen into a graphic bitmap in the BeOS clipboard.
- Moved the Disk menu's items into the File menu, their final resting
place. The Disk menu is no more.
- New and improved About window.
- Sweet16 can now mount up to 6 CleverPort devices.
- Fixed the Create Image file panel to start in the Sweet16 directory.
- Removed the close box from the Sweet16 video window; being able to
kill your GS by closing the window is a Bad Thing(tm).
- Added confirmation dialog box when quitting Sweet16.
- Reverted to older IWM code to get rid of some errors added trying to
fix IWM support.
- The mouse now works correctly in full-screen mode.
- Fixed bugs in screen size switching that would cause odd errors sometimes.
- Added joystick support.
- Added the Preferences option in the Setup menu; this window currently
only provides the ability to select the joystick controller to use. In
future versions of Sweet16 this window will be more interesting.
- The BeOS cursor no longer goes away while over the Sweet16 window if
the video window isn't the frontmost window.
- Fixed a bug in the XCE instruction handler on Intel processors; this
is the actual cause of the bad IWM support on x86 in previous versions.
- Fixed a bug in certain logical instructions that could result in incorrect
values.
- Now uses Benaphores to prevent cases where software would touch video
softswitches and the video thread would miss the change (this caused, among
other things, the text screen to be the wrong color sometimes).
- Optimized (slightly) some code here and there.
- Turned back on code to automatically format new disk images when they're
created.
- Added support for DiskCopy 6 files (.dc6). These are actually the same
as Raw files (.raw), but it makes it easier for Mac people to keep track
of what's going on.
- Sweet16 now supports the $C04F
EMUBYTE
softswitch for
identifying an emulator and its version number. Write once to $C04F to
trigger the test, then read the byte twice. The first read returns $16
if Sweet16 is in use, and the second read returns the version number of
Sweet16 ($10 for this version).
Version 0.93 (May 5, 1999)
This is the first version released by Eric Shepherd instead of F.E. Systems.
- Added support for physical disks
- Added progress windows when creating and checksumming disks
- Disk images are now tagged with a MIME type so they show up with a
nice icon, and so they can be identified by future versions of Sweet16.
- Universal Disk Image files are detected even if they have no extension.
- Endianness in disk image headers corrected. Images made by older Sweet16s
were broken.
- DiskCopy 4.2 images are checksummed correctly now.
- You can no longer mount the same disk image more than once.
- Trying to initialize a disk no longer crashes.
- Fixed a buzz in the audio after sounds finish playing.
- Fixed mouse clamping problems in full screen mode.
- The BeOS cursor no longer appears inside the Sweet16 window.
- The mouse is now ignored when the Sweet16 window isn't in front.
- You can now actually use multiple keyboard modifiers at the same time.
- No more crashing after repeated runs of Sweet16.
- The cursor is restored to the hand after file panels.
- Switching from full screen to window mode now works reliably.
- Fixed refreshing the screen when switching to full screen mode.
- Added benaphores to prevent collisions in certain parts of the code
(especially in video). This applies only to the Intel version; the PowerPC
version has its own protection methods.
- The IWM emulation is disabled; there are some conflicts between it
and the SmartPort code that cause system crashes and other odd behavior.
For now, floppies are mounted as SmartPort devices. (this bug is fixed
in version 1.0)
Version 0.91 (December 23, 1998)
- Renamed Open Bernie to Sweet16.
- Updated (faster) video blitters.
- Introduced Intel version.
- Bug fixed that occasionally crashed Sweet16 on quitting. (actually,
this bug wasn't fixed completely until version 1.0)
Version 0.9 (June 25, 1998)
- Emulation core updated to the Bernie ][ The Rescue 1.3 core (new video
blitter, thread safe interrupts).
- Up to 3 times faster than v0.5d1 (on PowerPC; this version introduced
the assembly core)
- Sound support done (enjoy!).
- Full-screen support added.
- Creating new disk images possible.
- Automatically mounts all disk images in the Sweet16 folder.
- IIgs memory size can be set.
- Preferences (setup settings) are saved.
- Keyboard mapping bug fixed ('=/+' - key).
- Open Bernie no longer crashes when no ROM image file is found.
- Now Open Bernie has an application icon.
Version 0.5d1 (February 25, 1998)
- First public release (preview freeware).
[ Index ] [ Intro
] [ Installing ] [ Disks
& Images ] [ Quick Reference ]
[ Warnings ] [ Intel Version
] [ PowerPC Version ] [ Software
]
[ History ] [ Credits ]