Mike Chambers
Veteran Member
- Joined
- Sep 2, 2006
- Messages
- 2,621
i'm actually putting together a CPU emulator programming tutorial to share what i've learned with other programmers who are interested. so far the table of contents looks like this... any suggestions on additions?
Contents
1. Introduction to CPU emulation
- What is CPU emulation?
- Emulation vs. virtualization.
- Goals of this tutorial.
- What you need to know before going further.
2. The basics
- How do CPUs work?
- Emulation basics.
- Meet our example CPU, the Intel 8086.
3. Intel 8086 technical overview
- The internal registers.
- The flags register.
- Addressing modes.
- Memory segmentation.
- Program execution flow.
- The 8086 instruction set overview.
4. Implementation of an 8086 emulator
- Emulator engine overview.
- Emulating the registers.
- Emulating the memory.
- Parsing the bytecode and software flow.
- Addressing mode byte decoding.
- Emulating the various instructions.
5. Emulating basic PC support hardware
- Simple text-mode video card emulation.
- Keyboard input.
- Floppy disk emulation.
- Hardware timer interrupt.
6. Appendix
- Full 8086 instruction set.
- Opcode hex table.