Dr. Baruch Zoltan Francisc
Professor

Input/Output Systems and
Peripheral Devices

Laboratory Sessions (2023/2024)


No.

Week Topic Documentation
1 26.02 - 01.03 Serial Port (I) Serial-Port.pdf
2 04.03 - 08.03 Serial Port (II) Serial-Port.pdf
3 11.03 - 15.03 PCI Express Bus (I) PCIe-Bus.pdf
4 18.03 - 22.03 PCI Express Bus (II) PCIe-Bus.pdf
5 25.03 - 29.03 System Management Bus (I) SMBus.pdf
6 01.04 - 05.04 System Management Bus (II) SMBus.pdf
7 08.04 - 12.04 Universal Serial Bus (I) USB.pdf
8 15.04 - 19.04 Universal Serial Bus (II) USB.pdf
9 22.04 - 26.04 Printers Printers.pdf
10 06.05 - 10.05 Small Computer System Interface SCSI.pdf
11 13.05 - 17.05 ATA Interface ATA-Interface.pdf
12 20.05 - 24.05 Compact Discs. ATA Packet Interface (I) ATA-Packet-Interface.pdf
13 27.05 - 31.05 Compact Discs. ATA Packet Interface (II) ATA-Packet-Interface.pdf
14 03.06 - 07.06 Laboratory Colloquy


Resources for the Laboratory

General Resources

TestCom1DT-e: Example Windows application for testing the existence of the COM1 serial port;
the DrawText function is used for displaying the contents of the application window
TestCom1DT-e.zip
TestCom1TO-e: Example Windows application for testing the existence of the COM1 serial port;
the TextOut function is used for displaying the contents of the application window
TestCom1TO-e.zip
AppScroll-e: Example Windows application with vertical scroll bar;
the TextOut function is used for displaying the contents of the application window
AppScroll-e.zip
Menu-e: Example Windows application with menus
Menu-e.zip
Dialog-e: Example Windows application with menus and dialog boxes
Dialog-e.zip
GetText-e: Example for reading the text from an editing window
GetText-e.zip
The WinIo v3.0 driver for accessing I/O ports under the Windows operating
systems (Yariv Kaplan, 2010, http://www.internals.com)
WinIo.zip
TestPort-e: Example application to illustrate I/O port accesses under the Windows
operating systems
TestPort-e.zip
PortAccess-e: Example to illustrate access to ports by setting the I/O permission bitmap
PortAccess-e.zip

Serial Port

ComDef-e.h: Definition file for the serial port
ComDef-e.zip
Craig Peacock, Interfacing the Serial / RS232 Port, V5.0, Beyond Logic, 2005
http://www.beyondlogic.org/serial/serial.htm
http://www.beyondlogic.org/serial/serial1.htm
serial.pdf

PCI Express Bus

PCI-e.zip: The PCI-e.h, PCI-vendor-dev.h, and PciBaseAddressUEFI-e.cpp files for the PCIe bus
PCI-e.zip
pci.ids: PCI IDs of vendors, devices, and subsystems (© The PCI ID Repository)
pci.ids

System Management Bus

SMBus-e.zip: The SMBus-e.h file for the System Management Bus
SMBus-e.zip
SPD-e.zip: The SPD-e.h file for decoding the contents of an SPD memory, version 1.0 (for the laboratory computers)
SPD-e.zip
SPDv12-e.zip: The SPDv12-e.h file for decoding the contents of an SPD memory, version 1.2
SPDv12-e.zip

Universal Serial Bus

HID8.1.zip: Files from the Windows Driver Kit (WDK) package, version 8.1
HID8.1.zip

Printers

Printers.zip: Header files and LIB file for the printer applications
Printers.zip

Small Computer System Interface

Adaptec, Inc., ASPI for Win32 Technical Reference, 2001, http://www.zianet.com/jgray/dat/files/ASPI32.pdf.
ASPI32.pdf
WNASPI32.zip: The wnaspi32.dll library and definition files for the ASPI programming interface
WNASPI32.zip
American National Standard of X3T10 Technical Committee of Accredited Standards Committee X3,
SCSI-3 Primary Commands, X3T10 995D, Revision 10, 1996.
SPC-R10.PDF
American National Standard of X3T10 Technical Committee of Accredited Standards Committee X3,
Information Technology - SCSI-3 Multimedia Commands, X3T10 1048D, Revision 10A, 1997.
MMC-R10A.PDF

ATA/ATAPI Interface

ATA-ATAPI-e.zip: The ATA-ATAPI.h and PciBaseAddressUEFI-e.cpp files for the ATA and ATAPI interfaces
ATA-ATAPI-e.zip
American National Standard of Accredited Standards Committee INCITS, AT Attachment with Packet Interface - 7,
Volume 1 - Register Delivered Command Set, Logical Register Set
, T13 Project 1532D Volume 1, Revision 4b, 2004,
http://www.t10.org/t13/docs2004/d1532v1r4b-ATA-ATAPI-7.pdf .
d1532v1r4b-ATA-ATAPI-7.pdf
American National Standard of Accredited Standards Committee INCITS, AT Attachment with Packet Interface - 7,
Volume 2 - Parallel Transport Protocols and Physical Interconnect
, T13 Project 1532D Volume 2, Revision 4b, 2004,
http://www.t10.org/t13/docs2004/d1532v2r4b-ATA-ATAPI-7.pdf .
d1532v2r4b-ATA-ATAPI-7.pdf
American National Standard of Accredited Standards Committee INCITS, AT Attachment with Packet Interface - 7,
Volume 3 - Serial Transport Protocols and Physical Interconnect
, T13 Project 1532D Volume 3, Revision 4b, 2004,
http://www.t10.org/t13/docs2004/d1532v3r4b-ATA-ATAPI-7.pdf .
d1532v3r4b-ATA-ATAPI-7.pdf

Parallel Port

LptDef-e.h: Definitions file for the parallel port
LptDef-e.zip
Craig Peacock, Interfacing the Standard Parallel Port, Beyond Logic, 2005
http://www.beyondlogic.org/spp/parallel.htm
parallel.pdf
Craig Peacock, Interfacing the Enhanced Parallel Port, Beyond Logic, 2005
http://www.beyondlogic.org/epp/epp.htm
epp.pdf
Craig Peacock, Interfacing the Extended Capabilities Port, Beyond Logic, 2005
http://www.beyondlogic.org/ecp/ecp.htm
ecp.pdf
Specifications of the ECP port, version 1.06, Microsoft Corp., 1995
ecp_reg.pdf

Keyboard

Adam Chapweske, The PS/2 Keyboard Interface, 2003,
http://www.computer-engineering.org/ps2keyboard/
PS-2_Keyboard_Interface.htm
Adam Chapweske, The PS/2 Mouse/Keyboard Protocol, 2003,
http://www.computer-engineering.org/ps2protocol/

Adam Chapweske, Keyboard Scan Codes: Set 1,
http://www.computer-engineering.org/ps2keyboard/scancodes1.html
Scan_Codes_Set_1.htm

Adam Chapweske, Keyboard Scan Codes: Set 2,
http://www.computer-engineering.org/ps2keyboard/scancodes2.html
Scan_Codes_Set_2.htm


Updated: May 18, 2024