18 Low-level DOS/BIOS and Hardware-oriented Programming
This chapter sheds some light on a few aspects of writing DJGPP programs
which interact with hardware or use interrupts.
- int86: int86 doesn't always work.
- Pointer segment: How to specify pointers when you call an interrupt.
- Zero SP: How to call real-mode procedures.
- Xfer: Moving data to and from conventional memory.
- Move structs: How to move structs from conventional memory.
- Fat DS: Fast direct access to memory-mapped devices.
- Above 1MB: Interact with memory-mapped devices above 1MB.
- RMCB: How to let DOS/BIOS call your code.
- Hardware interrupts: How to hook HW interrupts from DJGPP.
- _go32 vs __dpmi: Which functions should you use?
- HW Int pitfalls: Does your machine wedge? Here are some reasons.
- Inline Asm: How to write inline assembly with GCC.
- DMA: How to use DMA from DJGPP programs.