e50a1be21b
Here are the patches (without the serial name fix). Let me know if you want me to change that. Oh, FYI, my changes also open up the com1 terminal in raw mode, which makes the emulation much more accurate. You'll also notice that I added infrastructure for com2->4 in the option parsing. I didn't add it to the serial code, as I think a bunch of things need to be untangled before that can work.
447 lines
11 KiB
Groff
447 lines
11 KiB
Groff
.\Document Author: Timothy R. Butler - tbutler@uninetsolutions.com
|
|
.TH bochsrc 1 "The Bochs Project bochsrc 2 Jun 2001"
|
|
.\"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.
|
|
The BIOS controls what the PC does when it
|
|
first powers on. Normally, you can use a
|
|
precompiled BIOS in the
|
|
.B bios/
|
|
directory, named
|
|
BIOS-bochs-latest.
|
|
|
|
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
|
|
is 32MB, since most OS's won't need more than
|
|
that.
|
|
|
|
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
|
|
.I "floppya:"
|
|
or
|
|
.I "floppyb:"
|
|
|
|
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'.
|
|
|
|
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
|
|
.I "diskc:"
|
|
or
|
|
.I "diskd:"
|
|
|
|
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:
|
|
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
|
|
|
|
.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
|
|
|
|
.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
|
|
boot from 'a' or 'c'.
|
|
|
|
Example:
|
|
boot: c
|
|
|
|
.TP
|
|
.I "log:"
|
|
Give the path of the log file you'd like Bochs
|
|
debug and misc. verbage to be written to. If
|
|
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:"
|
|
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."
|
|
|
|
Example:
|
|
panic: action=fatal
|
|
|
|
|
|
.TP
|
|
.I "error:"
|
|
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
|
|
to an error condition. You can set this to
|
|
fatal (terminate the session), report (print
|
|
information to the console), or ignore (do
|
|
nothing).
|
|
|
|
Example:
|
|
error: action=report
|
|
|
|
.TP
|
|
.I "info:"
|
|
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.
|
|
|
|
Example:
|
|
info: action=report
|
|
|
|
.TP
|
|
.I "debug:"
|
|
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.
|
|
|
|
.B NOTE:
|
|
When action=report, Bochs may spit out
|
|
thousands of debug messages per second, which
|
|
can impact performance and fill up your disk.
|
|
|
|
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).
|
|
2 = SMF file output, including headers.
|
|
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
|
|
is usually a good value. This needs a
|
|
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
|
|
default is 300000, about 3Hz. This is
|
|
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
|
|
|
|
.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
|
|
|
|
.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.
|
|
|
|
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
|
|
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
|
|
200Mhz Pentium with Linux 2.x 0.5
|
|
|
|
[1] Mips are dependant on OS and compiler
|
|
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
|
|
/usr/local/bochs/@VERSION@/ for details on the license and
|
|
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:
|
|
http://bochs.sourceforge.net
|
|
|
|
The Getting Started Guide for Bochs on Linux:
|
|
/usr/local/bochs/@VERSION@/DOC-linux.html
|
|
.fi
|
|
.\"SKIP_SECTION"
|
|
.SH AUTHORS
|
|
The Bochs emulator was created by Kevin Lawton
|
|
(kevin@mandrakesoft.com), and is currently maintained
|
|
by the members of the Bochs x86 Emulator Project. You
|
|
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
|
|
site. Just go to http://bochs.sourceforge.net, and click
|
|
"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.
|
|
|
|
|