Bochs Developers Guide
Kevin Lawton
Bryce Denney
Christophe Bothamy
Edited by
Michael Calabrese
Table of Contents
1.
Resources for developers
1.1.
Setting up CVS write access
1.1.1.
Install ssh and cvs
1.1.2.
ssh to cvs.sf.net
1.1.3.
Set CVS_RSH environment variable to ssh
1.1.4.
cvs checkout
1.2.
Using CVS write access
1.2.1.
Checking in files
1.3.
SourceForge bug, feature, and patch trackers
1.4.
Ideas for other sections
2.
About the code
2.1.
Overview
2.2.
Directory Structure
2.3.
Emulator Objects
2.3.1.
Weird macros and other mysteries
2.3.2.
Static methods hack
2.3.3.
CPU und memory objects in UP/SMP configurations
2.3.4.
The configuration parameter tree
2.3.5.
The save/restore feature
2.4.
Configure Scripting
2.5.
Log Functions
2.6.
timers
2.7.
Bochs's CMOS map
2.8.
Sound Blaster 16 Emulation
2.8.1.
How well does it work?
2.8.2.
Output to a sound card
2.8.3.
Installation on Linux
2.8.4.
Configuring Bochs
2.8.5.
Runtime configuration
2.8.6.
Features planned for the future
2.8.7.
Description of the sound output classes
2.8.8.
Files
2.8.9.
Classes
2.8.10.
Methods
2.8.11.
bx_sound_OS_c(bx_sb16_c*sb16)
2.8.12.
~bx_sound_OS_c()
2.8.13.
int openmidioutput(char *device)
2.8.14.
Description of the parameters:
2.8.15.
int midiready()
2.8.16.
int sendmidicommand(int delta, int command, int length, Bit8u data[])
2.8.17.
int closemidioutput()
2.8.18.
int openwaveoutput(char *device)
2.8.19.
int startwaveplayback(int frequency, int bits, int stereo, int format)
2.8.20.
int waveready()
2.8.21.
int sendwavepacket(int length, Bit8u data[])
2.8.22.
int stopwaveplayback()
2.8.23.
int closewaveoutput()
2.9.
Harddisk Images based on redologs
2.9.1.
Description
2.9.2.
How redologs works ?
2.9.3.
Parameters
2.9.4.
Redolog class description
2.9.5.
Disk image classes description
2.10.
How to add keymapping in a GUI client
3.
Debugger
3.1.
compile with debugger support
3.2.
get started in debugger
3.3.
command reference
3.4.
techniques
3.5.
I/O Interface to Bochs Debugger
3.5.1.
Commands supported by port 0x8A00
3.5.2.
Access to port 0x8A01 (write-only)
3.5.3.
Sample
4.
Coding
4.1.
Coding guidelines
4.2.
patches:
4.3.
Building a Bochs release
4.3.1.
Preparing source files and CVS
4.3.2.
Building the release on win32
4.3.3.
Building the release on Linux
4.3.4.
Uploading files and creating a file release on SF
5.
Webmastering
5.1.
websites
5.2.
shell access to the website
5.3.
website html repository
5.4.
automatic site update
5.5.
other content
5.6.
available tools
List of Tables
2-1.
Directory structure
2-2.
Parameter types
2-3.
Save/restore parameter types
2-4.
format bits
2-5.
codecs
2-6.
wave output types
2-7.
Generic header description
2-8.
Redolog specific header description
2-9.
How number of entries in the catalog and number of blocks by extents are computed
Next
Resources for developers