www.gryphel.com/c/minivmac/change/v3.0 - feedback

Mini vMac 3.0.4


What has changed in Mini vMac 3.0.4, compared to Mini vMac 2.8.2. This only lists changes that affect behavior, and so doesn't include cleanups of the source code.


default compile:

New features

Changed behavior

Bug fixes

not in default compile:

New features

Changed behavior

Build System


New features in default compile

* Mini vMac now provides certain new capabilities for software running within the emulated machine, including getting and setting the host clipboard, using raw files on the host computer (disabling any interpretation as a disk image), creating new files (disk images or raw files), deleting files mounted with write permission, and getting the names of files.

Software using these capabilities include:

ClipOut - exports the clipboard
ClipIn - imports the clipboard
ExportFl - exports files from Mini vMac
ImportFl - imports files into Mini vMac

The new capabilities were carefully designed to avoid allowing software running in the virtual machine to do any serious harm. But if this is a concern, all the new capabilities can be disabled with the compile time option -min-extn.

Changed behavior in default compile

* By default, the Macintosh versions of Mini vMac will now not claim ownership to disk image and ROM image files. So double clicking on disk images will not launch Mini vMac. This is because when you have lots of copies of Mini vMac around, all of which claim ownership of disk images, it is unpredictable what happens when you double click on one, making the feature useless. Instead there is a compile time option, -im 1, to make Mini vMac claim ownership as has been done previously. You can then make sure to have only one copy of Mini vMac compiled this way on your computer.

* The stopped mode toggle is now Control-S-D instead of Control-S-S. Before I had wanted to make it quick to type, but now I think it is more important to prevent hitting it accidentally.

* When switching back to the Mini vMac application, previous versions would always ignore keys that were already held down. There is now a special case such that immediately after a drag and drop on to the Mini vMac window, it will not ignore keys already held down. This makes it easier to rebuild the desktop of disk images by holding down command and option. However, the keys that map to command and option can have special meanings in other operating systems. (For example, in OS X, clicking on the window of another application with command and option down will hide all other applications.) So it usually works better to press command-option right before dropping, instead of before dragging. (Thanks to a complaint by David Sibley for this feature.)

* An obscure change is that when entering the control mode, or the open dialog, or switching to another application, all the emulated keys (except for caps lock) are released immediately, instead of waiting until normal emulation resumes.

* An even more obscure change is that in the control mode, changes to the caps lock key take effect immediately, instead of waiting until leaving the control mode.

* The variation name displayed in the about message, and used for program binary archive names, no longer includes the development environment used to compile it or the debug status, but only has the program name abbreviation, the version number, and the target. Such as minivmac-3.0.4-imch, for the Intel Macintosh version of Mini vMac 3.0.4.

Bug fixes in default compile

* Mini vMac for PowerPC Macintosh OS X was not compatible with OS X 10.5, due to a bug in the PowerPC assembly code used for 680x0 emulation. (It's surprising that it worked previously.)

* A call to XFlush was missing in the X version (such as the Linux port), and the most noticeable effect was the lack of drawing when Mini vMac was in the background with the run in background option on.

* In OS X, and also earlier Mac OS, dragging and dropping onto the open file dialog would also immediately try to mount that file in Mini vMac.

* The Windows and X versions now support the PageUp, PageDown, Home, End, Help/Ins, and ForwardDelete keys.

* The mouse position could shift slightly when leaving full screen mode (or entering the open dialog in full screen mode).

* In the Macintosh versions {mouse down, control-o, mouse up, type escape key} would leave the emulated mouse stuck down.

* In Ubuntu Linux, drag and drop on to the Mini vMac window would not activate Mini vMac. This is fixed by sending a _NET_ACTIVE_WINDOW message in the X version when it is claimed to be supported. So forcing the Mini vMac window to activate will probably now work with more Linux distributions (and other X), but there are undoubtedly still distributions where it won't work.

* If buggy or malicious low level software running in the emulated computer wrote past the end of a disk image, it would make the disk image larger. Mini vMac will now do explicit range checking for both read and write, and not just pass it directly to the platform specific calls.

* The Macintosh OS X version wouldn't work with a disk image on a CD.

* In the Macintosh OS X version, magnify toggle wasn't smooth. Now just create a new window, rather than moving then resizing the existing window.

Build System

* The build system is now a Macintosh program that runs in Mini vMac (it would also work on a real 680x0 Macintosh). After you specify the options, the program generates an archive containing all the files needed to compile Mini vMac with those options in the selected development environment. If the build system is running in Mini vMac 3.0.0 (or later), then this archive will then automatically be exported to the real computer, where you can extract the files and compile the program. The Building Mini vMac page gives more details.

New features not in default compile

* A Dutch translation from Luc Pauwels (option “-lang dut”), and a Spanish translation by “Chir” (option “-lang spa”).

* In the Windows version, the -im 1 option will cause Mini vMac to install itself on launch into the Microsoft Windows registry, so that double clicking on a disk image file with the extension '.dsk' will open it with Mini vMac, and so that such disk image files and also '.rom' files will be displayed with custom icons. This make the separate utility MnvMreg obsolete.

* An option to swap the emulated Control and Command keys (“-ccs”).

* An experimental option for making some keys more convenient to use. (“-akm”).

* An initial speed setting (“-speed”).

* An initial Run in Background setting (“-bg”).

* A new alternate implementation of the 680x0 processor (option “-alt-cpu”). It is a bit faster, cleaner, and makes it possible to be more accurate about illegal instructions without speed penalty. However, this code is too new for me to trust it yet, so it is not used by default.

Changed behavior not in default compile

* There are a number of refinements to playing sound using ALSA in the Linux version, which is enabled with “-sound 1”. It may work more smoothly now.


If you find Mini vMac useful, please consider helping the Gryphel Project, of which it is a part.

gryphel logo, 1K

Back up to - Changes in Mini vMac versions

www.gryphel.com/c/minivmac/change/v3.0 - feedback
copyright (c) 2009 Paul C. Pratt - last update 11/8/2009