2001-06-03 23:50:33 +04:00
|
|
|
.\Document Author: Timothy R. Butler - tbutler@uninetsolutions.com
|
2002-06-29 22:35:32 +04:00
|
|
|
.TH bochsrc 5 "29 Jun 2002" "bochsrc" "The Bochs Project"
|
2001-06-03 23:50:33 +04:00
|
|
|
.\"SKIP_SECTION"
|
|
|
|
.SH NAME
|
|
|
|
bochsrc \- Configuration file for Bochs.
|
|
|
|
.\"SKIP_SECTION"
|
|
|
|
.SH DESCRIPTION
|
|
|
|
.LP
|
|
|
|
Bochsrc is the configuration file that specifies
|
|
|
|
where Bochs should look for disk images, how the Bochs
|
|
|
|
emulation layer should work, etc. The syntax used
|
|
|
|
for bochsrc can also be used as command line arguments
|
|
|
|
for Bochs. The .bochsrc file should be placed either in
|
|
|
|
the current directory before running Bochs or in your
|
|
|
|
home directory.
|
|
|
|
.\".\"DONT_SPLIT"
|
|
|
|
.SH OPTIONS
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.I "romimage:"
|
|
|
|
You need to load a ROM BIOS into F0000-FFFFF.
|
2001-06-04 02:35:07 +04:00
|
|
|
The BIOS controls what the PC does when it
|
|
|
|
first powers on. Normally, you can use a
|
|
|
|
precompiled BIOS in the
|
2001-06-03 23:50:33 +04:00
|
|
|
.B bios/
|
2001-06-04 02:35:07 +04:00
|
|
|
directory, named
|
|
|
|
BIOS-bochs-latest.
|
2001-06-03 23:50:33 +04:00
|
|
|
|
|
|
|
Example:
|
|
|
|
romimage: file=bios/BIOS-bochs-970717
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.I "megs:"
|
|
|
|
Set this to the default number of Megabytes of
|
|
|
|
memory you want to emulate. You may also pass
|
|
|
|
the
|
|
|
|
.B 'megs:N'
|
|
|
|
option to bochs. The default
|
2001-06-04 02:35:07 +04:00
|
|
|
is 32MB, since most OS's won't need more than
|
|
|
|
that.
|
2001-06-03 23:50:33 +04:00
|
|
|
|
|
|
|
Example:
|
|
|
|
megs: 32
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.I "vgaromimage:"
|
|
|
|
You also need to load a VGA ROM BIOS into
|
|
|
|
C0000.
|
|
|
|
|
|
|
|
Example:
|
|
|
|
vgaromimage: bios/VGABIOS-elpin-2.40
|
|
|
|
|
|
|
|
.TP
|
2001-06-04 02:35:07 +04:00
|
|
|
.I "floppya:"
|
|
|
|
or
|
|
|
|
.I "floppyb:"
|
2001-06-03 23:50:33 +04:00
|
|
|
|
2001-06-04 02:35:07 +04:00
|
|
|
Point this to the pathname of a floppy image
|
|
|
|
file or device. Floppya is the first drive,
|
|
|
|
and floppyb is the second drive. If you're
|
|
|
|
booting from a floppy, floppya should point to
|
|
|
|
a bootable disk.
|
|
|
|
|
|
|
|
You can set the initial status of the media to
|
|
|
|
'ejected' or 'inserted'. Usually you will want
|
|
|
|
to use 'inserted'.
|
2001-06-03 23:50:33 +04:00
|
|
|
|
|
|
|
Example:
|
|
|
|
|
|
|
|
2.88M 3.5" Floppy:
|
|
|
|
floppya: 2_88=path, status=ejected
|
|
|
|
|
|
|
|
1.44M 3.5" Floppy:
|
|
|
|
floppya: 1_44=path, status=inserted
|
|
|
|
|
|
|
|
1.2M 5.25" Floppy:
|
|
|
|
floppyb: 1_2=path, status=ejected
|
|
|
|
|
|
|
|
720K 3.5" Floppy:
|
|
|
|
floppya: 720k=path, status=inserted
|
|
|
|
|
|
|
|
.TP
|
2001-06-04 02:35:07 +04:00
|
|
|
.I "diskc:"
|
|
|
|
or
|
|
|
|
.I "diskd:"
|
|
|
|
|
2001-06-03 23:50:33 +04:00
|
|
|
Point this at the disk image you want to use
|
|
|
|
as for a hard disk. If you use bximage(1) to
|
|
|
|
create the image, it will give you the
|
|
|
|
required cyl, head, and spt information.
|
|
|
|
diskc is the first hard drive, and diskd is the
|
|
|
|
second hard drive.
|
|
|
|
|
|
|
|
.B NOTE:
|
|
|
|
You cannot use both diskd and cdromd together.
|
|
|
|
|
|
|
|
Example:
|
2001-06-04 02:49:13 +04:00
|
|
|
diskc: file=10M.i, cyl=306, heads=4, spt=17
|
|
|
|
diskc: file=112M.i, cyl=900, heads=15, spt=17
|
|
|
|
diskd: file=483.i, cyl=1024, heads=15, spt=63
|
2001-06-03 23:50:33 +04:00
|
|
|
|
2002-03-03 09:03:29 +03:00
|
|
|
.TP
|
|
|
|
.I "com1:"
|
|
|
|
Point this at the device you want to use
|
|
|
|
as your com1 serial port. The "dev=" parameter indicates which device to use.
|
|
|
|
This can be a Unix pty. One way to use this would be to run bochs in one window
|
|
|
|
and open a second window to use as com1. Do a `sleep 1000000' in the com1
|
|
|
|
window to prevent it's shell from getting in the way. When you run bochs, all
|
|
|
|
I/O to com1 will show up in this window.
|
|
|
|
|
|
|
|
Example:
|
|
|
|
com1: dev=/dev/ttyp7
|
|
|
|
|
2002-06-29 22:35:32 +04:00
|
|
|
.TP
|
|
|
|
.I "parport1:"
|
|
|
|
Point this to the pathname of an output file or device.
|
|
|
|
When turned on, the emulated printer port sends characters
|
|
|
|
printed by the guest OS into an output file.
|
|
|
|
|
|
|
|
Example:
|
|
|
|
parport1: enable=1, file=parport.out
|
|
|
|
|
2001-06-03 23:50:33 +04:00
|
|
|
.TP
|
|
|
|
.I "cdromd:"
|
|
|
|
Point this to a pathname of a raw CD-ROM device.
|
|
|
|
There is no cdromc option, only cdromd.
|
|
|
|
|
|
|
|
.B NOTE:
|
|
|
|
You cannot use both diskd and cdromd together.
|
|
|
|
|
|
|
|
|
|
|
|
Example:
|
|
|
|
cdromd: dev=/dev/cdrom, status=inserted
|
|
|
|
cdromd: dev=/dev/cdrom, status=ejected
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.I "newharddrivesupport:"
|
|
|
|
This setting enables support for large hard
|
|
|
|
disks, better CD recognition, and various
|
|
|
|
other useful functions. You can set it to
|
|
|
|
"enabled=1" (on) or "enabled=0" (off). It is
|
|
|
|
recommended that this setting is left on
|
|
|
|
unless you are having trouble with it.
|
|
|
|
|
|
|
|
Example:
|
|
|
|
newharddrivesupport: enabled=1
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.I "boot:"
|
|
|
|
This defines your boot drive. You can either
|
2002-06-29 22:35:32 +04:00
|
|
|
boot from 'a', 'c' or 'cdrom'.
|
2001-06-03 23:50:33 +04:00
|
|
|
|
|
|
|
Example:
|
|
|
|
boot: c
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.I "log:"
|
|
|
|
Give the path of the log file you'd like Bochs
|
2001-06-04 02:49:13 +04:00
|
|
|
debug and misc. verbage to be written to. If
|
2001-06-03 23:50:33 +04:00
|
|
|
you really don't want it, make it /dev/null.
|
|
|
|
|
|
|
|
Example:
|
|
|
|
log: bochs.out
|
|
|
|
log: /dev/tty (unix only)
|
|
|
|
log: /dev/null (unix only)
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.I "panic:"
|
2001-06-04 02:35:07 +04:00
|
|
|
If Bochs reaches a condition where it cannot
|
|
|
|
emulate correctly, it does a panic. This can
|
|
|
|
be a configuration problem (like a misspelled
|
|
|
|
bochsrc line) or an emulation problem (like an
|
|
|
|
unsupported video mode). The "panic" setting
|
|
|
|
in bochsrc tells Bochs how to respond to a
|
|
|
|
panic. You can set this to fatal (terminate
|
|
|
|
the session), report (print information to
|
|
|
|
the console), or ignore (do nothing).
|
|
|
|
|
|
|
|
The safest setting is action=fatal. If you are
|
|
|
|
getting panics, you can try action=report
|
|
|
|
instead. If you allow Bochs to continue after
|
|
|
|
a panic, don't be surprised if you get strange
|
|
|
|
behavior or crashes if a panic occurs. Please
|
|
|
|
report panic messages unless it is just a
|
|
|
|
configuration problem like "could not find
|
|
|
|
hard drive image."
|
2001-06-03 23:50:33 +04:00
|
|
|
|
|
|
|
Example:
|
|
|
|
panic: action=fatal
|
|
|
|
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.I "error:"
|
2001-06-04 02:35:07 +04:00
|
|
|
Bochs produces an error message when it finds
|
|
|
|
a condition that really shouldn't happen, but
|
|
|
|
doesn't endanger the simulation. An example of
|
|
|
|
an error might be if the emulated software
|
|
|
|
produces an illegal disk command.
|
|
|
|
|
|
|
|
The "error" setting tells Bochs how to respond
|
2001-06-04 02:49:13 +04:00
|
|
|
to an error condition. You can set this to
|
2001-06-04 02:35:07 +04:00
|
|
|
fatal (terminate the session), report (print
|
|
|
|
information to the console), or ignore (do
|
|
|
|
nothing).
|
2001-06-03 23:50:33 +04:00
|
|
|
|
|
|
|
Example:
|
|
|
|
error: action=report
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.I "info:"
|
2001-06-04 02:35:07 +04:00
|
|
|
This setting tells Bochs what to do when an
|
|
|
|
event occurs that generates informational
|
|
|
|
messages. You can set this to fatal (that
|
|
|
|
would not be very smart though), report (print
|
|
|
|
information to the console), or ignore (do
|
|
|
|
nothing). For general usage, the "report"
|
|
|
|
option is probably a good choice.
|
2001-06-03 23:50:33 +04:00
|
|
|
|
|
|
|
Example:
|
|
|
|
info: action=report
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.I "debug:"
|
2001-06-04 02:35:07 +04:00
|
|
|
This setting tells Bochs what to do with
|
|
|
|
messages intended to assist in debugging. You
|
|
|
|
can set this to fatal (but you shouldn't),
|
|
|
|
report (print information to the console), or
|
|
|
|
ignore (do nothing). You should generally set
|
|
|
|
this to ignore, unless you are trying to
|
|
|
|
diagnose a particular problem.
|
2001-06-03 23:50:33 +04:00
|
|
|
|
|
|
|
.B NOTE:
|
2001-06-04 02:35:07 +04:00
|
|
|
When action=report, Bochs may spit out
|
|
|
|
thousands of debug messages per second, which
|
|
|
|
can impact performance and fill up your disk.
|
2001-06-03 23:50:33 +04:00
|
|
|
|
|
|
|
Example:
|
|
|
|
debug: action=ignore
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.I "sb16:"
|
|
|
|
This defines the SB16 sound emulation. It can
|
|
|
|
have several of the following properties. All
|
|
|
|
properties are in this format:
|
|
|
|
sb16: property=value
|
|
|
|
|
|
|
|
|
|
|
|
.B PROPERTIES FOR sb16:
|
|
|
|
|
|
|
|
midi:
|
|
|
|
|
|
|
|
The filename is where the midi data is sent.
|
|
|
|
This can be a device or just a file if you
|
|
|
|
want to record the midi data.
|
|
|
|
|
|
|
|
midimode:
|
|
|
|
|
|
|
|
0 = No data should be output.
|
|
|
|
1 = output to device (system dependent - midi
|
|
|
|
denotes the device driver).
|
2001-06-04 02:49:13 +04:00
|
|
|
2 = SMF file output, including headers.
|
2001-06-03 23:50:33 +04:00
|
|
|
3 = Output the midi data stream to the file
|
|
|
|
(no midi headers and no delta times, just
|
|
|
|
command and data bytes).
|
|
|
|
|
|
|
|
wave:
|
|
|
|
|
|
|
|
This is the device/file where wave output is
|
|
|
|
stored.
|
|
|
|
|
|
|
|
wavemode:
|
|
|
|
|
|
|
|
0 = no data
|
|
|
|
1 = output to device (system dependent - wave
|
|
|
|
denotes the device driver).
|
|
|
|
2 = VOC file output, including headers.
|
|
|
|
3 = Output the raw wave stream to the file.
|
|
|
|
|
|
|
|
log:
|
|
|
|
|
|
|
|
The file to write the sb16 emulator messages to.
|
|
|
|
|
|
|
|
loglevel:
|
|
|
|
|
|
|
|
0 = No log.
|
|
|
|
1 = Only midi program and bank changes.
|
|
|
|
2 = Severe errors.
|
|
|
|
3 = All errors.
|
|
|
|
4 = All errors plus all port accesses.
|
|
|
|
5 = All errors and port accesses plus a lot
|
|
|
|
of extra information.
|
|
|
|
|
|
|
|
dmatimer:
|
|
|
|
|
|
|
|
Microseconds per second for a DMA cycle. Make
|
|
|
|
it smaller to fix non-continous sound. 750000
|
2001-06-04 02:49:13 +04:00
|
|
|
is usually a good value. This needs a
|
2001-06-03 23:50:33 +04:00
|
|
|
reasonably correct setting for IPS (see
|
|
|
|
below).
|
|
|
|
|
|
|
|
|
|
|
|
Example:
|
|
|
|
sb16: midimode=1, midi=/dev/midi00,
|
|
|
|
wavemode=1, wave=/dev/dsp, loglevel=2,
|
|
|
|
log=sb16.log, dmatimer=600000
|
|
|
|
|
|
|
|
.B NOTE:
|
|
|
|
The example is wrapped onto three lines for
|
|
|
|
formatting reasons, but it should all be on
|
|
|
|
one line in the actual bochsrc file.
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.I "vga_update_interval:"
|
|
|
|
Video memory is scanned for updates and screen
|
|
|
|
updated every so many virtual seconds. The
|
2001-06-04 02:49:13 +04:00
|
|
|
default is 300000, about 3Hz. This is
|
2001-06-03 23:50:33 +04:00
|
|
|
generally plenty. Keep in mind that you must
|
|
|
|
tweak the 'ips:' directive to be as close to
|
|
|
|
the number of emulated instructions-per-second
|
|
|
|
your workstation can do, for this to be
|
|
|
|
accurate.
|
|
|
|
|
|
|
|
Example:
|
|
|
|
vga_update_interval: 250000
|
|
|
|
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.I "keyboard_serial_delay:"
|
|
|
|
Approximate time in microseconds that it takes
|
|
|
|
one character to be transfered from the
|
|
|
|
keyboard to controller over the serial path.
|
|
|
|
|
|
|
|
Example:
|
|
|
|
keyboard_serial_delay: 200
|
|
|
|
|
2001-12-12 13:38:39 +03:00
|
|
|
.TP
|
|
|
|
.I "keyboard_type:"
|
|
|
|
Type of emulated keyboard sent back to the OS
|
|
|
|
to a "keyboard identify" command. It must be
|
|
|
|
one of "xt", "at" or "mf".
|
|
|
|
|
|
|
|
Example:
|
|
|
|
keyboard_type: mf
|
|
|
|
|
2001-06-03 23:50:33 +04:00
|
|
|
.TP
|
|
|
|
.I "floppy_command_delay:"
|
|
|
|
Time in microseconds to wait before completing
|
|
|
|
some floppy commands such as read, write,
|
|
|
|
seek, etc., which normally have a delay
|
|
|
|
associated. This was previous hardwired to
|
|
|
|
50,000.
|
|
|
|
|
|
|
|
Example:
|
|
|
|
floppy_command_delay: 50000
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.I "ips:"
|
|
|
|
Emulated Instructions Per Second. This is the
|
|
|
|
number of IPS that bochs is capable of running
|
|
|
|
on your machine. You can recompile Bochs,
|
|
|
|
using instructions included in config.h (in
|
|
|
|
the source code), to find your workstation's
|
|
|
|
capability.
|
|
|
|
|
2001-06-04 02:35:07 +04:00
|
|
|
IPS is used to calibrate many time-dependent
|
|
|
|
events within the bochs simulation. For
|
|
|
|
example, changing IPS affects the frequency of
|
|
|
|
VGA updates, the duration of time before a key
|
|
|
|
starts to autorepeat, and the measurement of
|
2001-06-03 23:50:33 +04:00
|
|
|
BogoMips and other benchmarks.
|
|
|
|
|
|
|
|
Example Specifications[1]
|
|
|
|
Machine Mips
|
|
|
|
---------------------------------------------------
|
|
|
|
650Mhz Athlon K-7 with Linux 2.4.x 2 to 2.5
|
|
|
|
400Mhz Pentium II with Linux 2.0.x 1 to 1.8
|
|
|
|
166Mhz 64bit Sparc with Solaris 2.x 0.75
|
2001-06-04 02:35:07 +04:00
|
|
|
200Mhz Pentium with Linux 2.x 0.5
|
2001-06-03 23:50:33 +04:00
|
|
|
|
2001-06-04 02:35:07 +04:00
|
|
|
[1] Mips are dependant on OS and compiler
|
2001-06-03 23:50:33 +04:00
|
|
|
configuration in addition to processor clock
|
|
|
|
speed.
|
|
|
|
|
|
|
|
Example:
|
|
|
|
ips: 1000000
|
|
|
|
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.I "mouse:"
|
|
|
|
This option prevents Bochs from creating mouse
|
|
|
|
"events" unless a mouse is enabled. The
|
|
|
|
hardware emulation itself is not disabled by
|
|
|
|
this. You can turn the mouse on by setting
|
|
|
|
enabled to 1, or turn it off by setting
|
|
|
|
enabled to 0. Unless you have a particular
|
|
|
|
reason for enabling the mouse by default,
|
|
|
|
it is recommended that you leave it off.
|
|
|
|
|
|
|
|
Example:
|
|
|
|
mouse: enabled=1
|
|
|
|
mouse: enabled=0
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.I "private_colormap:"
|
|
|
|
Requests that the GUI create and use it's own
|
|
|
|
non-shared colormap. This colormap will be
|
|
|
|
used when in the bochs window. If not enabled,
|
|
|
|
a shared colormap scheme may be used. Once
|
|
|
|
again, enabled=1 turns on this feature and 0
|
|
|
|
turns it off.
|
|
|
|
|
|
|
|
Example:
|
|
|
|
private_colormap: enabled=1
|
|
|
|
|
|
|
|
.\"SKIP_SECTION"
|
|
|
|
.SH LICENSE
|
|
|
|
This program is distributed under the terms of the GNU
|
|
|
|
Lesser General Public License as published by the Free
|
|
|
|
Software Foundation. See the COPYING file located in
|
2002-06-29 22:35:32 +04:00
|
|
|
/usr/local/share/doc/bochs/ for details on the license and
|
2001-06-03 23:50:33 +04:00
|
|
|
the lack of warrantee.
|
|
|
|
.\"SKIP_SECTION"
|
|
|
|
.SH AVAILABILITY
|
|
|
|
The latest version of this program can be found at:
|
|
|
|
http://bochs.sourceforge.net/getcurrent.html
|
|
|
|
.\"SKIP_SECTION"
|
|
|
|
.SH SEE ALSO
|
|
|
|
bochs(1), bochs-dlx(1), bximage(1)
|
|
|
|
.PP
|
|
|
|
.nf
|
|
|
|
The Bochs IA-32 Emulator site on the World Wide Web:
|
2001-06-04 02:35:07 +04:00
|
|
|
http://bochs.sourceforge.net
|
|
|
|
|
|
|
|
The Getting Started Guide for Bochs on Linux:
|
2002-06-29 22:35:32 +04:00
|
|
|
/usr/local/share/doc/bochs/DOC-linux.html
|
2001-06-03 23:50:33 +04:00
|
|
|
.fi
|
|
|
|
.\"SKIP_SECTION"
|
|
|
|
.SH AUTHORS
|
|
|
|
The Bochs emulator was created by Kevin Lawton
|
|
|
|
(kevin@mandrakesoft.com), and is currently maintained
|
2001-06-04 02:49:13 +04:00
|
|
|
by the members of the Bochs x86 Emulator Project. You
|
2001-06-03 23:50:33 +04:00
|
|
|
can see a current roster of members at:
|
|
|
|
http://bochs.sourceforge.net/getinvolved.html
|
|
|
|
.\"SKIP_SECTION"
|
|
|
|
.SH BUGS
|
|
|
|
Please report all bugs to the bug tracker on our web
|
2001-06-04 02:49:13 +04:00
|
|
|
site. Just go to http://bochs.sourceforge.net, and click
|
2001-06-03 23:50:33 +04:00
|
|
|
"Bug Reports" on the sidebar under "Features."
|
|
|
|
.PP
|
|
|
|
Provide a detailed description of the bug, the version of
|
|
|
|
the program you are running, the operating system you are
|
|
|
|
running the program on and the operating system you
|
|
|
|
are running in the emulator.
|
|
|
|
|
|
|
|
|