FYSOS: The Graphical User Interface
Benjamin David Lunt
Available here, Amazon, or your favorite online book source
Volume Six of a series of books on Operating System Design
See below for customer comments
View the Errata
This book is Volume 6 of the series, FYSOS: Operating System Design, and will show the reader how to draw to the VESA screen, creating windows, controls, buttons, text objects, progress bars, and many other types of objects, allowing the mouse cursor to manipulate these objects. The book explains things like the common Message Box, how to create the object, including an optional icon, text message, and one to three buttons. The book explains events, how to send and receive these events, and what to do with them.
All of this is done without any outside help, such as operating system calls, though does call the video BIOS to retreive the VESA video information.
The companion CD-ROM contains complete source code of each example within the book, showing how to accomplish these tasks, as well as a complete demo GUI system, showing all of the controls and objects, how to manipulate them and move them about the screen. This source code is essential to the book so that you may follow along and see just how to perform the task at hand.
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 in the book or on the CD-ROM may include
• Detecting the video information, including screen size and color depth
• Manipulating image files
• A demo GUI system to show how to use these items
• Detailed source code to the demo GUI system
• Does not use a third party GUI or graphics program
• Everything is done within the included source code
• Is a self contained GUI demo app with all source included
It is essential that you request the CDROM so that you can follow along in the book. Without the source code to the GUI Demo app, you may not understand what is discussed within the book. The source code is the key to understanding the process.
I have a few screen shots of the GUI Demo app in use along with the executable part (no source) of the app shown below so that you might be able to see the process and decide if this book is right for you.
Screenshot: Desktop view with Menus
Screenshot: Desktop view with many Message Boxes
Screenshot: Desktop view with Transparent Titlebars
Screenshot: Misc Desktop view (3rd and 4th images in row at bottom left, animate)
Screenshot: Misc Desktop view (with calculator app)
Screenshot: A Terminal (DOS like) view.
Screenshot: 'H' in the LucidaC Font
Screenshot: 'A' in the Courier New Font
GUI Demo code:
Please read this page for instructions on getting a demo.
The Companion CD-ROM
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, 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.
 A proof of purchase would consist of, but not limited to:
- Confirmation email from seller, copied/pasted to a request email to the address
- 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
1. The GUI Overview
2. The Video Screen
3. The Bitmap Object
4. The Pointing Device
5. Base Constructs
6. Getting Started
7. Object Creation
9. Most Used Functions
10. Remaining Notes
13. A Message Box
14. The Button Object
15. A Progress Bar
16. The OnOff Object
17. The Menu System
18. Last Minute Notes
Appendix A - Disc Contents
Appendix B - Included Utilities/Source Code
Appendix C - Tables and Figures
Appendix X - For More Information
A more detailed Table of Contents (pdf), stripped directly out of the book.