minivmac.sourceforge.net - feedback
copyright (c) 2010 Paul C. Pratt

Mini vMac

a miniature early Macintosh emulator



About

What is Mini vMac

Download

current stable version:
minivmac-3.1.3

Start

How to get started with Mini vMac

Use

Using Mini vMac

More

Related information

Feedback

Bug reports, suggestions, corrections, etc.

Help Mini vMac - You too can contribute

News :

February 15, 2010

Luc Pauwels has compiled and packaged Mini vMac 3.1.3 for Solaris 10 on SPARC and x86.

January 28, 2010

The latest Development source snapshot contains the preceding week's work on Macintosh II sound emulation. John Knoll sponsored food for the week, and Manuel Alfayate sponsored gas.

In many cases the Macintosh II emulation can now emit sound that is recognizably related to how it is supposed to. It's not perfect yet, and due to the nature of sound that means it not really yet usable at all. But it is significant progress.

Emulation of the ASC (Apple Sound Chip) is difficult, because unlike previous hardware emulated by Mini vMac, I have no real documentation of its operation. (I had a few clues from the Mac II section of Apple's "Macintosh Family Hardware Reference", from mac 68k bsd ports, and from the December 15th version of the MESS emulator source code, where early work has been done on ASC emulation.) Furthermore, unlike other hardware that has been emulated in Mini vMac so far, the ASC is not usually controlled by software in ROM, so my ROM disassembly is of less help.

So most of the work in the last week was not directly on the sound emulation, but improving the logging infrastructure in Mini vMac, to make it easier to figure out what is going on. It can now write out megabytes of information per second to a log file without bogging down the emulation too much. (On a modern machine.) Also, expanding upon code in Ross Martin's FPU emulation work, I've been putting in a disassembler directly into the emulator. Besides disassembling a number of instructions executed after an event of interest, it can disassemble instructions prior to the event, as the emulator can save the addresses of instruction executed to a circular buffer.

Logging code is enabled by a new build system option '-log', and the disassembler by the option '-dis'. But nothing much will happen without further enabling or creating code to log various events that you are currently interested in. This is for developers only.

January 20, 2010

I've updated the blank disk images archive. Surprisingly, this has been one of the most popular downloads. The new version provides many more sizes. It also includes a few images in Disk Copy 4.2 format, with file tags and checksums, which are useful with the compile time options “-sony-tag 1” and “-sony-sum 1”. These options are enabled in Mini vMac variation 155, and in the new variation 2010.

Selected variations (including 155 and 2010) are now available from a new Mini vMac Variations page, this time with no activation required. The evidence so far is that simply accepting donations is more effective than the shareware like scheme. Also, it seems a better match for the goals of the Mini vMac project. And also, SourceForge has recently made it much less of a pain to release files, so including more than just the default compile is less of a problem.

Thanks to a donation from Andrew Johnstone, along with income from the former variations activation scheme, I now have a copy of Microsoft Windows 7 for testing Mini vMac on. The first use of it was in updating the Screenshots page. Beside a new image for Windows, I also added new images for OS X and Linux, and put previous images on another page (which also includes new screenshots of Mini vMac running on Windows 98 and Mac OS 7.5.5).

I run Windows and Linux in VMware Fusion. Thanks to donations from Andrew Johnstone, Steve Waddell, Evan Appelman, Stephen Kluskens, Jonathan Ploudre, and Zheng Yang, I now have a 1 TB hard drive for holding all my current VMware Fusion images, with room to create more.

Thanks to John Knoll for sponsoring food for my next period of working only on Mini vMac without internet access. This starts later today, and will last about a week. And thanks to Leon Buijs for sponsoring one day of work on Mini vMac (I haven't picked which day yet).

I haven't found as much time lately to work on Mini vMac with internet access. Sorry for not keeping up with email. This may change later this year, or else I'll just try getting better at making do.

Some news from Mini vMac development is that I've tried out a new scheme for caching the translation of emulated to real addresses. Mostly it has shown just how good the current scheme is, which was one of the first things I worked on in Mini vMac almost a decade ago. But I expect the new scheme will still be useful eventually for emulating later Macintosh computers that spend most of their time using 32 bit addressing.

December 7, 2009

Mini vMac 3.1.3 is now officially released (with no change from the final beta, as usual). Mini vMac 3.1.3 is rather old news by now, which is how it should be. There should be no surprises in the stable version. The Changes file lists what has changed since Mini vMac 3.0.4. To summarize, the main work has been on Macintosh II emulation, which is not yet complete, but also the default Macintosh Plus emulation is a bit faster and smoother. One fun new feature is a compile time option to emulate a hacked Macintosh Plus with larger screen sizes.

There is also today a Mini vMac 3.2.0 alpha. It is early in the development of the 3.2.x branch, but since Macintosh II emulation is so much improved since 3.1.3, I've decided to make some official binaries. (There isn't too much change from the previous development source snapshot, except for more accurate timing.)

Thanks to a donation from Jonathan Ploudre, I now have new headphones for use in working on Mini vMac sound emulation. My previous headphones were failing.

November 8, 2009

I've rearranged the website a bit in preparation for the upcoming official release of Mini vMac 3.1.3. (If you know of any bugs, tell me now.)

Thanks to donations from Pedro Maciel, Greg Lee, and ClockWise, I now have VMware Fusion 3. It is supposed to work better with OS X Snow Leopard, and should eventually allow better support for Windows 7 and 64 bit versions of Mini vMac. I use VMware Fusion for all Windows and Linux development.

I've received a couple reports that Mini vMac 3.1.3 works fine in Windows 7, so that doesn't seem to be reason to delay the official release.

November 2, 2009

Jesús A. Álvarez (Zydeco), has announced the start of a port of Mini vMac to Android. He previously ported Mini vMac to the jailbroken iPhone.

October 25, 2009

Thanks to a donation from ClockWise of E-Maculation, I now have Snow Leopard (Mac OS X 10.6). I haven't seen any problems with Mini vMac in Snow Leopard yet. I didn't really expect to, or I probably would have heard about it from someone else already. None the less, I will be much comfortable about officially releasing Mini vMac 3.1.3 after trying it on Snow Leopard myself. (It would also be nice to try it on Windows 7.)

I've made a few refinements to the recently reinstated donations program. I now explicitly state that donations made with the donate button on the main Help Mini vMac page will be used for items on the Mini vMac Wish List. People may now specify a web page address that they would like their name to be linked to in the list of sponsors. And I have made a new Wishes Granted page, for items in the Wish List that have been obtained, starting with Snow Leopard.

Having Snow Leopard also makes it possible to better support Xcode 3.2. Ryan Schmidt had already clarified his earlier report to say there is only a problem if no '-ev' argument is used, so that the build system generates a project for Xcode 2.4.1. Also he was using the command line tools ('-cl'). If '-ev 3100' is used, then a project is created for Xcode 3.1, which Xcode 3.2 works fine with. I'll look into adding a '-ev 3200' option, though so far it doesn't look like that much is different.

There is one problem with Snow Leopard that many people have reported. It does not supported writing to HFS disks, or disk images. (It can still read them.) So the method described on the Disk Images page no longer works in OS X. The ImportFl utility can be used instead, but it doesn't transfer resource forks. An eventual solution would be to create a utility for OS X that can archive files in a format that can be extracted in the emulated mac. Or else a utility for the emulated mac that can extract zip files created by OS X. For now, you can use an older version of OS X to transfer files that have resource forks.

October 14, 2009

Today's Development source snapshot is the first in the 3.2.x series. This snapshot includes a first draft of merging in Ross Martin's FPU emulation code. There's still a lot of work to do, but it already allows much more software for the Mac II to run without crashing.

One thing I changed is that it was originally using the native floating pointing abilities of the computer it ran on, which I'm not enthusiastic about, because this could cause the emulation to give different results on different computers, and because of the even worse problem of getting it compile on various compilers that provide different ways of accessing obscure floating point features. Instead, I've made it use SoftFloat (by John Hauser), which I found being used in the Bochs emulator, plus some extensions to SoftFloat in Bochs by Stanislav Shwartsman. Though it's slower, it should give consistent results with minimum trouble. (The native floating point option is still available in the code for anyone who wants to fiddle with it, but I don't intend to support it.) SoftFloat does require the compiler to support 64 bit integers, and I haven't updated the build system yet to adjust this for different compilers (It is currently hard wired to use "long long").

