Gregory Bowne bcd09a898c Add parallel port handling in parallel.c
Implement parallel port support with detection and configuration.
Add LPT port handling in parallel.c
Implement LPT port detection and configuration functions.
2026-02-04 20:53:22 +01:00
2025-04-30 23:03:44 -07:00
2026-01-28 21:41:10 +01:00
2026-01-28 21:41:10 +01:00
2026-01-28 21:40:39 +01:00
2026-01-28 21:41:10 +01:00
2026-01-28 21:40:39 +01:00

ClassicOS

Build License Platform Made with

ClassicOS is a 32-bit Intel x86 operating system built from scratch using C, NASM, and GCC. Designed for 386, 486, and Pentium-class CPUs, it runs in protected mode, outputs to VGA text mode and serial ports, and supports floppy/HDD boot with basic FAT support.


Features

  • MBR bootloader at 0x7C00
  • Switch to protected mode with GDT
  • A20 gate enabling
  • Simple FAT12/FAT16 disk loader stub
  • VGA text output (0xB8000)
  • Serial COM1 support (0x3F8)
  • Basic kernel (kmain) written in C
  • Makefile-based build system
  • Bootable floppy image for testing in QEMU

⚙️ Requirements

Youll need the following tools installed:

  • nasm
  • gcc (targeting i386)
  • ld
  • make
  • qemu-system-i386

Optional:

  • gdb
  • vncviewer (TigerVNC or similar)

🛠️ Building ClassicOS

Clone repository:

git clone https://github.com/gbowne1/ClassicOS.git
cd ClassicOS

Run configure script to build a cross-compiler toolchain for i386-elf:

./configure

Source the .build.env file to add the cross-compiler toolchain to your PATH:

source .build.env

Build the kernel:

make
Description
An x86 32 biit Operating System for 386, 486, Pentium class (P-60 to 233MHz, Pentium II, P3, P4, etc)
Readme 186 MiB
Languages
C 89.6%
Assembly 8.1%
Makefile 2.3%