= Developer Docs = This page is meant to collect links to redistributable and published online manuals and specifications, such as hardware manuals, protocol specifications, etc. Also information learned about a piece of hardware that is not readily available in existing docs can be recorded here. == C language == * [http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1336.pdf Draft of the C99 standard with corrigenda TC1, TC2, and TC3 included] == System V ABI == * [http://www.sco.com/developers/devspecs/gabi41.pdf System V Application Binary Interface Edition 4.1] == POSIX == * [http://www.unix.org/version3/ The Single UNIX Specification, Version 3] == Debugging Data == * [http://dwarfstd.org/Dwarf3.pdf DWARF Debugging Information Format Version 3] == AMD64 == * [http://support.amd.com/us/Processor_TechDocs/24592.pdf AMD64 Architecture Programmer’s Manual Volume 1: Application Programming] * [http://support.amd.com/us/Processor_TechDocs/24593.pdf AMD64 Architecture Programmer’s Manual Volume 2: System Programming] * [http://support.amd.com/us/Processor_TechDocs/24594.pdf AMD64 Architecture Programmer’s Manual Volume 3: General-Purpose and System Instructions] * [http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/25112.PDF Software Optimization Guide for AMD64 Processors] * [http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/40546_GH_Optguide_Ver_3-10_2-12-09.pdf Software Optimization Guide for AMD Family 10h Processors] * [http://www.x86-64.org/documentation/abi.pdf System V Application Binary Interface AMD64 Architecture Processor Supplement] == ARM == * ARM Architecture Reference Manual [officially unavailable] [http://www.google.com/search?q="ARM+Architecture+Reference+Manual"+filetype%3Apdf Google it!] * [https://silver.arm.com/download/download.tm?pv=1073121 ARMv5 Architecture Reference Manual] [registration required] [http://www.google.com/search?q="ARMv5+Architecture+Reference+Manual"+filetype%3Apdf Google it!] * [http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042c/IHI0042C_aapcs.pdf Procedure Call Standard for the ARM Architecture] == IA-32 == * [http://www.intel.com/Assets/PDF/manual/253665.pdf Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 1: Basic Architecture] * [http://www.intel.com/Assets/PDF/manual/253666.pdf Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 2A: Instruction Set Reference, A-M] * [http://www.intel.com/Assets/PDF/manual/253667.pdf Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 2B: Instruction Set Reference, N-Z] * [http://www.intel.com/Assets/PDF/manual/253668.pdf Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 3A: System Programming Guide, Part 1] * [http://www.intel.com/Assets/PDF/manual/253669.pdf Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 3B: System Programming Guide, Part 2] * [http://www.intel.com/Assets/PDF/manual/248966.pdf Intel® 64 and IA-32 Architectures Optimization Reference Manual] * [http://download.intel.com/design/pentium/datashts/24201606.pdf MultiProcessor Specification] * [http://www.intel.com/design/chipsets/datashts/29056601.pdf 82093AA I/O ADVANCED PROGRAMMABLE INTERRUPT CONTROLLER (IOAPIC)] * [http://www.intel.com/design/chipsets/specupdt/29071001.pdf Intel 82093AA I/O Advanced Programmable Interrupt Controller (I/O APIC) Specification Update] * [http://www.sco.com/developers/devspecs/abi386-4.pdf SYSTEM V APPLICATION BINARY INTERFACE Intel386 Architecture Processor Supplement] == IA-64 == * [http://download.intel.com/design/Itanium/manuals/24531705.pdf Intel Itanium Architecture Software Developer’s Manual Volume 1: Application Architecture] * [http://download.intel.com/design/Itanium/manuals/24531805.pdf Intel Itanium Architecture Software Developer’s Manual Volume 2: System Architecture] * [http://download.intel.com/design/Itanium/manuals/24531905.pdf Intel Itanium Architecture Software Developer’s Manual Volume 3: Instruction Set Reference] * [http://download.intel.com/design/Itanium/Downloads/245358.pdf Intel Itanium Software Conventions & Runtime Architecture Guide] == MIPS == * [http://www.mips.com/media/files/archives/R4000MicroprocessorUsersManual.pdf MIPS R4000 Microprocessor User’s Manual] * [http://www.mips.com/secure-download/index.dot?product_name=/auth/MD00016%2D2B%2D4K%2DSUM%2D01.18.pdf MIPS32® 4K® Processor Core Family Software User's Manual] [registration required] [http://www.google.com/search?q="MIPS32®+4K®+Processor+Core+Family+Software+User's+Manual"+filetype%3Apdf Google it!] * [http://www.sco.com/developers/devspecs/mipsabi.pdf SYSTEM V APPLICATION BINARY INTERFACE MIPS RISC Processor Supplement] == PowerPC == * [http://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/DC3D43B729FDAD2C00257419006FB955/$file/970MP_um.2008MAR07_pub.pdf IBM PowerPC 970MP RISC Microprocessor User’s Manual] * [http://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/852569B20050FF778525699600719DF2/$file/6xx_pem.pdf PowerPC Microprocessor Family: The Programming Environments for 32-Bit Microprocessors] * [http://www-01.ibm.com/chips/techlib/techlib.nsf/techdocs/F7E732FF811F783187256FDD004D3797/$file/pem_64bit_v3.0.2005jul15.pdf PowerPC Microprocessor Family: The Programming Environments Manual for 64-bit Microprocessors] * [http://refspecs.freestandards.org/elf/elfspec_ppc.pdf SYSTEM V APPLICATION BINARY INTERFACE PowerPC Processor Supplement] == SPARC V9 == * [http://www.sparc.org/standards/SPARCV9.pdf The SPARC Architecture Manual Version 9] * [http://www.fujitsu.com/downloads/PRMPWR/JPS1-R1.0.4-Common-pub.pdf SPARC Joint Programming Specification (JPS1): Commonality] * [http://www.sun.com/processors/manuals/802-7220-02.pdf UltraSPARC User’s Manual, UltraSPARC-I, UltraSPARC-II] * [http://www.sparc.org/standards/SCD.2.4.ps.Z SPARC COMPLIANCE DEFINITION 2.4] * [http://wikis.sun.com/display/FOSSdocs/Home FOSS Open Hardware Documentation] == Openmoko !FreeRunner == * [wiki:FreeRunner HelenOS on Neo FreeRunner] * [http://wiki.openmoko.org/ Openmoko Wiki] == File Systems == * [http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-107.pdf ECMA-107 a.k.a. FAT: Volume and File Structure of Disk Cartridges for Information Interchange] * [http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-119.pdf ECMA-119 a.k.a. ISO 9660:1988 Volume and File Structure of CDROM for Information Interchange] * [http://www.fordi.org/docs/Microsoft%20Joliet%20Spec.pdf Microsoft Joliet Extension to ISO 9660 Spec.] * [http://www.osta.org/specs/pdf/udf260.pdf Universal Disk Format 2.60] * [http://web.mit.edu/tytso/www/linux/ext2intro.html Design and Implementation of the Second Extended Filesystem] * [http://www.nongnu.org/ext2-doc/index.html The Second Extended File System Internal Layout] == Partition Tables == * [http://en.wikipedia.org/wiki/Master_boot_record Wikipedia article on Master boot record] * [http://en.wikipedia.org/wiki/GUID_Partition_Table Wikipedia article on GUID Partition Table] == Peripherals == * [wiki:OldMacPeripherals Legacy Macintosh peripherals] * ATA, ATAPI * [ftp://ftp.t10.org/t13/project/d0791r4c-ATA-1.pdf ATA-1 (ANSI X3.221-1994)] * [http://www.t10.org/t13/project/d0948r4c-ATA-2.pdf ATA-2 (ANSI X3.279-1996)] * [http://www.t10.org/t13/project/d2008r7b-ATA-3.pdf ATA-3 (ANSI X3.298-1997)] * [http://www.t10.org/t13/project/d1153r18-ATA-ATAPI-4.pdf ATA/ATAPI-4 (ANSI NCITS 317-1998)] * [http://www.t10.org/t13/project/d1321r3-ATA-ATAPI-5.pdf ATA/ATAPI-5 (ANSI NCITS 340-2000)] * [http://www.t10.org/t13/project/d1410r3a-ATA-ATAPI-6.pdf ATA/ATAPI-6 (ANSI NCITS 361-2002)] * [http://www.t10.org/t13/project/d1532v1r4a-ATA-ATAPI-7.pdf ATA/ATAPI-7 (NCITS 397-2005) vol. 1] * [http://www.t10.org/t13/project/d1532v2r4a-ATA-ATAPI-7.pdf ATA/ATAPI-7 (NCITS 397-2005) vol. 2] * [http://www.t10.org/t13/project/d1532v3r4a-ATA-ATAPI-7.pdf ATA/ATAPI-7 (NCITS 397-2005) vol. 3] * [http://www.bswd.com/sff8020i.pdf SFF-8020 ATA Packet Interface for CD-ROMs] * SATA * [http://download.intel.com/technology/serialata/pdf/rev1_3.pdf AHCI Specification for Serial ATA rev. 1.3] * Audio * [http://download.intel.com/support/motherboards/desktop/sb/ac97_r23.pdf Intel AC'97 Specification rev. 2.3 1.0] * [http://download.intel.com/standards/hdaudio/pdf/HDAudio_03.pdf Intel HD Audio Specification rev. 1.0] * Graphics * [http://www.x.org/docs/AMD/ AMD/ATI GPU Documentation (2-D and 3-D) at x.org] * Keyboard * [http://www.beyondlogic.org/keyboard/keybrd.htm Interfacing the PC AT keyboard / Beyond Logic] * [http://stanislavs.org/helppc/8042.html Intel 8042 (PS/2 keyboard/mouse port controller) / stanislavs.org] * USB * [http://www.usb.org/developers/docs/usb_20_052709.zip USB 2.0 Specification] * [http://www.usb.org/developers/docs/usb_30_spec_052109.zip USB 3.0 Specification] * [http://download.intel.com/technology/usb/UHCI11D.pdf USB UHCI Design Guide (i.e. specification) rev. 1.1] * [ftp://ftp.compaq.com/pub/supportinformation/papers/hcir1_0a.pdf USB OHCI Specification rev. 1.0a] * [http://www.intel.com/technology/usb/download/ehci-r10.pdf USB EHCI Specification v1.0] * [http://download.intel.com/technology/usb/EHCIv1-1_Addendum.pdf USB EHCI Specification Addendum v1.1] * [http://www.intel.com/technology/usb/download/xHCI_Specification_for_USB.pdf USB xHCI Specification for USB 3.0] * NIC * [http://www.national.com/profile/snip.cgi/openDS=DP8390D DP8390D/NS32490D NIC Network Interface Controller] * [http://www.amd.com/files/connectivitysolutions/networking/archivednetworking/17881.pdf AMD Am79C90 CMOS Local Area Network Controller for Ethernet (C-LANCE)]