One fun thing the improved FPU emulation makes possible is that the final MPW development tools from Apple now run well enough within Mini vMac to successfully compile the 68000 version of Mini vMac. (Mini vMac doesn't actually run inside the Mac II emulation unless it is compiled without sound. The incomplete sound emulation now seems to be the main reason programs don't work in the Mac II emulation.)

October 8, 2009

There is now a Mini vMac 3.1.3 beta, with a few small bug fixes. (The Variations service is also updated.) Thanks to an anonymous bug report and patch, 16 and 32 bit color will now work in Intel OS X (to the extent that the incomplete Mac II emulation works at all).

I've noticed that if Mini vMac is in Stopped Mode, mouse and keyboard events are no longer discarded, but saved in the Mini vMac event queue and played back upon leaving Stopped Mode. This might not be quite what is expected, but I've not changed this, since it turns out to be a good way to test that the new event queue code works as expected. Which it didn't. I've fixed several bugs in it. (The new event queue code is supposed to ensure that mouse and key events are handled accurately, even if emulation is not getting time to run regularly.) Also fixed is a bug where if Mini vMac for OS X was in Stopped Mode, error messages such as for failing to open a disk image would not be displayed.

I've updated the copyright year for the build system. Thanks to Ryan Schmidt for pointing this out. Also fixed is a bug where the build system would fail silently if the argument to "-n" is too long. (The maximum allowed by the HFS file system is 31.)

