# GXemul

### Contents:

- Introduction
  - Overview
  - How to compile/build the emulator
  - How to run the emulator
  - Which CPUs and machines does GXemul emulate?
  - Is GXemul Free software?

- Release notes

- Experimenting with GXemul
  - Hello world
  - Test machines
  - Experimental devices

- Debugging code using GXemul
  - Introduction to debugging code using GXemul
  - Launching the emulator
  - Unassembling machine code
  - Dumping CPU registers
  - Dumping memory contents
  - Continuing execution or Single-stepping
  - Breakpoints
  - Function call tracing

- Configuration files
  - Introduction
  - Configuration file syntax
  - A minimal example

- Networking
  - Introduction
  - Virtual Ethernet switch using a tap device
  - Network across multiple hosts
  - UDP "Direct-access" example: udp_snoop

- Miscellaneous
  - Emulation accuracy
  - Writing operating system code, or developing firmware, using GXemul
  - Using GXemul in compiler contruction courses
  - How to start the emulator with a disk image
  - How to start the emulator with tape images
  - How to use disk image overlays
  - Transfering files to/from the guest OS
  - How to extract large gzipped disk images
  - Using a PROM dump from a real machine

- Dynamic Translation Internals

- Technical details
  - Networking
  - Emulation of hardware devices

- Description of the new framework (under development)
  - Machines (new framework)
  - Components (new framework)
  - Source code documentation (Doxygen) (new framework)

- TODO list

### Feedback:

If you have found a bug in GXemul, if you have comments or suggestions, or if you have questions and you can't find the answers you seek in the documentation, then consider asking in the `#GXemul` IRC channel on on FreeNode, or mail me (gavare@gmail.com).