Go back to the Visopsys Home Page.

What is Visopsys?



Download Visopsys and associated files.


Resources for Visopsys development

OS Development Resources

Search the Visopsys Site

 


OS DEVELOPMENT

This little page is the beginning of a collection of source code, information, and links related to general Operating Systems' Development on the Web.

Source code
Links

SOURCE CODE

Here is some source code, written by Andy McLaughlin, which might be useful to programmers who are developing OS- like products on the x86 platform.   All code ending with an ".s" extension is NASM- compatible Assembler code.  All ".c" code is tested for gcc-2.95 (or compatible) C compilers.

enableA20.s This is a fairly versatile snippet of code for enabling the x86's A20 address line.   It's a little bit lengthy, but it seems to work more reliably than other examples I've tried.  Cut and paste it into one of your existing source files.
vesaModes.s This piece of 16-bit code will query the VESA BIOS for a supported graphics mode number based on the desired parameters of resolution and colour depth.  Cut and paste it into one of your existing source files.

 

LINKS

Here are some selected links to sites useful to OS developers (much of this is specific to PC- style hardware architectures).  Please email me about any broken links or erroneous descriptions.  Thanks.


General
 

Questions For an OS Designer So, why are you doing this anyway?  This should be required reading for anyone contemplating starting an OS project
The OS Ring Good collection of links to general things
Creating your own Operating System Dark Fiber's FAQ about OS development
The Operating Systems Resource Center Great collection of technical information and tutorials
The List More technical information, white papers, and tutorials
SigOps: Create Your Own Operating System This is a broadly focused site about OS theory
Protected mode and operating systems x86-specific site for protected mode operating systems
Ralf Brown's Interrupt List (also try this HTML Version) Don't start any OS project on an x86 machine without getting this first.
HelpPC WWW conversion (or download the actual HelpPC application) Likewise.
The PC Game Programmer's Encyclopedia More useful x86 programming information.
sandpile.org -- 80x86 index Lots of good information about x86 processors.
NASM - The Netwide Assembler Project - FREE 80x86 assembler A GREAT little open- source assembler for x86 machines.


Filesystems
 

Programming Long File Names FAT Long filename information
Design and Implementation of the Second Extended File System The original EXT2 white paper
The Second Extended File System Another EXT2 doc from a Linux site
The Filesystems HOWTO Info about lots of different filesystems
File System Info HPFS, FAT, NTFS info
The Second Extended (EXT2) File System An EXT2 "book" by Dave Poirier.  Very good.
The Extended-2 (EXT2) Filesystem Overview A white paper by Gadi Oxman.  A bit dated, but good as an alternative source of EXT2 information.
CD formats
ISO 9660 File Systems
CD-ROM filesystem format information


File Formats
 

Wotsit's Format: The programmer's file formats and data formats resource. This site is a godsend.  Information on file formats of almost any kind.   Look here before you go anywhere else.
Standard Disk Format (Maverick) All about the format of the x86 Master Boot Sector
All About GIF89a Info about the GIF file format
DJGPP COFF Spec About the COFF object file format
The Graphics File Format Page Info about lots of graphic file formats.


PC Hardware References
 

Pentium(r)Processor - Manuals You need this if you're going to do any coding in x86 Assembly language
x86 Assembly Language FAQ Ray Moon's FAQ for comp.lang.asm.x86
IBM Floppy disk specification
82078 64 Pin CHMOS Single-Chip Floppy Disk Controller
Programming the NEC µPD765 and Intel 82072/7 Floppy Disk Controller
Programming the PC's floppy disk controller
ATA-ATAPI.COM -- ATA ATAPI IDE EIDE
Fil's FAQ-Link-In Corner: IDE Ref.
Phoenix Technologies Ltd. - Products and Solutions
Programming the PC's hard disk controller
VGA graphics Programming
VGA Programming model
High-res high-speed VESA tutorial
Game Programming and graphics programming
256-Color VGA Programming in C - Home
Graphics and sound - The Hornet Archive
Programming the PC's video hardware.
The PS/2 Mouse Interface Programming the PC mouse
Interfacing The Serial / RS-232 Port
Serial Links using RS-232 and RS-485
Serial port programming information
Interfacing The PIC : Using Interrupts Programming the PC's Programmable Interrupt Controller
PCI Vendor & Device IDs PCI bus information
/pub/usenet/news.answers/pc-hardware-faq PC hardware Usenet FAQ

 

Go back to the Visopsys Home Page.   What is Visopsys?      Download Visopsys and associated files.   Resources for Visopsys development      Search the Visopsys Site
This site is copyright © 1999-2004, J. Andrew McLaughlin
Visopsys and Visopsys.org are trademarks of J. Andrew McLaughlin
Last updated on September 11, 2004