Skip to content
/ RadOS Public

Toy 16-bit real mode operating system

Notifications You must be signed in to change notification settings

RadAd/RadOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RadOS

Toy 16-bit real mode operating system

RadOS

For now its more of a program running on the bare hardware rather than an actual operating system. I originally started using assembly but it is a much slower process and I wasn't making much progress. Using assembly may produce a smaller binary, especially in the startup code, but that hasn't been an issue as yet.

The bootloader is currently using BootProg as it can load a DOS com executable format.

I am using Open Watcom V2 16-bit c compiler to produce the com file.

I am using some of the standard c functions, you just need to be careful which you use. You can't use any of the standard file i/o, even standard output. It is safe to use functions that don't rely on the OS such as the string functions. I am currently using malloc/free. I wasn't sure it was going to work, but it seems to work ok.

Using BIOS functionality I have working:

  • screen output
  • keyboard input
  • time and date
  • disk i/o

Eventually it will probably be worthwhile to replace BIOS with direct hardware access.

Tools

GNU Make v4.3

Open Watcom V2 2.0 beta Sep 15 2020

QEMU v5.1.0

BootProg

Build

make build

Run

make run

About

Toy 16-bit real mode operating system

Topics

Resources

Stars

Watchers

Forks

Languages