IBM PC AT version 2 (06/10/85) BIOS commented code from IBM which shows a correct implementation of POST and chipset initialization.
The code is divided in the following files:
ios.asmBIOS routines INT12, INT11, INT02bios1.asmINT15 BIOS routinesbios2.asmBIOS routines INT1A, INT70, INT5, INT8disk.asmfixed disk BIOS INT13diskette.asmdiskette BIOS INT13dseg.incdata segment locations, KB/DSK/VIDEO data areaskeybd.asmkeyboard BIOS INT16, INT9modref.incBIOS I/O interfaceorgs.asmcompatibility modulepostequ.incequates used by POST and BIOSprinter.asmprinter adapter BIOS INT17rs232.asmcommunications BIOS RS232 INT14sysdata.incprotected mode EQU for post-test and BIOS routinestest1.asmPOSTTEST.1throughTEST.16test2.asmPOSTTEST.17throughTEST.22test3.asmPOST exception interrupt teststest4.asmPOST and BIOS utility routinestest5.asmexception interrupt test handlers for POSTtest6.asmPOST and system bootstrapvideo.asmvideo display BIOS INT10
The IBM PC AT version 2 BIOS was built using IBM MASM 2.0 on DOS.
Other legacy IBM PC BIOS sources can be found at https://sites.google.com/site/pcdosretro/ibmpcbios
-
ibm-pc-techref.pdfcomplete IBM PC technical reference manual from the hardware design to the BIOS requirements (API, memory mapping, etc.). -
biod-pnp-specification.pdfmodern BIOS specification with Plug-and-Play specification. -
bios-boot-specification.pdffocus on boot selection specification. -
bios-advanced-power-management.pdfextension for advanced power management. -
bios-pentium-pro.pdfexample of BIOS writer's whose purpose is to provide to OEMs and BIOS writers recipes to initialize platforms based on a given processor like how to enable memory controllers, PCI bridges, processor's cores, etc.