|
Maintainer Name
|
This page lists compile time options useful to people who wish to develop or maintain Mini vMac. The main Options page has options of interest to everyone else. First see the Build page to learn how to compile Mini vMac. |
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.
Instead of specifying the whole variation name, you can just specify the abbreviated name, with a line such as:
-an mnvm0001
The version number and platform parts of the variation name are automatically generated. The abbreviated name must be 8 characters or less, and should only include lowercase letters, numbers, and underscores.
-intl
This option forces Mini vMac to support international characters in the user interface, even when using the default English. This is useful if the maintainer name needs the extra characters. (It would be nicer for the build system to figure out for itself what character set is needed. But this will do for now.)
Some additional options for target that are not officially supported:
-t mx11 { X11 for Macintosh OS X - PowerPC }
-t mi11 { X11 for Macintosh OS X - Intel }
-t mx64 { X11 for Macintosh OS X - x86-64 }
-t cygw { Cygwin/X for Microsoft Windows }
-t slrs { Solaris - SPARC }
-t sl86 { Solaris - Intel }
-t wc86 { Pocket PC - Intel (Emulator) }
-t irix { IRIX - MIPS }
-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++ }
-e mgw { MinGW }
-e cyg { Cygwin }
-e snc { Sun c compiler }
-e dmc { Digital Mars Compiler }
-e plc { Pelles C Compiler }
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 3100 { Apple Xcode 3.1 }
-ev 4000 { Apple Xcode 4.0 }
-ev 6000 { Microsoft Visual C++ 6.0 }
-ev 7000 { Microsoft Visual Studio .NET 2002 }
-ev 7100 { Microsoft Visual Studio .NET 2003 }
-ev 8000 { Microsoft Visual Studio 2005 }
-ev 9000 { Microsoft Visual Studio 2008 }
-ev 10000 { Microsoft Visual Studio 2010 }
The build system normally determines the appropriate API (Application Programming Interface) from the target (-t) you have specified. You can override this choice with lines such as:
-api mac { Macintosh OS }
-api osx { Macintosh OS X }
-api win { Microsoft Windows 32 }
-api xwn { X Window System }
-api gtk { GTK+ (GIMP Toolkit) }
Currently the only useful use of this option is to specify '-api gtk' for a linux target (overriding the default '-api xwn'). This gets a menu bar and file dialogs, but loses other features since this port is incomplete.
The build system normally determines the appropriate Sound API from the target (-t) you have specified. You can override this choice with lines such as:
-snd-api alsa { Advanced Linux Sound Architecture }
-snd-api ddsp { Open Sound System and compatible }
Currently the only useful use of this option is to specify '-snd-api ddsp' for a linux target (overriding the default '-snd-api alsa').
-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.
So far, assembly language is available only for PowerPC and x86.
-cl { use command line tools }
For Apple Xcode, Microsoft Visual C++, and lcc-win32, this option generates a makefile for use with the command line tools, instead of project file for the IDE.
-d d { debug }
-d t { test }
-d s { ship }
-log { enable logging infrastructure }
Logging won't do much without further enabling or creating code to log various events that you are currently interested in. This is for developers only.
-dis { enable disassembler }
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. Requires the "-log" option. Nothing much will happen without further enabling or creating code to log various events that you are currently interested in.
bug : This isn't working correctly in Full Screen Mode, at least in OS X 10.6.8, and so is not supported for this version, at least.
-vsync 1 (mnvm0159)
Currently for OS X only, this option turns on OpenGL double buffering and sets AGL_SWAP_INTERVAL to 1. This eliminates the "tearing" issues noted by Manuel Alfayate. Unfortunately it isn't yet a real solution, it is more to help illustrate the issue before coming up with a better implementation. (See testsync.) Besides using much more memory, it also reduces the maximum speed of emulation unpredictably and erratically, because it makes aglSwapBuffers block until the vertical retrace, when Mini vMac is expecting to give the emulation extra time, for above "1x" speed.
-nex { Do not export archive }
-eol mac { Macintosh }
-eol win { Windows }
-eol unx { Unix }
-arc sit { stuff it }
-arc zip { zip }
-arc tar { tar }