ref: dd16eef8365cb0b9e4805c23291aadcaa596dd87
dir: /man/1/emu/
.TH EMU 1E .SH NAME emu \- Inferno emulator (hosted Inferno) .SH SYNOPSIS .B emu [ .BI \-g " Xsize x Ysize" ] [ .BI \-c n ] [ .BI -d " daemon" ] .RB [ \-s ] [ .BI \-p " pool=maxsize" ] [ .BI \-f " font" ] [ .BI \-r " rootpath" ] .RB [ \-7 ] [ .RB \-C " channel" ] [ .RB \-S ] [ .B -v ] [ .I cmd .RI [ " arg ... " ] ] .SH DESCRIPTION .I Emu provides the Inferno emulation environment, otherwise known as `hosted Inferno'. The emulator runs as an application under the machine's native operating system, and provides system services and a Dis virtual machine for Inferno applications. .PP .I Emu starts an Inferno initialisation program .BR /dis/emuinit.dis , whose path name is interpreted in the Inferno file name space, not in the native operating system's name space. It in turn invokes the shell .BR /dis/sh.dis by default or the optional .I cmd and its arguments. If the .B \-d option is specified, .I emu instead invokes .BR daemon , turning the .I emu instance into an Inferno service process on the network, running the given .I daemon service or services. .PP The emulator supports the following options: .TP .BI \-c n Unless specified otherwise by the module (see .B wm/rt in .IR wm-misc (1)), .I emu uses an interpreter to execute Dis instructions. Setting .I n to 1 (the default value is 0) makes the default behaviour to compile Dis into native instructions when a module is loaded, resulting in faster execution but larger run-time size. Setting .I n to values larger than 1 enables increasingly detailed traces of the compiler. .TP .BI \-d " daemon" Run .I emu as a server, invoking .I daemon instead of .BR /dis/emuinit.dis , and disabling input from .B cons (see .IR cons (3)). .TP .BI \-g Xsize x Ysize Define screen width and height in pixels. The default values are 640x480 and the minimum values are 64x48. Values smaller than the minimum or greater than the available display size are ignored. .TP .BI \-f font Specify the default font for the .B tk module. The path is interpreted in the Inferno name space. If unspecified, the .B font variable has value .BR /fonts/lucm/unicode.9.font . .TP .BI \-r rootpath Specify the host system directory that .I emu will serve as its root. The default value is .B /usr/inferno on most systems, but .BR \einferno on Windows. .TP .B \-s Specify how the emulator deals with traps reported by the operating system. By default, they suspend execution of the offending thread within the virtual machine abstraction. The .B \-s option causes .I emu itself to trap, permitting debugging of the broken host operating system process that results when a trap occurs. (This is intended to allow debugging of .IR emu , not Inferno applications.) .TP .BI \-p pool = maxsize Specify the maximum size in bytes of the named memory allocation pool. The pools are: .RS .TP \w'imagexxx'u .B main the general malloc arena .TP .B heap the Dis virtual machine heap .TP .B image image storage for the display .RE .TP .B \-7 When host graphics is provided by X11, request a 7-bit colour map; use this option only if X11 refused to allow .I emu to configure the normal (default) 8-bit Inferno colour map. .TP .B \-C channel Use the given .I channel for the display, if possible. See .IR image (6) for the full range of channel descriptors. For example, .B k8 gives 8 bit greyscale, and .B x8r8g8b8 gives 24 bit colour on a PC. The set of channels supported is platform-dependent. .TP .B \-S Force stylus input behaviour for Tk mouse events: motion events are received only when a button is down (just as a stylus produces no events until it touches the screen). This option only affects the behaviour of Tk mouse events, it does not affect the behaviour of .B /dev/pointer as described in .IR cons (3). .TP .B \-v Print version data: edition and revision date. .PP Options may also be set in the host operating system's environment variable .BR EMU ; they are overridden by options supplied on the command line. .PP .I Emu finds the host system directory that will serve as its Inferno root directory as the last value found as follows: it is the value built-in to the executable, by default; or the value of the host system's environment variable .BR INFERNO ; or the value of the environment variable .BR ROOT ; or the value of a .B -r option in the environment variable .BR EMU ; or the .I rootpath set by a .B -r option to the .I emu command itself. .PP .I Emu sets several Inferno environment variables: .TF emuwdirxxx .PD .TP .B cputype host processor architecture: .B 386 (for any x86), .BR arm , .BR mips , .B power (any Power or PowerPC), .BR sparc , and .BR spim (little-endian MIPS). .TP .B emuargs arguments with which .I emu was invoked .TP .B emuhost host operating system type, such as: .BR FreeBSD , .BR Irix , .BR Linux , .BR MacOSX , .BR NetBSD , .BR Nt (used for Windows generally), .BR OpenBSD , .BR Plan9 , .B Solaris and .BR Unixware . .TP .B emuroot name of directory in host file system that acts as Inferno's root directory .TP .B emuwdir name in host file system of directory where .I emu was invoked .PD .SH EXAMPLE To start .B wm/logon directly: .IP .EX EMU='-g800x600 -c1' emu /dis/wm/wm.dis wm/logon -u inferno .EE .SH FILES .TF /dis/emuinit.dis .TP .B /dis/emuinit.dis The default initialisation program. .TP .B /dis/sh.dis The default Inferno shell. .SH SOURCE .B /emu .SH "SEE ALSO" .IR limbo (1), .IR wm-misc (1)