|
OPTIONS
Maintainer Name
Which computer
Build Options:
|
Mini vMac has no preference settings that persists across quitting and relaunching.
This helps to keep the program small and fast, and the source code simple.
But Mini vMac does have options that can be chosen at compile time.
First see the Build page to learn how to compile Mini vMac. A number of different development environments are supported, some of them free. No real knowledge of programming should be needed. Once you can compile Mini vMac, you can compile a variation. Run the build system again, and try some of the options listed here. Be warned that the options listed here may not be as well tested as the standard compile, especially when used in combinations. However, they are supported, in the sense that if you report a problem I will definitely try to fix it. |
If you are going to distribute the version of Mini vMac that you compile to other people, you should specify the maintainer name with a line like this:
-maintainer "Your name here"If you don't specify this option, the maintainer name defaults to “unknown”.
If you are going to distribute the version of Mini vMac that you compile to other people, and you have a webpage for it, you should specify the webpage with:
-homepage "Your webpage here"This string is displayed by the About command of Mini vMac. If you don't specify this option, the homepage defaults to “http://minivmac.sourceforge.net/”.
If you compile a custom version of Mini vMac, you can label it with a line such as:
-n "minivmac-3.0.0-custom"This string is displayed by the About command of Mini vMac, and is also used as the name of the archive exported by the build system.
By default, Mini vMac emulates a Macintosh Plus with 4M of memory. But it also can be compiled to emulate a few other computers, with one of these lines:
-m 128K { Macintosh 128K }
-m 512K { Macintosh 512K, more memory than 128K, but otherwise identical }
-m 512Ke { Macintosh 512Ke }
-m Plus1M { Macintosh Plus with 1M of memory }
-m Plus2M { Macintosh Plus with 2M of memory }
-m Plus2_5M { Macintosh Plus with 2.5M of memory }
-m Plus { Macintosh Plus with 4M of memory }
-m SE1M { Macintosh SE with 1M of memory }
-m SE2M { Macintosh SE with 2M of memory }
-m SE2_5M { Macintosh SE with 2.5M of memory }
-m SE { Macintosh SE with 4M of memory }
By default, the user interface of Mini vMac is in English. Other languages can be chosen with one of these lines:
-lang eng { English }
-lang fre { French }
-lang ita { Italian }
-lang ger { German }
-lang dut { Dutch }
-lang spa { Spanish }
By default, Mini vMac can mount up to 6 disk images (but for the Mac 128K/512K emulation the default is 2). This is because the replacement disk driver is trying to match the size of a data structure used by the real disk driver (on the Macintosh 128K/512K this structure is smaller). You can at compile time choose to support more disk images, up to 32, which makes this data structure larger, at some slight decrease in authenticity, and some slight memory and time overhead. Use a line such as:
-drives 1 -drives 2 -drives 3 ... -drives 32
According to Apple’s Technical Note FL530, some versions of the System Software will not work correctly with more than 20 mounted volumes. The Standard File dialogs will corrupt the stack and may crash.
One reason for using the “-drives” option is that the installer programs for some Macintosh applications don't cope very well with multiple floppy drives, and insist on constantly ejecting the boot or destination disks rather than the install disks it has finished with. Some installers with this problem work much better if all installation disks can be mounted at once before starting.
The Macintosh and Windows versions have sound emulation on by default. The Linux version has sound off by default.
-sound 1 { Emulate sound }
-sound 0 { No sound emulation }
Emulating sound in Linux requires ALSA (sound is not part of the standard X11 protocol).
You can use any combination of these lines:
-fullscreen 1 { start with Full Screen Mode on }
-magnify 1 { start with Magnify Mode on }
-bg 1 { start with Run in Background on }
You can use one of these lines:
-speed z { 1x }
-speed 1 { 2x }
-speed 2 { 4x }
-speed 3 { 8x }
-speed 4 { 16x }
-speed 5 { 32x }
-speed a { All out }
You can swap the emulated Command and Control keys with:
-ccs { Command Control Swap }
This could be useful for people who are used to Windows, so that you can use Control-C to copy instead of Command-C (or actually Alt-C, as Alt is located where the Command key is on a Macintosh keyboard).
It can also be useful for people used to Macintosh, and have remapped the keys on their Windows machine to swap Control and Alt. Using '-ccs' will swap them back for Mini vMac.
Linux is the same as Windows in this way, as far as I have seen.
The '-ccs' option does not affect F1 and F2, but should affect any other keys that get mapped to Control and Command.
-akm { enable Alternate Keyboard Mode }
Some commonly used keys, such as the arrow keys, are a bit of a stretch to reach, and more importantly, their positions can be different on different keyboards. The Alternate Keyboard Mode provides an alternate way to type some of these keys.
(Warning: The Alternate Keyboard Mode is experimental and may change or be removed entirely.)
The alternate keyboard mode is entered by holding down the ';' key. Releasing the ';' key leaves the mode.
However, the mode can be locked on by typing 'm' while ';' is held down. Typing 'u' releases this lock.
In the Alternate Keyboard Mode, the letter keys are remapped as follows (non letter keys are unchanged):
j - Left arrow
l - Right arrow
i - Up arrow
k - Down arrows - Shift
d - Option
f - Commandz - F1 (Often means Undo)
x - F2 (Often means Cut)
c - F3 (Often means Copy)
v - F4 (Often means Paste)h - SemiColon
q - Grave
w - BackSlashr - PageUp
t - PageDown
o - Home
p - Enda - BackSpace
b - Forward Delete
e - Return
g - Enter
n - Help
y - Escape
Holding down the command key will temporarily turn off the Alternate Keyboard Mode. So if you have the mode locked on, commands like Command-S will still work.
All the computers emulated by Mini vMac have a 68000 processor. But you can force Mini vMac to emulate a 68020 processor with:
-em-cpu 2 { 68020 }
The 68020 emulation is experimental and is believed to have bugs. It is there mostly to provide a stepping stone to emulating later Macintoshes.
You can enable an alternative CPU emulation with:
-alt-cpu { Alternate CPU emulation }
This emulation is a bit faster, cleaner, and more accurately distinguishes illegal instructions. But it is too new to be trusted yet.
-min-extn { Mininum Extensions }
This option turns off all but the minimum Mini vMac extensions, such as importing and exporting the clipboard, and creating new disk images and files, leaving just what is needed for the replacement disk driver to operate.
This makes the program smaller, and perhaps reduces potential security concerns. So it could be worth doing for when the extensions aren't needed, such as for most games.
-t imch { Macintosh OS X - Intel }
-t mach { Macintosh OS X - PowerPC }
-t mppc { Macintosh OS 9 and earlier - PowerPC }
-t m68k { Macintosh - 680x0 }
-t wx86 { Microsoft Windows - Intel }
-t lx86 { Linux - Intel }
-t mx11 { X11 for Macintosh OS X - PowerPC }
-t mi11 { X11 for Macintosh OS X - Intel }
-t slrs { Solaris - SPARC }
-t sl86 { Solaris - Intel }
-e xcd { Apple Xcode and Project Builder }
-e msv { Microsoft Visual C++ }
-e mpw { Macintosh Programmers Workshop }
-e mw8 { Metrowerks CodeWarrior }
-e bgc { Gnu tools }
-e lcc { lcc-win32 - Jacob Navia }
-e dvc { Bloodshed Dev-C++ }
Development Environment Version
-ev 1000 { Apple Xcode 1.0 }
-ev 1500 { Apple Xcode 1.5 }
-ev 2100 { Apple Xcode 2.1 }
-ev 2200 { Apple Xcode 2.2 }
-ev 2210 { Apple Xcode 2.2.1 }
-ev 2300 { Apple Xcode 2.3 }
-ev 2400 { Apple Xcode 2.4 }
-ev 2410 { Apple Xcode 2.4.1 }
-ev 6000 { Microsoft Visual C++ 6.0 }
-ev 7000 { Microsoft Visual C++ Toolkit 2003 }
-ev 8000 { Microsoft Visual C++ 2005 Express Edition }
-pk { package }
With this option, the compiled application is packaged into a format suitable for distribution. Also, an md5 checksum is generated. Only some development environments are supported.
For Xcode and Gnu tools, a tgz archive is created.
For Microsoft Visual C++, a zip archive is created. It requires the tools 'zip' and 'md5sum', which are available from 'http://unxutils.sourceforge.net/', for example.
For MPW, a zipped StuffIt archive is created. It requires the tools minisit, minizip, and minimd5, which aren't yet publicly released.
-im 1 { Icon Master }
When compiled with the "Icon Master" setting turned on, Mini vMac will try to take ownership of Disk Image files and ROM Image files. It is better to have at most one copy of Mini vMac compiled with '-im 1' on a single computer. It may be preferred to have no copies of Mini vMac compiled with '-im 1', to avoid possible conflicts with other programs.
In Mac OS X, Windows, and Mac OS 9 and earlier, double clicking on a Disk Image icon will open it with a copy of Mini vMac compiled with '-im 1'. Also, Disk Image and ROM image files will be given Mini vMac icons.
In Windows, a copy of Mini vMac compiled with '-im 1' will install itself in the registry when it is launched. So it will not take ownership of Disk Image and ROM image files until after the first launch. (And the Mini vMac document icons may not appear until the computer is rebooted.)
This setting currently has no effect in the Linux and other X versions.
-no-asm { no assembly language }
When this flag is set, no assembly language code
is used to compiled Mini vMac. The equivalent
C code is used instead.
This currently has effect only in the Mac PowerPC versions. There is no assembly language code available for other versions.
-cl { use command line tools }
For Apple Xcode and Microsoft Visual C++, this option generates a makefile for use with the command line tools, instead of project file for the IDE. This option is turned on automatically if the '-pk' option is used.
-d d { debug }
-d t { test }
-d s { ship }
-nex { Do not export archive }
-eol mac { Macintosh }
-eol win { Windows }
-eol unx { Unix }
-arc sit { stuff it }
-arc zip { zip }
-arc tar { tar }