Bochs Developers Guide

Kevin Lawton

Bryce Denney

Christophe Bothamy

Edited by

Michael Calabrese


Table of Contents
Resources for developers
Setting up SVN write access
Using SVN write access
Checking in files
Creating a backup of the SVN repository
Setting SVN commit notifications
SourceForge bug, feature, and patch trackers
Ideas for other sections
About the code
Overview
Directory Structure
Emulator Objects
Weird macros and other mysteries
Static methods hack
CPU und memory objects in UP/SMP configurations
The configuration parameter tree
The save/restore feature
Configure Scripting
Log Functions
timers
Bochs's CMOS map
Sound Blaster 16 Emulation
How well does it work?
Output to a sound card
Installation on Linux
Configuring Bochs
Runtime configuration
Features planned for the future
Description of the sound output classes
Files
Classes
Methods
bx_sound_OS_c(bx_sb16_c*sb16)
~bx_sound_OS_c()
int openmidioutput(char *device)
Description of the parameters:
int midiready()
int sendmidicommand(int delta, int command, int length, Bit8u data[])
int closemidioutput()
int openwaveoutput(char *device)
int startwaveplayback(int frequency, int bits, int stereo, int format)
int waveready()
int sendwavepacket(int length, Bit8u data[])
int stopwaveplayback()
int closewaveoutput()
Harddisk Images based on redologs
Description
How redologs works ?
Parameters
Redolog class description
Disk image classes description
How to add keymapping in a GUI client
Debugger
compile with debugger support
get started in debugger
command reference
techniques
I/O Interface to Bochs Debugger
Commands supported by port 0x8A00
Access to port 0x8A01 (write-only)
Sample
Coding
Coding guidelines
patches:
Building a Bochs release
Preparing source files and SVN
Building the release on win32
Building the release on Linux
Creating a file release and uploading files on SF
Webmastering
Bochs project webspace
Updating the Bochs website content
Updating the SVN snapshot
Updating the online documentation
other content
available tools