References
**********

Hardware References
===================

[IA32-v1]. IA-32 Intel Architecture Software Developer's Manual Volume 1: Basic Architecture.  Basic 80X86 architecture and programming environment.  Available via developer.intel.com.  Section numbers in this document refer to revision 18.

[IA32-v2a]. IA-32 Intel Architecture Software Developer's Manual Volume 2A: Instruction Set Reference A-M.  80X86 instructions whose names begin with A through M.  Available via developer.intel.com.  Section numbers in this document refer to revision 18.

[IA32-v2b]. IA-32 Intel Architecture Software Developer's Manual Volume 2B: Instruction Set Reference N-Z.  80X86 instructions whose names begin with N through Z.  Available via developer.intel.com. Section numbers in this document refer to revision 18.

[IA32-v3a]. IA-32 Intel Architecture Software Developer's Manual Volume 3A: System Programming Guide.  Operating system support, including segmentation, paging, tasks, interrupt and exception handling.  Available via developer.intel.com.  Section numbers in this document refer to revision 18.

[FreeVGA]. FreeVGA Project.  Documents the VGA video hardware used in PCs.

[kbd]. Keyboard scancodes.  Documents PC keyboard interface.

[ATA-3]. AT Attachment-3 Interface (ATA-3) Working Draft.  Draft of an old version of the ATA aka IDE interface for the disks used in most desktop PCs.

[PC16550D]. National Semiconductor PC16550D Universal Asynchronous Receiver/Transmitter with FIFOs.  Datasheet for a chip used for PC serial ports.

[8254]. Intel 8254 Programmable Interval Timer. Datasheet for PC timer chip.

[8259A]. Intel 8259A Programmable Interrupt Controller (8259A/8259A-2).  Datasheet for PC interrupt controller chip.

Software References
===================

[ELF1]. Tool Interface Standard (TIS) Executable and Linking Format (ELF) Specification Version 1.2 Book I: Executable and Linking Format.  The ubiquitous format for executables in modern Unix systems.

[ELF2]. Tool Interface Standard (TIS) Executable and Linking Format (ELF) Specification Version 1.2 Book II: Processor Specific (Intel Architecture).  80X86-specific parts of ELF.

[ELF3]. Tool Interface Standard (TIS) Executable and Linking Format (ELF) Specification Version 1.2 Book III: Operating System Specific (UNIX System V Release 4).  Unix-specific parts of ELF.

[SysV-ABI]. System V Application Binary Interface: Edition 4.1.  Specifies how applications interface with the OS under Unix.

[SysV-i386]. System V Application Binary Interface: Intel386 Architecture Processor Supplement: Fourth Edition.  80X86-specific parts of the Unix interface.

[SysV-ABI-update]. System V Application Binary Interface---DRAFT---24 April 2001.  A draft of a revised version of SysV-ABI which was never completed.

Operating System Design References
==================================

[4.4BSD]. M. K. McKusick, K. Bostic, M. J. Karels, J. S. Quarterman, The Design and Implementation of the 4.4BSD Operating System.  Addison-Wesley 1996.