µvMac - cleaned up fork of the Macintosh emulator Mini vMac
Go to file
InvisibleUp 4aa7c288e4 Remove obsolete sound backends 2023-05-21 10:09:35 -07:00
.vscode Add VSCode debug configuration 2023-04-01 18:17:50 -07:00
cfg WIP: Replace VIAEMDEV.c with rewrite 2020-07-11 17:14:53 -04:00
docs Add no-rom screen gfx 2020-07-04 00:41:38 -04:00
extras More type/my name standardization 2020-02-11 00:34:32 -05:00
gfx Add no-rom screen gfx 2020-07-04 00:41:38 -04:00
lib Move libraries around 2023-04-02 09:15:18 -07:00
rsrc/WIN32 Remove unused code 2023-04-01 18:45:21 -07:00
src Remove obsolete sound backends 2023-05-21 10:09:35 -07:00
.gitignore Add VSCode debug configuration 2023-04-01 18:17:50 -07:00
.gitmodules Move libraries around 2023-04-02 09:15:18 -07:00
COPYING.txt Rebrand to "micro vMac", clean up docs 2020-03-14 20:41:42 -04:00
README.md Just include m68kops.c in the directory. It's fine. 2023-04-01 16:52:57 -07:00
meson.build Move libraries around 2023-04-02 09:15:18 -07:00

README.md

µvMac 0.37.0

THIS CODEBASE IS INCOMPLETE, MAY NEVER BE COMPLETE, AND DOES NOT CURRENTLY COMPILE TO A USABLE PRODUCT.

Forked from Mini vMac v36.4 by Paul C. Pratt (http://www.gryphel.com/c/minivmac), which was forked from vMac by Philip "PC" Cummins (http://www.vmac.org/main.html)

µvMac (micro vMac) is a small, simple emulator for early Motorola 68000 based emulators. Currently we support systems from the original Macintosh 128K all the way up to the Macintosh II.

This fork was created to clean up and modernize the code base, make the project easier to compile and hack on, and allow for much easier user configuration. The intent of Mini vMac was to create a "emulator collection" of many very optimized "variations" of the same codebase. I consider this much more trouble than it's worth, and intend to focus more on maintainability and accuracy.

How to Compile

µvMac uses the Meson build system. See https://mesonbuild.com/ for instructions on how to download and use it.

  1. Install the SDL2 libraries (On Ubuntu/Debian, this is sudo apt install libsdl2-dev. On Windows, see below.)
  2. git clone --recursive this repository
  3. Run meson setup build
  4. Navigate to the build/ directory and run meson compile
  5. Add vMac.ROM (and possibly libsdl2.dll) to the build directory and run the program!

On Windows systems, you may need to run the following commands for SDL to work:

mkdir subprojects/
meson wrap install sdl2

Supported Platforms

µvMac absolutely requires SDL2. There are no plans to support platforms that SDL2 does not target. For 99% of users, this should not be a concern. Dropping support for esoteric platforms and exclusively using SDL2 vastly simplifies the complexity of the code.

Here's an incomplete list of platforms that can, in theory, be targeted. These are listed in order of support.

  • Linux
  • Windows
  • macOS
  • FreeBSD/OpenBSD/NetBSD/etc.
  • Haiku
  • Emscripten

Screenshots

System 7.1 running on an emulated Macintosh Plus System 7.1 running on an emulated Macintosh II

Future features; not representative of final product The below images are mockups of an upcoming feature, the configuration manager. This replaces Control Mode in Mini vMac, and also appears when you start the emulator.

Mockup of the config manager's initial screen Mockup of the config manager's device selection screen

The configuration manager will require resources from a ROM. Here's the screen you get when you start up for the first time, without a ROM.

Flashing ? on a ROM chip, and a message asking you to find a ROM

You can redistribute µvMac and/or modify it under the terms of version 2 of the GNU General Public License as published by the Free Software Foundation. See the included file COPYING.txt

µvMac is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details.