mirror of
https://github.com/InvisibleUp/uvmac.git
synced 2024-11-25 11:31:18 +00:00
1602 lines
51 KiB
HTML
1602 lines
51 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html>
|
|
|
|
<head>
|
|
<title> Options in Mini vMac </title>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<link rel="canonical" href="options.html">
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<center>
|
|
<h1> Mini vMac - Options </h1>
|
|
<p>Not applicable to µvMac</p>
|
|
<a href="index.html">Back</a>
|
|
</center>
|
|
<hr>
|
|
|
|
<p><a href="options.html#option_t">Target</a></p>
|
|
<p><a href="options.html#option_lang">Language</a></p>
|
|
<p><a href="options.html#option_m">Model</a></p>
|
|
<p><a href="options.html#option_xres">Screen Size</a></p>
|
|
<p><a href="options.html#option_depth">Screen Depth</a></p>
|
|
<p><a href="options.html#option_fullscreen">Full Screen Mode</a></p>
|
|
<p><a href="options.html#option_magnify">Magnify</a></p>
|
|
<p><a href="options.html#option_sound">Sound</a></p>
|
|
<p><a href="options.html#option_sss">Sound Sample Size</a></p>
|
|
<p><a href="options.html#option_drives">Number of disk images</a></p>
|
|
<p><a href="options.html#option_ndp"><i>{Alpha} Non Disk Image Protection</i></a></p>
|
|
<p><a href="options.html#option_sony_sum">Checksum disk images</a></p>
|
|
<p><a href="options.html#option_sony_tag">Disk images file tags</a></p>
|
|
<p><a href="options.html#option_sony_dc42">Disk Copy 4.2 format</a></p>
|
|
<p><a href="options.html#option_svd">Enable Save Dialog</a></p>
|
|
<p><a href="options.html#option_iid">Insert Ith Disk Image</a></p>
|
|
<p><a href="options.html#option_ccs">Command Control Swap</a></p>
|
|
<p><a href="options.html#option_km">Keyboard Remap</a></p>
|
|
<p><a href="options.html#option_ekt">Emulated Key Toggle</a></p>
|
|
<p><a href="options.html#option_akm">Alternate Keyboard Mode</a></p>
|
|
<p><a href="options.html#option_ikb">International Keyboard fix</a></p>
|
|
<p><a href="options.html#option_speed">Speed</a></p>
|
|
<p><a href="options.html#option_ta">Timing Accuracy</a></p>
|
|
<p><a href="options.html#option_em_cpu">Emulated CPU</a></p>
|
|
<p><a href="options.html#option_mem">Memory</a></p>
|
|
<p><a href="options.html#option_cbt">Caret Blink Time</a></p>
|
|
<p><a href="options.html#option_dct">Double Click Time</a></p>
|
|
<p><a href="options.html#option_mnb">Menu Blinks</a></p>
|
|
<p><a href="options.html#option_kyt">Keyboard Repeat Threshold</a></p>
|
|
<p><a href="options.html#option_kyr">Keyboard Repeat Rate</a></p>
|
|
<p><a href="options.html#option_svl">Sound Volume</a></p>
|
|
<p><a href="options.html#option_hc">Highlight Color</a></p>
|
|
<p><a href="options.html#option_alc">Location</a></p>
|
|
<p><a href="options.html#option_atz">Time Zone</a></p>
|
|
<p><a href="options.html#option_min_extn">Minimum Extensions</a></p>
|
|
<p><a href="options.html#option_emm">Mouse Emulation Accuracy</a></p>
|
|
<p><a href="options.html#option_gkf">Grab Keys in Full Screen</a></p>
|
|
<p><a href="options.html#option_eci">Enable Control Interrupt</a></p>
|
|
<p><a href="options.html#option_ecr">Enable Control Reset</a></p>
|
|
<p><a href="options.html#option_eck">Enable Emulated Control Toggle</a></p>
|
|
<p><a href="options.html#option_ci">32 bit drawing</a></p>
|
|
<p><a href="options.html#option_gse">Graphics Switching Enable</a></p>
|
|
<p><a href="options.html#option_sgn">Code Signing Disable</a></p>
|
|
<p><a href="options.html#option_sbx">Sandboxing Enable</a></p>
|
|
<p><a href="options.html#option_ahm">Alternate Happy Mac Icon</a></p>
|
|
<p><a href="options.html#option_rsz"><ROM Size</a></p>
|
|
<p><a href="options.html#option_chr">Check ROM Checksum</a></p>
|
|
<p><a href="options.html#option_drc">Disable Rom Check</a></p>
|
|
<p><a href="options.html#option_drt">Disable Ram Test</a></p>
|
|
<p><a href="options.html#option_lt">LocalTalk</a></p>
|
|
<p><a href="options.html#option_lto"><i>{Alpha} LocalTalk Over</i></a></p>
|
|
<p><a href="options.html#option_im">Icon Master</a></p>
|
|
<p><a href="options.html#option_abr">Abnormal Situation Reports</a></p>
|
|
<p><a href="options.html#option_cte">Test Compile Error</a></p>
|
|
<p><a href="options.html#option_bte">Test Build System Error</a></p>
|
|
<p><a href="options.html#option_xclm">Override</a></p>
|
|
<p><a href="options.html#option_br">Branch</a></p>
|
|
|
|
<hr />
|
|
|
|
<p> <a name="option_t"> <b> Target </b> </a> </p>
|
|
|
|
<p> What kind of computer do you want to run Mini vMac on? Choose
|
|
one of these lines: </p>
|
|
|
|
<pre>
|
|
-t mc64 { Macintosh OS X - x86-64 }
|
|
-t imch { Macintosh OS X - x86-32 }
|
|
-t mach { Macintosh OS X - PowerPC }
|
|
-t wx64 { Microsoft Windows - x86-64 }
|
|
-t wx86 { Microsoft Windows - x86-32 }
|
|
-t lx64 { Linux - x86-64 }
|
|
-t lx86 { Linux - x86-32 }
|
|
-t lppc { Linux - PowerPC }
|
|
-t larm { Linux - ARM }
|
|
-t lspr { Linux - SPARC }
|
|
-t fb64 { FreeBSD on x86-64 }
|
|
-t fbsd { FreeBSD on x86-32 }
|
|
-t ob64 { OpenBSD on x86-64 }
|
|
-t obsd { OpenBSD on x86-32 }
|
|
-t nb64 { NetBSD on x86-64 }
|
|
-t nbsd { NetBSD on x86-32 }
|
|
-t db64 { Dragonfly BSD on x86-64 }
|
|
-t dbsd { Dragonfly BSD on x86-32 }
|
|
-t oi64 { OpenIndiana on x86-64 }
|
|
-t oind { OpenIndiana on x86-32 }
|
|
-t wcar { Pocket PC - ARM }
|
|
</pre>
|
|
|
|
<p> <a name="option_lang"> <b> Language </b> </a> </p>
|
|
|
|
<p> By default, the user interface of Mini vMac is in English.
|
|
Other languages can be chosen with one of these lines: </p>
|
|
|
|
<pre>
|
|
-lang eng { (default) English }
|
|
-lang fre {<!-- (<a href="var/mnvm0060.html">mnvm0060</a>) --> French }
|
|
-lang ita {<!-- (<a href="var/mnvm0061.html">mnvm0061</a>) --> Italian }
|
|
-lang ger {<!-- (<a href="var/mnvm0062.html">mnvm0062</a>) --> German }
|
|
-lang dut {<!-- (<a href="var/mnvm0063.html">mnvm0063</a>) --> Dutch }
|
|
-lang spa {<!-- (<a href="var/mnvm0064.html">mnvm0064</a>) --> Spanish }
|
|
-lang pol { Polish }
|
|
-lang ptb { Brazilian Portuguese }
|
|
-lang cat { Catalan }
|
|
-lang cze { Czech }
|
|
-lang srl { Serbian Latin }
|
|
</pre>
|
|
|
|
<p> If you would be interested in translating the user interface into
|
|
some other language, see the
|
|
<a href="local/index.html">Localization</a>
|
|
page for more details. </p>
|
|
|
|
<p> <a name="option_m"> <b> Model </b> </a> </p>
|
|
|
|
<p> By default, Mini vMac emulates a Macintosh Plus. But it also
|
|
can be compiled to emulate a few other computers, with one of these lines: </p>
|
|
|
|
<pre>
|
|
-m 128K {<!-- (<a href="var/mnvm0020.html">mnvm0020</a>) --> Macintosh 128K }
|
|
-m 512Ke {<!-- (<a href="var/mnvm0022.html">mnvm0022</a>) --> Macintosh 512Ke }
|
|
-m Plus { (default) Macintosh Plus }
|
|
-m SE {<!-- (<a href="var/mnvm0023.html">mnvm0023</a>) --> Macintosh SE }
|
|
-m Classic {<!-- (<a href="var/mnvm0025.html">mnvm0025</a>) --> Macintosh Classic }
|
|
-m SEFDHD {<!-- (<a href="var/mnvm0024.html">mnvm0024</a>) --> Macintosh SE FDHD }
|
|
-m II { Macintosh II * }
|
|
</pre>
|
|
|
|
<p> * The Macintosh II emulation is incomplete, and
|
|
should not be relied on to give accurate results, particularly numeric
|
|
results. (Emulation of the Floating Point Unit is the main incomplete
|
|
part.) It does seem suitable for games, many of which appear to work
|
|
perfectly well. </p>
|
|
|
|
<p> The Macintosh II emulation is not available on a Macintosh 680x0 target
|
|
(“-t m68k”), because the compiler used doesn’t support
|
|
64 bit integers currently needed for FPU emulation.
|
|
</p>
|
|
|
|
<p> Since a Macintosh II can be hard to find, the Macintosh II
|
|
emulator will accept the ROM from Macintosh IIx. The
|
|
Macintosh IIx ROM appears to work with Macintosh II hardware.
|
|
The Macintosh IIcx, the Macintosh II FDHD,
|
|
and the Macintosh SE/30 all have the same ROM as the Macintosh IIx. </p>
|
|
|
|
<p> <a name="option_xres"> <b> Screen Size </b> </a> </p>
|
|
|
|
<p> You can choose the emulated screen size with lines such as: </p>
|
|
|
|
<pre>
|
|
-hres 640 { horizontal resolution }
|
|
-vres 512 { vertical resolution }
|
|
</pre>
|
|
|
|
<p> Mini vMac requires that the horizontal resolution
|
|
be a multiple of 32. </p>
|
|
|
|
<p> For the Macintosh Plus, and other Macintosh computers without
|
|
Color Quickdraw, this is a hack implemented with numerous
|
|
ROM patches. It emulates a computer that never existed, so
|
|
there will definitely be compatibility issues with some software.
|
|
Also keep in mind that most games that will work on the Macintosh Plus
|
|
are designed for 512x342, and don't benefit from a larger screen.
|
|
You can also set the emulated screen smaller than 512x342, which
|
|
could be useful on portable devices, but that will really cause
|
|
compatibility issues. </p>
|
|
|
|
<p> For the Macintosh II emulation, these options specify the
|
|
resolution of the external monitor, and shouldn't cause
|
|
compatibility problems, at least if you choose values that were common
|
|
on real monitors of the era. On the other hand, the Macintosh
|
|
II emulation is unfinished, and not really usable yet. </p>
|
|
|
|
<p> Some example screen sizes: </p>
|
|
|
|
<p> common old Macintosh screen sizes </p>
|
|
<pre>
|
|
-hres 512 -vres 384 <!-- { (<a href="var/mnvm0100.html">mnvm0100</a>) } -->
|
|
-hres 640 -vres 480 <!-- { (<a href="var/mnvm0101.html">mnvm0101</a>) } -->
|
|
-hres 800 -vres 600 <!-- { (<a href="var/mnvm0102.html">mnvm0102</a>) } -->
|
|
-hres 1024 -vres 768 <!-- { (<a href="var/mnvm0103.html">mnvm0103</a>) } -->
|
|
</pre>
|
|
|
|
<p> common current screen sizes, but divided by two, so can use Magnify in full screen </p>
|
|
|
|
<pre>
|
|
-hres 512 -vres 384 {<!-- (<a href="var/mnvm0100.html">mnvm0100</a>) --> half 1024 x 768 }
|
|
-hres 640 -vres 400 {<!-- (<a href="var/mnvm0110.html">mnvm0110</a>) --> half 1280 x 800 }
|
|
-hres 640 -vres 512 {<!-- (<a href="var/mnvm0111.html">mnvm0111</a>) --> half 1280 x 1024 }
|
|
-hres 704 -vres 450 {<!-- (<a href="var/mnvm0112.html">mnvm0112</a>) --> half 1440 x 900, width constrained }
|
|
-hres 832 -vres 525 {<!-- (<a href="var/mnvm0113.html">mnvm0113</a>) --> half 1680 x 1050, width constrained }
|
|
-hres 960 -vres 540 {<!-- (<a href="var/mnvm0114.html">mnvm0114</a>) --> half 1920 x 1080 }
|
|
-hres 960 -vres 600 {<!-- (<a href="var/mnvm0115.html">mnvm0115</a>) --> half 1920 x 1200 }
|
|
</pre>
|
|
|
|
<p> Mini vMac allows up to 4 Megabytes of Video RAM in the Macintosh
|
|
II emulation. Anything over 1 Megabyte requires a hack, since
|
|
each NuBus slot only gets 1 Megabyte of the address space in
|
|
24 bit mode. Space from adjacent NuBus slots is given to
|
|
the emulated video card. </p>
|
|
|
|
<p> <a name="option_depth"> <b> Screen Depth </b> </a> </p>
|
|
|
|
<p> You can choose the emulated screen color depth with lines such as: </p>
|
|
|
|
<pre>
|
|
-depth 0 { black and white }
|
|
-depth 1 { 2 bit color (4 colors) }
|
|
-depth 2 { 4 bit color (16 colors) }
|
|
-depth 3 { 8 bit color (256 colors) (default for Mac II emulation) }
|
|
-depth 4 { 16 bit color (thousands) }
|
|
-depth 5 { 32 bit color (millions) }
|
|
</pre>
|
|
|
|
<p>
|
|
These options only work for Macintosh models that support
|
|
Color Quickdraw, which currently means Mac II emulation only.
|
|
</p>
|
|
|
|
<p>
|
|
To use thousands or millions of colors in System 6, you need
|
|
to have 32-Bit QuickDraw, which is available from the
|
|
System 6.0.8 installer, under Customize.
|
|
</p>
|
|
|
|
<p> Color depth is a compile time option, instead
|
|
of run time option, to help keep Mini vMac simple and
|
|
small. However, regardless of the chosen color depth,
|
|
Black and White is also available, and can
|
|
be selected from the "Monitors" control panel.
|
|
(In fact, you may not see color until selecting
|
|
it from the "Monitors" control panel.) </p>
|
|
|
|
<p> <a name="option_fullscreen"> <b> Full Screen Mode </b> </a> </p>
|
|
|
|
<pre>
|
|
-fullscreen 0 { (default) start with Full Screen Mode off }
|
|
-fullscreen 1 {<!-- (<a href="var/mnvm0162.html">mnvm0162</a>) --> start with Full Screen Mode on }
|
|
</pre>
|
|
|
|
<pre>
|
|
-var-fullscreen 0 { Full Screen Mode is constant }
|
|
-var-fullscreen 1 { (default) Full Screen Mode is variable }
|
|
</pre>
|
|
|
|
<p> "-var-fullscreen 0" combines with -fullscreen like so: <p>
|
|
|
|
<pre>
|
|
-var-fullscreen 0 -fullscreen 0 {<!-- (<a href="var/mnvm0163.html">mnvm0163</a>) --> Never run in Full Screen Mode }
|
|
-var-fullscreen 0 -fullscreen 1 {<!-- (<a href="var/mnvm0164.html">mnvm0164</a>) --> Always run in Full Screen Mode }
|
|
</pre>
|
|
|
|
<p> In both cases, the "F" control mode command disappears. </p>
|
|
|
|
<p> <a name="option_magnify"> <b> Magnify </b> </a> </p>
|
|
|
|
<pre>
|
|
-magnify 0 { (default) start with Magnify Mode off }
|
|
-magnify 1 {<!-- (<a href="var/mnvm0165.html">mnvm0165</a>) --> start with Magnify Mode on }
|
|
</pre>
|
|
|
|
<p> The magnification factor can be changed: </p>
|
|
|
|
<pre>
|
|
-mf 1 { disable magnification }
|
|
-mf 2 { (default) 2x }
|
|
-mf 3 { 3x }
|
|
-mf 4 { 4x }
|
|
...
|
|
</pre>
|
|
|
|
<p> Disabling magnification with "-mf 1" removes the Control-M command. </p>
|
|
|
|
<p> <a name="option_sound"> <b> Sound </b> </a> </p>
|
|
|
|
<p> The Macintosh, Windows, Linux, FreeBSD, and NetBSD versions have sound
|
|
emulation on by default. The Dragonfly BSD and OpenIndiana version can be compiled
|
|
with sound, but this hasn't been tested. The OpenBSD version can be
|
|
compiled with sound, but it doesn't work. (Other versions don't implement sound.)
|
|
</p>
|
|
|
|
<pre>
|
|
-sound 1 { Emulate sound }
|
|
-sound 0 {<!-- (<a href="var/mnvm0150.html">mnvm0150</a>) --> No sound emulation }
|
|
</pre>
|
|
|
|
<p> One reason to disable sound is to avoid the Macintosh start up beep. Another
|
|
reason is to get a few percent better performance. </p>
|
|
|
|
<p> <a name="option_sss"> <b> Sound Sample Size </b> </a> </p>
|
|
|
|
<pre>
|
|
-sss 3 { (default) 8 bit sound }
|
|
-sss 4 { 16 bit sound }
|
|
</pre>
|
|
|
|
<p> A Macintosh Plus outputs 8 bit sound (256 possible levels),
|
|
which is then modulated by the sound volume setting (8 possible levels),
|
|
and also by the square wave generator. By default Mini vMac
|
|
currently outputs 8 bit sound, but there is an option to output 16
|
|
bit sound, which allows more accurate output when the sound volume
|
|
setting is less than maximum, and when the square wave generator
|
|
is used.
|
|
</p>
|
|
|
|
<p> <a name="option_drives"> <b> Number of disk images </b> </a> </p>
|
|
|
|
<p> 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: </p>
|
|
|
|
<pre>
|
|
-drives 1
|
|
-drives 2
|
|
-drives 3
|
|
...
|
|
-drives 6 { (default) }
|
|
...
|
|
-drives 16 <!-- { (<a href="var/mnvm0153.html">mnvm0153</a>) } -->
|
|
...
|
|
-drives 32
|
|
</pre>
|
|
|
|
<p> 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. </p>
|
|
|
|
<p> 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. </p>
|
|
|
|
<p> <a name="option_ndp"> <b> <i>{Alpha} Non Disk Image Protection </i> </b> </a> </p>
|
|
|
|
<pre>
|
|
-npd 0 <i>{ turn off Non Disk Image Protection }</i>
|
|
</pre>
|
|
|
|
<p> <i>
|
|
As of branch 37, Mini vMac will check if a disk image that is being
|
|
mounted looks like a Macintosh disk image format (HFS or MFS), and
|
|
if not decline to mount it, showing an error message. This helps
|
|
prevents accidentally corrupting other files, especially when using
|
|
ImportFl.
|
|
</i> </p>
|
|
|
|
<p> <i>
|
|
But there are some other disk image formats that you might want to
|
|
mount, such as Fat16 and ISO (which can be used by the emulated
|
|
Macintosh with additional software). Or, you may be trying to create
|
|
your own new disk image and want the emulated Macintosh to initialize it.
|
|
In these cases you can use a version of Mini vMac compiled with the
|
|
“-npd 0” option to turn off this protection.
|
|
</i> </p>
|
|
|
|
<p> <i>
|
|
If a <a href="options.html#option_br">Branch</a> option prior to 37
|
|
is chosen for compatibility with an earlier version,
|
|
the default is “-npd 0”, and you can
|
|
use “-npd 1” to turn on this protection.
|
|
</i> </p>
|
|
|
|
<p> <a name="option_sony_sum"> <b> Checksum disk images </b> </a> </p>
|
|
|
|
<pre>
|
|
-sony-sum 1
|
|
</pre>
|
|
|
|
<p> With the above line, Mini vMac will
|
|
update the checksum in a Disk Copy 4.2 disk image
|
|
when it is unmounted. This prevents other programs that deal with
|
|
such images from complaining about an invalid checksum.
|
|
(I didn't include this by default, because it makes Mini vMac
|
|
slightly bigger and slower.) </p>
|
|
|
|
<p> <a name="option_sony_tag"> <b> Disk images file tags </b> </a> </p>
|
|
|
|
<pre>
|
|
-sony-tag 1
|
|
</pre>
|
|
|
|
<p> With the above line, Mini vMac tries to support file tags,
|
|
for disk image formats that support them. There are an additional 12 bytes
|
|
for each 512 byte block on a 400K or 800K floppy disk, containing
|
|
some additional information that was supposed to aid in
|
|
recovering damaged disks, but was never actually used much.
|
|
The Disk Copy 4.2 disk image format can support these tags.
|
|
(The more usual raw format, such as found in
|
|
<a href="extras/blanks/index.html">Blanks</a>, does not.) </p>
|
|
|
|
<p> For full support of Disk Copy 4.2 format, enable both checksums and tags: </p>
|
|
|
|
<pre>
|
|
-sony-sum 1 -sony-tag 1 <!-- { (<a href="var/mnvm0155.html">mnvm0155</a>) } -->
|
|
</pre>
|
|
|
|
<p> <a name="option_sony_dc42"> <b> Disk Copy 4.2 format </b> </a> </p>
|
|
|
|
<pre>
|
|
-sony-dc42 0 <!-- { (<a href="var/mnvm0156.html">mnvm0156</a>) } -->
|
|
</pre>
|
|
|
|
<p> The above line
|
|
completely disables support for disk images in disk copy 4.2
|
|
format. This could be useful when trying to compile the
|
|
smallest and simplest version of Mini vMac possible for
|
|
some specific purpose. It should not be used when compiling
|
|
a version of Mini vMac for general distribution, because
|
|
a primary goal of Mini vMac is that disk images that
|
|
work with any past version of the program should also
|
|
work with the current and any future version (at least
|
|
when default compile options are used). </p>
|
|
|
|
<p> <a name="option_svd"> <b> Enable Save Dialog </b> </a> </p>
|
|
|
|
<pre>
|
|
-svd 0 { disable save dialog }
|
|
</pre>
|
|
|
|
<p>
|
|
Normally the OS X and Windows versions will display a save dialog
|
|
when the Mini vMac extension to create a file is used. A save
|
|
dialog is not implemented in the Linux version, instead it
|
|
will create the file in a folder named “out” in
|
|
the application directory. When this option is used to disable
|
|
the save dialog, the OS X and Windows version will also save
|
|
to an “out” folder in the same fashion as the Linux version.
|
|
This is helpful when using Mini vMac in automated scripts.
|
|
</p>
|
|
|
|
<p> <a name="option_iid"> <b> Insert Ith Disk Image </b> </a> </p>
|
|
|
|
<pre>
|
|
-iid 1 { enable Insert Ith Disk Image }
|
|
</pre>
|
|
|
|
<p>
|
|
When this feature is enabled, if the Control key is held down
|
|
and a number key from ‘1’ to ‘9’ is pressed,
|
|
then Mini vMac will try to mount a disk image named from "disk1.dsk" to
|
|
"disk9.dsk" in the folder containing the application.
|
|
</p>
|
|
|
|
<p>
|
|
This is the same series of disk image names that are automatically
|
|
mounted when Mini vMac is launched. But it stops at the first
|
|
image not found. So if you leave a name unused, then you can
|
|
use a control-number key to mount disks after launch. Or, you
|
|
can use a control-number key to remount a disk that was automatically
|
|
mounted at launch and then later ejected.
|
|
</p>
|
|
|
|
<p>
|
|
One example use is if you have one copy of Mini vMac running
|
|
a development environment (such as MPW) that is used to compile
|
|
a program to a disk image. The disk image is then unmounted
|
|
and mounted on another copy of Mini vMac running a testing
|
|
environment. If the compiled program crashes badly, the
|
|
development environment is not disturbed. The control-number key
|
|
feature makes it easier to move the disk image back
|
|
and forth between the two copies of Mini vMac.
|
|
</p>
|
|
|
|
<p> <a name="option_ccs"> <b> Command Control Swap </b> </a> </p>
|
|
|
|
<p> You can swap the emulated Command and Control keys with: </p>
|
|
|
|
<pre>
|
|
-ccs {<!-- (<a href="var/mnvm0158.html">mnvm0158</a>) --> Command Control Swap }
|
|
</pre>
|
|
|
|
<p> 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). </p>
|
|
|
|
<p> It can also be useful for people used to Macintosh
|
|
who have remapped the keys on their Windows machine
|
|
to swap Control and Alt. Using '-ccs' will swap
|
|
them back for Mini vMac. </p>
|
|
|
|
<p> Linux is the same as Windows in this way, as far
|
|
as I have seen. </p>
|
|
|
|
<p> The '-ccs' option does not affect F1 and F2, but
|
|
should affect any other keys that get mapped to
|
|
Control and Command. </p>
|
|
|
|
<p> <a name="option_km"> <b> Keyboard Remap </b> </a> </p>
|
|
|
|
<p>
|
|
Change the mapping between keys on the real Keyboard and keys on
|
|
the emulated Keyboard, or the Mini vMac Control Mode. For example:
|
|
</p>
|
|
|
|
<pre>
|
|
-km Escape CM -km Control Control
|
|
</pre>
|
|
|
|
<p>
|
|
The first -km above allows using the Escape Key for the Mini vMac Control Mode.
|
|
The second -km allows using the Control Key to mean Control Key
|
|
instead of the Mini vMac Control mode.
|
|
</p>
|
|
|
|
<p>
|
|
The general format is “-km <src> <dst>”,
|
|
where <src> and <dst> can be one of:
|
|
</p>
|
|
|
|
<pre>
|
|
Control
|
|
Command
|
|
Option
|
|
Shift
|
|
CapsLock
|
|
Escape
|
|
BackSlash
|
|
Slash
|
|
Grave
|
|
Enter
|
|
PageUp
|
|
PageDown
|
|
Home
|
|
End
|
|
Help
|
|
ForwardDel
|
|
F1
|
|
F2
|
|
F3
|
|
F4
|
|
F5
|
|
</pre>
|
|
|
|
<p>
|
|
In addition <dst> can be “CM”, which means
|
|
the key for the Mini vMac Control Mode.
|
|
</p>
|
|
|
|
<p>
|
|
Also in addition, <src> can be one of:
|
|
</p>
|
|
|
|
<pre>
|
|
RControl
|
|
RCommand
|
|
ROption
|
|
RShift
|
|
</pre>
|
|
|
|
<p>
|
|
Which means the keys on the right hand side of the keyboard,
|
|
when both the operating system and the keyboard hardware permit
|
|
distinguishing them from the left hand keys.
|
|
</p>
|
|
|
|
<p>
|
|
It is an error to have no key mapped to the control mode.
|
|
</p>
|
|
|
|
|
|
<p> <a name="option_ekt"> <b> Emulated Key Toggle </b> </a> </p>
|
|
|
|
<pre>
|
|
-ekt <dst>
|
|
</pre>
|
|
|
|
<p>
|
|
Where <dst> can be any of the values allowed for
|
|
the <a href="options.html#option_km">-km</a> option, except “CM”.
|
|
</p>
|
|
|
|
<p>
|
|
Chooses which emulated key is toggled by
|
|
the ‘K’ command of the Mini vMac
|
|
<a href="control.html#control_mode">Control Mode</a>.
|
|
</p>
|
|
|
|
<p>
|
|
When this option is not used, the build system will pick an emulated key
|
|
that is not mapped to any real key. That will be the control key
|
|
if no “-km” options are used.
|
|
</p>
|
|
|
|
<p> <a name="option_akm"> <b> Alternate Keyboard Mode </b> </a> </p>
|
|
|
|
<pre>
|
|
-akm {<!-- (<a href="var/mnvm0152.html">mnvm0152</a>) --> enable Alternate Keyboard Mode }
|
|
</pre>
|
|
|
|
<p> 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. </p>
|
|
|
|
<p> The program starts with the mode on.
|
|
Pressing the 'm' key leaves the mode. The intent
|
|
is that you only leave the mode temporarily to type text.
|
|
(I believe this is a similar idea to how the vi
|
|
text editor works.)
|
|
The alternate keyboard mode is entered by pressing
|
|
the ';' key. Pressing ';' has no effect when in the
|
|
alternate keyboard mode, so it can be used at any time to
|
|
bring the program to a known state. </p>
|
|
|
|
<p> In the Alternate Keyboard Mode, the letter keys
|
|
are remapped as follows (non letter keys are
|
|
unchanged): </p>
|
|
|
|
<blockquote>
|
|
<p> j - Left arrow
|
|
<br> l - Right arrow
|
|
<br> i - Up arrow
|
|
<br> k - Down arrow
|
|
</p>
|
|
|
|
<p> s - Shift
|
|
<br> d - Option
|
|
<br> f - Command
|
|
</p>
|
|
|
|
<p> z - F1 (often means Undo)
|
|
<br> x - F2 (often means Cut)
|
|
<br> c - F3 (often means Copy)
|
|
<br> v - F4 (often means Paste)
|
|
</p>
|
|
|
|
<p> e - BackSpace
|
|
<br> r - Return
|
|
<br> t - Tab
|
|
<br> g - Enter
|
|
<br> y - Escape
|
|
</p>
|
|
|
|
<p> a - SemiColon
|
|
<br> u - [
|
|
<br> o - ]
|
|
<br> b - BackSlash
|
|
<br> h - Equal
|
|
<br> n - Minus
|
|
<br> q - Grave
|
|
</p>
|
|
</blockquote>
|
|
|
|
<p> There is a visual indication when the mode is off,
|
|
intended to be easy to see in peripheral vision, without covering
|
|
up where text is normally typed. </p>
|
|
|
|
<p> Holding down the command, option, or shift keys will
|
|
temporarily turn off the Alternate Keyboard Mode. So if
|
|
you have the mode on, commands like Command-S will
|
|
still work, and anything except lowercase letters can be
|
|
typed without leaving the mode. </p>
|
|
|
|
<p> <a name="option_ikb"> <b> International Keyboard fix </b> </a> </p>
|
|
|
|
<p> The Virtual-Key Codes of Microsoft Windows, that are independent
|
|
of differences in keyboard hardware, turn out not to be independent
|
|
of the choice of Keyboard Layout. Changing the Keyboard Layout
|
|
to something other than "US" may scramble the Virtual-Key Codes,
|
|
strangely enough. Mini vMac will check the current Keyboard
|
|
Layout, and attempt to unscramble the codes, so that the Keyboard
|
|
Layout chosen in Macintosh operating system running within Mini vMac
|
|
will work properly. You can disable this fix with: </p>
|
|
|
|
<pre>
|
|
-ikb 0 { International Keyboard fix off }
|
|
</pre>
|
|
|
|
<p> One reason for disabling it is because this is fairly large amount
|
|
of code and US only users don't need it. But also it can be disabled
|
|
because I'm not sure I really understand this. Why did no one complain
|
|
about this issue in a decade?
|
|
</p>
|
|
|
|
<p> This option is only for Microsoft Windows. </p>
|
|
|
|
<p> <a name="option_speed"> <b> Speed </b> </a> </p>
|
|
|
|
<p> You can use one of these lines to set initial speed: </p>
|
|
|
|
<pre>
|
|
-speed z { 1x }
|
|
-speed 1 { 2x }
|
|
-speed 2 { 4x }
|
|
-speed 3 { 8x }
|
|
-speed 4 { 16x }
|
|
-speed 5 { 32x }
|
|
-speed a {<!-- (<a href="var/mnvm0151.html">mnvm0151</a>) --> All out }
|
|
</pre>
|
|
|
|
<p>
|
|
The default speed is usually 8x. For the Macintosh II the default
|
|
speed is 4x. (A Macintosh II has twice the clock rate, so the
|
|
actual number of instructions per second executed by default
|
|
is the same. Actually, a real Macintosh II has a 68020 which
|
|
executes more instructions per clock cycle than a 68000, but Mini vMac
|
|
doesn’t account for that yet.)
|
|
</p>
|
|
|
|
<p> You can use one of these lines to set initial value
|
|
of the Run in Background option: </p>
|
|
|
|
<pre>
|
|
-bg 0 { (default) start with Run in Background off }
|
|
-bg 1 {<!-- (<a href="var/mnvm0166.html">mnvm0166</a>) --> start with Run in Background on }
|
|
</pre>
|
|
|
|
<p> You can use one of these lines to set initial value
|
|
of the AutoSlow option: </p>
|
|
|
|
<pre>
|
|
-as 0 {<!-- (<a href="var/mnvm0169.html">mnvm0169</a>) --> start with AutoSlow disabled }
|
|
-as 1 { (default) start with AutoSlow enabled }
|
|
</pre>
|
|
|
|
<p> For Macintosh II emulation, AutoSlow is disabled by default.
|
|
AutoSlow may need some further tuning to work well with
|
|
Mac II emulation. </p>
|
|
|
|
<p> <a name="option_ta"> <b> Timing Accuracy </b> </a> </p>
|
|
|
|
<p> Mini vMac estimates the number of clock cycles used
|
|
by each instruction excuted. There are three levels
|
|
of accuracy. <p>
|
|
|
|
<pre>
|
|
-ta 0 {<!-- (<a href="var/mnvm0160.html">mnvm0160</a>) --> least accurate timing }
|
|
-ta 1 { (default) }
|
|
-ta 2 {<!-- (<a href="var/mnvm0161.html">mnvm0161</a>) --> most accurate timing }
|
|
</pre>
|
|
|
|
<p> In "-ta 0" all instructions are assumed to take
|
|
the same number of cycles. This closely matches Mini vMac 3.1.3
|
|
and earlier. </p>
|
|
|
|
<p> For "-ta 1", Mini vMac assigns an average number of cycles
|
|
for each of the 65536 primary opcodes.
|
|
This table is generated using timings from Motorola documentation.
|
|
When a range of timings are possible for a primary opcode,
|
|
an average was just guessed. In some future version of Mini vMac,
|
|
this table should be tested and calibrated by comparing to
|
|
real hardware. </p>
|
|
|
|
<p> For "-ta 2", Mini vMac supplements the cycles table by computing
|
|
more accurate estimates for certain instructions
|
|
depending on the current data. It is still not
|
|
completely accurate. Completely accurate
|
|
timing would be exceedingly difficult.
|
|
For example, the CPU and video output
|
|
conflict for accesses to RAM, and that would seem very
|
|
complex to model. </p>
|
|
|
|
<p> Currently 68000 timings are used even in
|
|
the 68020 emulation. More accurate timing for 68020 should be added in a
|
|
future version. Truly accurate timing for 68020 would be much more difficult
|
|
than for the 68000 because of pipelining and caching, probably to the point
|
|
of being unfeasible for Mini vMac.
|
|
But more accurate averages should be possible. </p>
|
|
|
|
<p> <a name="option_em_cpu"> <b> Emulated CPU </b> </a> </p>
|
|
|
|
<p> Most computers emulated by Mini vMac have
|
|
a 68000 processor. But you can force Mini
|
|
vMac to emulate a 68020 processor with: </p>
|
|
|
|
<pre>
|
|
-em-cpu 2 {<!-- (<a href="var/mnvm0154.html">mnvm0154</a>) --> 68020 }
|
|
</pre>
|
|
|
|
<p> <a name="option_mem"> <b> Memory </b> </a> </p>
|
|
|
|
<p> By default, Mini vMac emulates a Macintosh Plus with 4M of memory.
|
|
But it also can be compiled to emulate other memory sizes, depending on model: </p>
|
|
|
|
<pre>
|
|
Macintosh 128K and Macintosh 512Ke :
|
|
-mem 128K { 128 Kilobytes }
|
|
-mem 512K { 512 Kilobytes }
|
|
|
|
Macintosh Plus :
|
|
-mem 128K { 128 Kilobytes }
|
|
-mem 512K { 512 Kilobytes }
|
|
-mem 1M {<!-- (<a href="var/mnvm0130.html">mnvm0130</a>) --> 1 Megabyte }
|
|
-mem 2M {<!-- (<a href="var/mnvm0131.html">mnvm0131</a>) --> 2 Megabytes }
|
|
-mem 2.5M {<!-- (<a href="var/mnvm0132.html">mnvm0132</a>) --> 2.5 Megabytes }
|
|
-mem 4M { (default) 4 Megabytes }
|
|
|
|
Macintosh SE, Classic, and SE FDHD :
|
|
-mem 512K { 512 Kilobytes }
|
|
-mem 1M { 1 Megabyte }
|
|
-mem 2M { 2 Megabytes }
|
|
-mem 2.5M { 2.5 Megabytes }
|
|
-mem 4M { (default) 4 Megabytes }
|
|
|
|
Macintosh II :
|
|
-mem 1M { 1 Megabyte }
|
|
-mem 2M { 2 Megabytes }
|
|
-mem 4M { 4 Megabytes }
|
|
-mem 5M { 5 Megabytes }
|
|
-mem 8M { (default) 8 Megabytes }
|
|
</pre>
|
|
|
|
<p> The build system checks that the memory size you specify is
|
|
supported by the Macintosh model you have chosen to emulate. </p>
|
|
|
|
<p> <a name="option_cbt"> <b> Caret Blink Time </b> </a> </p>
|
|
|
|
<pre>
|
|
-cbt 3 { Fast }
|
|
-cbt 8 { Medium }
|
|
-cbt 15 { Slow }
|
|
</pre>
|
|
|
|
<p> The “Rate of Insertion Point Blinking” is
|
|
stored in the Parameter RAM. The default is 3 (Fast), except
|
|
for Macintosh II emulation where it is 8 (Medium). Must be
|
|
between 1 and 15.
|
|
</p>
|
|
|
|
<p> <a name="option_dct"> <b> Double Click Time </b> </a> </p>
|
|
|
|
<pre>
|
|
-dct 5 { Fast }
|
|
-dct 8 { Medium }
|
|
-dct 12 { Slow }
|
|
</pre>
|
|
|
|
<p> The “Double Click Time” (the maximum time between
|
|
mouse button clicks which will be treated as a double click) is
|
|
stored in the Parameter RAM. The default is 5 (Fast), except
|
|
for Macintosh II emulation where it is 8 (Medium). Must be
|
|
between 1 and 15.
|
|
</p>
|
|
|
|
<p> <a name="option_mnb"> <b> Menu Blinks </b> </a> </p>
|
|
|
|
<pre>
|
|
-mnb 0 { None }
|
|
-mnb 1 { once }
|
|
-mnb 2 { twice }
|
|
-mnb 3 { (default) thrice }
|
|
</pre>
|
|
|
|
<p>
|
|
The number of times the selected menu item blinks when
|
|
when the mouse button is released, which is stored in the Parameter RAM.
|
|
</p>
|
|
|
|
<p> <a name="option_kyt"> <b> Keyboard Repeat Threshold </b> </a> </p>
|
|
|
|
<pre>
|
|
-kyt 0 { Off }
|
|
-kyt 10 { Long }
|
|
-kyt 6 { (default) }
|
|
-kyt 4
|
|
-kyt 3 { Short }
|
|
</pre>
|
|
|
|
<p> The delay after a key is held down until it begins to
|
|
automatically repeat, which is stored in the Parameter RAM.
|
|
Must be between 0 and 15.
|
|
</p>
|
|
|
|
<p> <a name="option_kyr"> <b> Keyboard Repeat Rate </b> </a> </p>
|
|
|
|
<pre>
|
|
-kyr 0 { Slow }
|
|
-kyr 6
|
|
-kyr 4
|
|
-kyr 3 { (default) }
|
|
-kyr 1 { Fast }
|
|
</pre>
|
|
|
|
<p> The rate at which a key automatically repeats when it is
|
|
held down, which is stored in the Parameter RAM.
|
|
Must be between 0 and 15.
|
|
</p>
|
|
|
|
<p> <a name="option_svl"> <b> Sound Volume </b> </a> </p>
|
|
|
|
<pre>
|
|
-svl 0 { Minimum }
|
|
...
|
|
-svl 7 { Maximum }
|
|
</pre>
|
|
|
|
<p>
|
|
The Sound Volume is stored in the Parameter RAM. The default is
|
|
7 (Maximum) when sound is enabled, otherwise it is 0.
|
|
</p>
|
|
|
|
<p> <a name="option_hc"> <b> Highlight Color </b> </a> </p>
|
|
|
|
<pre>
|
|
-hcr 39321 { red component }
|
|
-hcg 52428 { green component }
|
|
-hcb 65535 { blue component }
|
|
</pre>
|
|
|
|
<p>
|
|
The color that is used for selected text, for example. It
|
|
is stored in the Parameter RAM. There are three separate options
|
|
for the red, green, and blue components. Each component value
|
|
must be betwen 0 and 65535. If its option is not present,
|
|
the value of the component is 0. These options are only
|
|
allowed for Macintosh II (or IIx) emulation.
|
|
</p>
|
|
|
|
<p>
|
|
The
|
|
“<a href="extras/getpram/index.html">GetPRAM</a>”
|
|
tool can be used to get values for these options. That is, first set
|
|
the desired highlight color in the “Color”
|
|
Macintosh Control Panel, and then run GetPRAM.
|
|
</p>
|
|
|
|
<p> <a name="option_alc"> <b> Location </b> </a> </p>
|
|
|
|
<p>
|
|
The Parameter RAM has fields for Latitude and Longitude,
|
|
which can be set with the Map control panel,
|
|
and are only used by a few programs. Mini vMac
|
|
tries to automatically set these fields by asking the host
|
|
operating system. This is currently implemented only for older
|
|
Macintosh, not including the latest port for Cocoa. When not
|
|
implemented, both fields are set to zero. The automatic
|
|
setting of these fields can be disabled by:
|
|
</p>
|
|
|
|
<pre>
|
|
-alc 0 { Disable Automatic Location }
|
|
</pre>
|
|
|
|
<p>
|
|
With the above option, the Latitude and Longitude can be set
|
|
manually:
|
|
</p>
|
|
|
|
<pre>
|
|
-lcy 485768755 { Latitude }
|
|
-lcx -883053230 { Longitude }
|
|
</pre>
|
|
|
|
<p>
|
|
The above example is for New York city. The Latitude and Longitude
|
|
in degrees is devided by 90 and then multiplied by 2 to the
|
|
30th power.
|
|
The
|
|
“<a href="extras/getpram/index.html">GetPRAM</a>”
|
|
tool can be used to get values for these options. That is, first set
|
|
the desired highlight location in the “Map”
|
|
Macintosh Control Panel, and then run GetPRAM.
|
|
</p>
|
|
|
|
<p>
|
|
If ‘-alc 0’ is not used, then the ‘-lcy’ and
|
|
‘-lcx’ options will be ignored without warning. This
|
|
is so the output of GetPRAM can be used directly without always
|
|
disabling Automatic Location.
|
|
</p>
|
|
|
|
<p>
|
|
These options may not be used when emulating
|
|
a Mac 128K, 512K, or 512Ke, which do not have Extended Parameter RAM.
|
|
</p>
|
|
|
|
<p> <a name="option_atz"> <b> Time Zone </b> </a> </p>
|
|
|
|
<p>
|
|
The Parameter RAM has fields for Time Zone, which include an
|
|
offset in seconds from Greenwich mean time, and a flag for
|
|
whether daylight saving time is in effect.
|
|
The offset can be set with the Map control panel, and the
|
|
flag can be set with the Data and Time control panel in System 7.5.
|
|
These fields are only used by a few programs. (The system clock
|
|
is kept in local time, and most programs use only local time.)
|
|
Mini vMac tries to automatically set these fields by asking the host
|
|
operating system. This is implemented for
|
|
Macintosh, Windows, Linux. When not implemented, both fields are set to
|
|
zero. The automatic setting of these fields can be disabled by:
|
|
</p>
|
|
|
|
<pre>
|
|
-atz 0 { Disable Automatic Time Zone }
|
|
</pre>
|
|
|
|
<p>
|
|
With the above option, the Time Zone field can be set
|
|
manually:
|
|
</p>
|
|
|
|
<pre>
|
|
-lcd 1 { Daylight Saving Time in effect }
|
|
-lczs -18000 { offset from GMT in seconds }
|
|
</pre>
|
|
|
|
<p>
|
|
When the offset is even multiple of 3600, as is
|
|
almost always the case, you can use:
|
|
</p>
|
|
|
|
<pre>
|
|
-lcz -5 { offset from GMT in hours }
|
|
</pre>
|
|
|
|
<p>
|
|
The
|
|
“<a href="extras/getpram/index.html">GetPRAM</a>”
|
|
tool can be used to get values for these options. That is, first set
|
|
the desired highlight location in the “Map”
|
|
Macintosh Control Panel, and if desired set the Daylight Savings flag
|
|
in the “Data and Time”
|
|
Macintosh Control Panel, and then run GetPRAM.
|
|
</p>
|
|
|
|
<p>
|
|
If ‘-alc 0’ is not used, then the ‘-lcd’,
|
|
‘-lczs’, and
|
|
‘-lcz’ options will be ignored without warning. This
|
|
is so the output of GetPRAM can be used directly without always
|
|
disabling Automatic Time Zone.
|
|
</p>
|
|
|
|
<p>
|
|
These options may not be used when emulating
|
|
a Mac 128K, 512K, or 512Ke, which do not have Extended Parameter RAM.
|
|
</p>
|
|
|
|
<p> <a name="option_min_extn"> <b> Minimum Extensions </b> </a> </p>
|
|
|
|
<pre>
|
|
-min-extn {<!-- (<a href="var/mnvm0157.html">mnvm0157</a>) --> Minimum Extensions }
|
|
</pre>
|
|
|
|
<p> 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. </p>
|
|
|
|
<p> 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. </p>
|
|
|
|
<p> <a name="option_emm"> <b> Mouse Emulation Accuracy </b> </a> </p>
|
|
|
|
<pre>
|
|
-emm 0 {<!-- (<a href="var/mnvm0167.html">mnvm0167</a>) --> less accurate emulation in Full Screen Mode }
|
|
</pre>
|
|
|
|
<p> This option disables the more accurate mouse emulation
|
|
normally used in Full Screen Mode, which looks at the
|
|
motion of the real mouse rather than its absolute position.
|
|
This allows Mini vMac to
|
|
work somewhat better on tablet computers without a mouse.
|
|
But such computers are still not really supported. </p>
|
|
|
|
<p> <a name="option_gkf"> <b> Grab Keys in Full Screen </b> </a> </p>
|
|
|
|
<pre>
|
|
-gkf 0 { don't grab keys in Full Screen Mode }
|
|
</pre>
|
|
|
|
<p>
|
|
Normally, when in Full Screen Mode, Mini vMac
|
|
will try to “grab” the keyboard, preventing the operating
|
|
system from intercepting keys. So in the Windows version,
|
|
the ‘windows’ key can be used as an ‘option’ key, instead
|
|
of popping up the “Start” menu. And in the
|
|
OS X version, Command-Tab won't switch away from Mini vMac.
|
|
This is also implemented in the X version.
|
|
</p>
|
|
|
|
<p>
|
|
This option disables grabbing the keyboard, allowing
|
|
the operating system to intercept keys when Mini vMac is
|
|
in Full Screen Mode.
|
|
</p>
|
|
|
|
<p> <a name="option_eci"> <b> Enable Control Interrupt </b> </a> </p>
|
|
|
|
<pre>
|
|
-eci 0 { disable Control-I command }
|
|
</pre>
|
|
|
|
<p>
|
|
The ‘I’ command of the Mini vMac
|
|
<a href="control.html#control_mode">Control Mode</a>,
|
|
which presses the emulated Interrupt Button, can
|
|
be disabled.
|
|
</p>
|
|
|
|
<p>
|
|
In a future version, it may be disabled by default.
|
|
(In the original Macintosh, the Interrupt Button was disabled
|
|
by default. You needed to install the
|
|
“Programmer’s Switch” to use it.)
|
|
</p>
|
|
|
|
<p> <a name="option_ecr"> <b> Enable Control Reset </b> </a> </p>
|
|
|
|
<pre>
|
|
-ecr 0 { disable Control-R command }
|
|
</pre>
|
|
|
|
<p>
|
|
The ‘R’ command of the Mini vMac
|
|
<a href="control.html#control_mode">Control Mode</a>,
|
|
which presses the emulated Reset Button, can
|
|
be disabled.
|
|
</p>
|
|
|
|
<p>
|
|
In a future version, it may be disabled by default.
|
|
(In the original Macintosh, the Reset Button was disabled
|
|
by default. You needed to install the
|
|
“Programmer’s Switch” to use it.)
|
|
</p>
|
|
|
|
<p> <a name="option_eck"> <b> Enable Emulated Control Toggle </b> </a> </p>
|
|
|
|
<pre>
|
|
-eck 0 { disable Control-K command }
|
|
</pre>
|
|
|
|
<p>
|
|
The ‘K’ command of the Mini vMac
|
|
<a href="control.html#control_mode">Control Mode</a>,
|
|
which toggles the emulated control key, can
|
|
be disabled.
|
|
</p>
|
|
|
|
<p>
|
|
In a future version, it may be disabled by default.
|
|
(The original Macintosh did not have a control key. And, using
|
|
this command accidentally would be confusing.)
|
|
</p>
|
|
|
|
<p> <a name="option_ci"> <b> 32 bit drawing </b> </a> </p>
|
|
|
|
<pre>
|
|
-ci 0 { do not use 32 bit drawing }
|
|
</pre>
|
|
|
|
<p>
|
|
This option is only for Linux and other X versions, when color
|
|
depth is zero. Passing single bit per pixel images to the operating
|
|
system is suspected to be unreliable, so Mini vMac now always
|
|
passes 32 bit images. This option forces it to use single bit
|
|
images, which may be more efficient, when you know that it works
|
|
(i.e. there weren't problems in Mini vMac 3.4 and earlier).
|
|
</p>
|
|
|
|
<p> <a name="option_gse"> <b> Graphics Switching Enable </b> </a> </p>
|
|
|
|
<pre>
|
|
-gse 1 { allow switching GPU }
|
|
</pre>
|
|
|
|
<p>
|
|
This option is only for the Cocoa version for OS X. On computers
|
|
with more than one GPU, it allows the operating system to
|
|
choose which one is used.
|
|
Otherwise on a MacBook pro,
|
|
<a href="https://www.gryphel.com/c/mail/v8.html#m86">it is reported</a> that
|
|
the higher power discrete GPU is always used instead of the
|
|
lower power integrated GPU, and that besides wasting power for no
|
|
noticable benefit, it also takes time to switch on the discrete GPU
|
|
when Mini vMac starts.
|
|
</p>
|
|
|
|
<p>
|
|
This will probably become the default in a future version.
|
|
</p>
|
|
|
|
<p> <a name="option_sgn"> <b> Code Signing Disable </b> </a> </p>
|
|
|
|
<pre>
|
|
-sgn 0 { disable code signing }
|
|
</pre>
|
|
|
|
<p>
|
|
This option is only for the Cocoa version for OS X which, as of Mini
|
|
vMac 36, is normally signed with a certificate from Apple, so that the
|
|
Gatekeeper feature of OS X will permit it to run.
|
|
</p>
|
|
|
|
<p>
|
|
Gatekeeper was added in OS X Mountain Lion (10.8). By default, the
|
|
operating system will refuse to run applications downloaded from the
|
|
internet, unless Apple considers it trustworthy (because it is digitally
|
|
signed by a developer registered with Apple). Gatekeeper is in some ways
|
|
a good idea, but some people consider it as one step along the way to
|
|
making OS X like iOS, where no software can be installed without Apple's
|
|
permission, and emulators are forbidden, including Mini vMac.
|
|
</p>
|
|
|
|
<p>
|
|
When Mini vMac is signed, Apple can at any time choose to revoke
|
|
the certificate, and Mini vMac will stop working.
|
|
</p>
|
|
|
|
<p>
|
|
Another issue is that, since Mini vMac doesn’t use Apple’s
|
|
time stamp server (because that would break reproducible builds, among
|
|
other problems), Mini vMac will probably stop working when the
|
|
certificate expires, 5 years after being issued. (The plan is to renew
|
|
the certificate every year, so that a compile of Mini vMac should work
|
|
for at least 4 years.)
|
|
</p>
|
|
|
|
<p>
|
|
To avoid these issues, you can disable code signing.
|
|
The disadvantage is that OS X will by default refuse to run it.
|
|
One way to override Gatekeeper, giving an application permission to run,
|
|
is to hold down the control key and click on its icon (or right click)
|
|
to get a contextual menu, then choose the Open item, and in the warning
|
|
dialog that comes up click on the Open button. (This only needs to
|
|
be done the first time Mini vMac is run.)
|
|
</p>
|
|
|
|
<p> <a name="option_sbx"> <b> Sandboxing Enable </b> </a> </p>
|
|
|
|
<pre>
|
|
-sbx 1 { enable Sandboxing }
|
|
</pre>
|
|
|
|
<p>
|
|
This option is only for the Cocoa version for OS X. It enables
|
|
“Sandboxing”, an Apple security mechanism, so that any bugs,
|
|
or even maliciousness, in Mini vMac can only do limited harm. However,
|
|
it does remove some capabilities. The single requested
|
|
“entitlement” allows Mini vMac to read and write files
|
|
that the user has selected, with the Open File dialog, or by
|
|
dragging into the Mini vMac window or icon.
|
|
</p>
|
|
|
|
<p>
|
|
But Mini vMac’s ability to automatically find files by name
|
|
in special locations is severely restricted.
|
|
It is prevented from finding “vMac.ROM”,
|
|
“disk1.dsk”, “disk2.dsk”, etc. in the folder
|
|
containing the application.
|
|
It can find such files in a “mnvm_dat” folder created
|
|
<a href="hardware.html#rom">inside the application</a>,
|
|
but only read only. It does not have access to
|
|
“~/Library/Preferences” to find “vMac.ROM” (but it
|
|
does get access to the corresponding folder inside its
|
|
container folder, which is obscure).
|
|
It does have read only acces to
|
|
“/Library/Application Support/”.
|
|
Furthermore, if these named files are links, that
|
|
won’t work unless the file linked to is in one of the few
|
|
places that a Sandboxed application has access to.
|
|
</p>
|
|
|
|
<p>
|
|
This may become the default in a future version.
|
|
</p>
|
|
|
|
<p> <a name="option_ahm"> <b> Alternate Happy Mac Icon </b> </a> </p>
|
|
|
|
<pre>
|
|
-ahm none { (default) }
|
|
-ahm aside
|
|
-ahm cheese
|
|
-ahm evil
|
|
-ahm horror
|
|
-ahm lady_mac
|
|
-ahm moustache
|
|
-ahm nerdy
|
|
-ahm pirate
|
|
-ahm sleepy
|
|
-ahm sly
|
|
-ahm sunglasses
|
|
-ahm surprise
|
|
-ahm tongue
|
|
-ahm yuck
|
|
-ahm zombie
|
|
</pre>
|
|
|
|
<p>
|
|
Patch the ROM to replace the “Happy Mac” icon displayed
|
|
on boot when a disk is inserted, with one of the images designed
|
|
by Steve Chamberlin for his
|
|
<a href="http://www.bigmessowires.com/mac-rom-inator/">Mac ROM-inator</a>
|
|
(used with permission).
|
|
</p>
|
|
|
|
<p> <a name="option_rsz"> <b> ROM Size </b> </a> </p>
|
|
|
|
<pre>
|
|
-rsz 16 { 64K }
|
|
-rsz 17 { 128K }
|
|
-rsz 18 { 256K }
|
|
-rsz 19 { 512K }
|
|
-rsz 20 { 1024K }
|
|
</pre>
|
|
|
|
<p>
|
|
The build system will normally select the correct ROM Size
|
|
for the Macintosh model you have chosen to emulate. But
|
|
you can override this, such as to use a ROM image for
|
|
Steve Chamberlin’s
|
|
<a href="http://www.bigmessowires.com/mac-rom-inator/">Mac ROM-inator</a>.
|
|
If you use this option, you will also need “-chr 0”
|
|
as described below.
|
|
(You may also want
|
|
“-drc 0 -drt 0 -speed z -ta 2 -sony-sum 1 -sony-tag 1”
|
|
to test the image with maximum accuracy.)
|
|
</p>
|
|
|
|
<p> <a name="option_chr"> <b> Check ROM Checksum </b> </a> </p>
|
|
|
|
<p>
|
|
The first 4 bytes of a Macintosh ROM contain a checksum of
|
|
the remaining bytes, and there is code in the ROM to check
|
|
the checksum on boot. Mini vMac patches the ROM image, so
|
|
it disables this checking code. Mini vMac does the check
|
|
itself before patching the ROM. It also checks that the
|
|
4 byte checksum matches one of the known ROM images
|
|
for the model you have chosen to emulate. If you want
|
|
to have Mini vMac use a ROM image that has been modified
|
|
you can disable these checks with:
|
|
</p>
|
|
|
|
<pre>
|
|
-chr 0
|
|
</pre>
|
|
|
|
|
|
<p> <a name="option_drc"> <b> Disable Rom Check </b> </a> </p>
|
|
|
|
<p>
|
|
There is code in the Macintosh ROM to checksum the ROM
|
|
at boot. Since Mini vMac patches the ROM, it also patches
|
|
out this check. If you are using a ROM image with Mini vMac that
|
|
is already patched (such as for Steve Chamberlin’s
|
|
<a href="http://www.bigmessowires.com/mac-rom-inator/">Mac ROM-inator</a>
|
|
), this check may already be patched out. In that case Mini vMac
|
|
doesn't need to, and probably shouldn't, to avoid interference
|
|
in case a different method of patching out is used.
|
|
</p>
|
|
|
|
<pre>
|
|
-drc 0 { Don’t Disable Rom Check }
|
|
</pre>
|
|
|
|
<p> <a name="option_drt"> <b> Disable Ram Test </b> </a> </p>
|
|
|
|
<p>
|
|
There is code in the Macintosh ROM to test proper operation of RAM
|
|
at boot. Mini vMac normally patches the ROM to disable this test,
|
|
to speed up booting. For greater realism, you can leave this
|
|
test in.
|
|
</p>
|
|
|
|
<pre>
|
|
-drt 0 { Don’t Disable Ram Test }
|
|
</pre>
|
|
|
|
<p> <a name="option_lt"> <b> LocalTalk </b> </a> </p>
|
|
|
|
<pre>
|
|
-lt { LocalTalk emulation }
|
|
</pre>
|
|
|
|
<p> This enables
|
|
<a href="http://mfort.net/Mini_vMac_LT/Mini_vMac_LT.html">Mike Fort's</a>
|
|
LocalTalk emulation.
|
|
There are currently some limitations. It is only implemented
|
|
for OS X. It requires running the command
|
|
“sudo chmod ugo+rw /dev/bpf*” to allow Mini vMac
|
|
(and everyone else) access to all network traffic.
|
|
The “-lt” option also causes Mini vMac to run in the
|
|
background by default, because Mini vMac can't be a
|
|
proper LocalTalk node if it isn't running.
|
|
And you need to manually turn on AppleTalk in the
|
|
chooser - I can set the PRAM flags to boot with AppleTalk
|
|
already on, but it doesn't work properly. </p>
|
|
|
|
<p> <a name="option_lto"> <b> <i>{Alpha} LocalTalk Over </i> </b> </a> </p>
|
|
|
|
<p> <i>
|
|
There is a now a second option for transporting
|
|
LocalTalk packets, using UPD,
|
|
<a href="https://www.gryphel.com/c/mail/v10.html#m182">by Rob Mitchelmore</a>.
|
|
It does not
|
|
require setup or administrative privileges
|
|
(no “sudo chmod ugo+rw /dev/bpf*” needed).
|
|
The options are:
|
|
</i> </p>
|
|
|
|
<pre>
|
|
-lto udp <i>{ LocalTalk over User Datagram Protocol (default) }</i>
|
|
-lto bpf <i>{ LocalTalk over Berkeley Packet Filter }</i>
|
|
</pre>
|
|
|
|
<p> <i> The new UPD option is the default as of Mini vMac
|
|
branch 37. But if a prior <a href="options.html#option_br">Branch</a> option
|
|
is chosen for compatibility with an earlier version,
|
|
the default is BPF.
|
|
</i> </p>
|
|
|
|
<p> <a name="option_im"> <b> Icon Master </b> </a> </p>
|
|
|
|
<pre>
|
|
-im 1 {<!-- (<a href="var/mnvm0168.html">mnvm0168</a>) --> Icon Master }
|
|
</pre>
|
|
|
|
<p> 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. </p>
|
|
|
|
<p> 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. </p>
|
|
|
|
<p> In Mac OS 9, and early versions of OS X,
|
|
Disk Image files should have the creator type set to
|
|
“MnvM” for double clicking to work
|
|
(see
|
|
“<a href="extras/setftype/index.html">SetFType</a>”).
|
|
Also, the file type should be “MvIm”
|
|
to see the Mini vMac Disk Image icon.
|
|
ROM Image files should have the creator type “MnvM”
|
|
and the file type “ROM!” to see the Mini vMac
|
|
ROM Image icon. </p>
|
|
|
|
<p> In Windows and later versions of Mac OS X,
|
|
Disk Images files should have a name that ends in
|
|
“.dsk” for double clicking to work
|
|
and to see the Mini vMac Disk Image icon.
|
|
ROM Images files should have a name that ends in
|
|
“.ROM” to see the Mini vMac Disk Image icon. </p>
|
|
|
|
<p> 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.)
|
|
Mini vMac can only install itself in the registry
|
|
if it is launched from an administrator account.
|
|
</p>
|
|
|
|
<p> This setting currently has no effect in the Linux
|
|
and other X versions. </p>
|
|
|
|
<p> <a name="option_abr"> <b> Abnormal Situation Reports </b> </a> </p>
|
|
|
|
<pre>
|
|
-abr 1 { enable Abnormal Situation Reports }
|
|
</pre>
|
|
|
|
<p>
|
|
When enabled, Mini vMac will display a warning message when
|
|
it encounters an unexpected situation. The warning will include
|
|
a 4 digit hexadecimal number that indicates the particular
|
|
situation. A warning is displayed only after the first abnormal
|
|
situation Mini vMac encounters, thereafter it is suppressed.
|
|
</p>
|
|
|
|
<p>
|
|
This is not enabled by default, because in the final stable version,
|
|
it mostly reports about harmless bugs in Macintosh 680x0 software.
|
|
Enabling it can be useful for programmers working on Mini vMac,
|
|
and perhaps also for programmers writing Macintosh 680x0 software.
|
|
</p>
|
|
|
|
<p>
|
|
When trying to emulate some aspect of Macintosh hardware, my
|
|
current strategy is not to try to figure it all out and then
|
|
implement the entire emulation as best I can. Because if
|
|
I did that, inevitably there would be a mistake somewhere,
|
|
and when that causes some software to malfunction, I won’t
|
|
have any clue of where to look for the mistake.
|
|
Instead I would
|
|
start with a place holder Abnormal Situation report. Then
|
|
I find some Macintosh software that reaches that report, and
|
|
look at that area of its code, and try to figure out what
|
|
it is trying to do. Then I try to implement just enough
|
|
emulation for it to work correctly, and give an
|
|
Abnormal Situation report for code that does something else.
|
|
If the Macintosh software still doesn't work, the problem is
|
|
probably in the code I just wrote. If it does work, then I next
|
|
try find some other Macintosh software that hits one of the
|
|
new Abnormal Situation reports. And iterate. The result is
|
|
code that is usually correct for what it does, and will tell you
|
|
exactly where to look when it reaches something that hasn’t
|
|
been implemented yet.
|
|
</p>
|
|
|
|
<p> <a name="option_cte"> <b> Test Compile Error </b> </a> </p>
|
|
|
|
<pre>
|
|
-cte 1 { Compile Error }
|
|
</pre>
|
|
|
|
<p>
|
|
If this option is present, the build system will generate source
|
|
code that causes the compiler to generate an error. This
|
|
is for testing the variation service.
|
|
</p>
|
|
|
|
<p> <a name="option_bte"> <b> Test Build System Error </b> </a> </p>
|
|
|
|
<pre>
|
|
-bte { Build System Error }
|
|
</pre>
|
|
|
|
<p>
|
|
If this option is present, the build system will treat it as
|
|
an error. This is for testing the variation service.
|
|
</p>
|
|
|
|
<p> <a name="option_xclm"> <b> Override </b> </a> </p>
|
|
|
|
<pre>
|
|
! { Override }
|
|
</pre>
|
|
|
|
<p>
|
|
Normally it is an error for the same option to be used twice. If
|
|
this option is present, then options to the right of it will
|
|
override options to the left of it. It is still an error for
|
|
an option to be used twice on the same side of ‘!’.
|
|
</p>
|
|
|
|
<p> <a name="option_br"> <b> Branch </b> </a> </p>
|
|
|
|
<pre>
|
|
-br 36 { Options were from Mini vMac 36 }
|
|
</pre>
|
|
|
|
<p>
|
|
This option is for future use. It currently has no effect.
|
|
<i>{Alpha} It is now used in Mini vMac 37.</i>
|
|
</p>
|
|
|
|
<p>
|
|
It tells the build system that the requested options were from a
|
|
specific branch (version) of Mini vMac.
|
|
The ‘P’ command of the Mini vMac
|
|
<a href="control.html#control_mode">Control Mode</a>
|
|
gets the options from an existing variation, and
|
|
includes this Branch setting. If the default
|
|
settings have changed from since that older version,
|
|
then the build system will use defaults of the old version,
|
|
rather than the current defaults. So the newly generated
|
|
variation behaves as close as possible to the earlier
|
|
variation.
|
|
</p>
|
|
|
|
<p>
|
|
The ‘P’ command retrieves the options in a
|
|
canonical form. It always generates a “-br”
|
|
option for the current version, rather than copying
|
|
any “-br” option passed to the build system.
|
|
</p>
|
|
|
|
<p> See also - <b><a href="develop.html">Options for developers</a></b> </p>
|
|
|
|
</body>
|
|
|
|
</html>
|