summaryrefslogtreecommitdiff
path: root/static/inferno/man1/emu.1
diff options
context:
space:
mode:
Diffstat (limited to 'static/inferno/man1/emu.1')
-rw-r--r--static/inferno/man1/emu.1285
1 files changed, 285 insertions, 0 deletions
diff --git a/static/inferno/man1/emu.1 b/static/inferno/man1/emu.1
new file mode 100644
index 00000000..80e3a5f5
--- /dev/null
+++ b/static/inferno/man1/emu.1
@@ -0,0 +1,285 @@
+.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)