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
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
Methods
Internal timers
Overview
Timer definitions, members and methods
Detailed functional description
Bochs's CMOS map
Sound Blaster 16 Emulation
How well does it work?
Output to a sound card
Configuring Bochs
Runtime configuration
The sound lowlevel interface
Files
Defines and strutures
Classes
The base class bx_sound_lowlevel_c
The waveout base class bx_soundlow_waveout_c
The wavein base class bx_soundlow_wavein_c
The midiout base class bx_soundlow_midiout_c
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
Advanced debugger usage
I/O Interface to Bochs Debugger
Commands supported by port 0x8A00
Access to port 0x8A01 (write-only)
Sample
The instrumentation feature
Bochs debugger internals
Coding
Coding guidelines
Building a Bochs release
Preparing source files and SVN
Anonymous SVN checkout and platform-independent sources
Building the release on Linux
Building the release on win32
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