Books FYSOS: Input and Output Devices Books Benjamin David Lunt Buy Available here, Amazon, or your favorite online book source Buy Volume Four of a series of books on Operating System Design Please write a reviewPlease go to the bottom of this page and write a review. Thank you.Please write a review Comments See below for customer comments Comments Errata View the Errata Errata The reason for this book See below for the reason for this book The reason for this book
FYSOS: Input and Output DevicesThis book is Volume 4 of the series, FYSOS: Operating System Design, and will show the reader how to detect, initialize, and communicate with the Parallel port, the Serial port, the PS/2 port(s), and a Bus Mouse Adapter Card, along with a keyboard and mouse, and a Sound Blaster series audio card. The reader will learn how to detect the controllers, what type of controller it is, initialize it to default values, detect attached devices, and then communicate with those devices. It shows how to detect how many buttons and what kind of mouse packet is being sent, as well as the three different Scan Code Sets of the keyboard, and how to decipher them. All of this is done without any outside help, such as operating system calls or the help of the BIOS. The reader will learn how to communicate with the hardware directly, reading and writing to the system bus to achieve these tasks. The companion CD-ROM contains complete source code of each example within the book, showing how to accomplish these tasks. This book, and its companion series of books, does not expect you to build the next great wonder of the computer world. It simply will help you with your interest in controlling the computer's hardware, from the point the BIOS releases execution to your boot code to the point of a fully working Graphical User Interface. It is not required that you know much about operating system design, though a good knowledge of C Programming Language and a moderate knowledge of an Intel/AMD x86 computer's hardware is expected to use this book.

Information Information in the book or on the CD-ROM may include Information
• Detecting Parallel Ports and Controllers • Detecting Serail Ports and Controllers • Detecting PS/2 Ports and Controllers • Detecting Bus Mouse Adapters • Detecting Mice • Detecting Keyboards • Capturing Mouse packets • Capturing Keyboard data • Detecting and sending audio to Sound Blaster • Does NOT include USB I/O devices, since these types of devices are detailed in Volume 8.
CD Included The Companion CD-ROM CD Included
The companion CD-ROM will not be available with the purchase of the book via book outlets and online shopping. However, with any form of proof of purchase[1], the CD-ROM can be sent to you as an .ISO image via email, or sent as a CD-ROM via USPS. (A small postage fee may be applied). I can be contacted at fys [at] fysnet [dot] net. [1] A proof of purchase would consist of, but not limited to: - Confirmation email from seller, copied/pasted to a request email to the address above - Image of a register receipt sent as an attachment to the address above - Randomly chosen chapter/page/paragraph/sentence-within-that-paragraph combination (chosen by you) I am just trying "to keep the honest honest". You know, once you have the book, I will send you the ISO. I don't question whether you have it or not. :-)
Table of Contents Table of Contents Table of Contents
i. Introduction 1. Input and Output Devices Overview 2. The Parallel Port 3. The Serial Port 4. The Serial Mouse 5. The PS/2 Port 6. The PS/2 Keyboard 7. The PS/2 Mouse 8. The Bus Mouse 9. The Sound Blaster Appendix A - Disc Contents Appendix B - Included Utilities/Source Code Appendix C - Tables and Figures Appendix D - Keyboard Scan Codes Appendix E - Notes and Considerations Appendix F - Pin-outs Appendix G - EISA and PCI BUS Appendix X - For More Information Bibliography A more detailed Table of Contents (pdf), stripped directly out of the book.
User Comments User Comments User Comments

The reason for this book The Reason for This Book The reason for this book
I am sure a lot of you are wondering why I would write about obsolete hardware, and the assumptions you have may or may not be correct, though they may be warranted. :-) The main reason I include this volume with this series is that I enjoyed writing it and the work it took to do so. Especially the Bus Mouse. There is very little information about the Bus Mouse and the most information I found was the Linix source code. However, even though it (somewhat) works, it is in error. The comments are wrong. I took on the task of reverse engineering the card and was able to find out how to program it, to make both the MS InPort and MS/Logitech Bus Mouse Adapters send me mouse packets. I then added it to the Bochs Emulator. This was the enjoyment I was looking for, and received. However, even though the Bus Mouse is obsolete, there is still good information in this book. There are still PS/2 keyboards and mice around, and this book goes into detail about the PS/2 ports, how to detect them and how many ports, as well as programming the keyboard and mouse that may be attached to them. The other information within this book may be of interest only, though I enjoyed writing it. Thank you for your support and I hope that you have as much enjoyment with your project as I have with mine. Ben