Since several people have asked about it, I have recently enabled donations for Mini vMac again. Asking for donations has not been very effective in the past, but I'm in no position to turn them down. I'm also trying something new, creating a "wish list", so that people can sponsor specific items that would aid the Mini vMac project. For example, Mac OS X Snow Leopard. Donations can be made from the Help Mini vMac page. This page also lists many other ways to help the Mini vMac project, financially and otherwise. My thanks to the one person who has already noticed this page and made a donation.

September 19, 2009

Ross Martin has implemented FPU emulation for Mini vMac, for x86 linux. This is a major step towards a more complete Mac II emulation. He also implemented 32 bit color for the gtk port. I've uploaded his source code here.

I'll merge this into the Mini vMac 3.2.0 branch I've begun. This branch so far has mostly source code clean ups. This seemed a good a time as any for cleaning. I find it a good way to turn up for bugs. A few minor issues turned up, but not enough to warrant making a 3.1.3 beta. Then I received an anonymous report of 16 and 32 bit color not working (in the Mac II emulation) for Mac OS X on Intel, and patch to fix it. That is enough, along with the other issues, so I think I'll make a new beta.

Ryan Schmidt reports that the Mini vMac build system doesn't support XCode 3.2. I may need to obtain Snow Leopard after all before 3.1.x can be final.

Another anonymous contributor sent versions of David Sibley's Mini vMac OS X icons converted for Windows. I've uploaded the files here and here. I'm not very familiar with how custom icons are used in Windows. I'll need to investigate further, and then add them to the Mini vMac Extras.

OLD NEWS - Previous release notes


minivmac.sourceforge.net - hosted by Get Mini vMac at SourceForge.net. Fast, secure and Free Open Source software downloads