User:Geri/Dawn

From OSDev Wiki
Jump to navigation Jump to search

Dawn

Dawn operating system is an operating system for the SUBLEQ architecture. The conception of Dawn is to allow hardware developers (even hobbists) to design simple hardware to run it. Dawn is a high-level operating system with graphics user interface, multitasking, C compiler, and various programs (paint, text editor, games, etc).


Dawn hardware

Dawn operating system have public specifications to do a hardware compatible with the operating system (start/help/hardware.txt). Dawn having unified IO to run, so Dawn compatible systems are staying compatible with each other. It requires no CPU instruction set to run, only one 64 bit instruction: SUBTRACT and LESS OR EQUAL (SUBLEQ, B-=A; if(B<=0) EIP=C; else EIP+=24). Dawn requires no DMA or interrupts, it supports SMP. Dawn supports traditional pheripheries like keyboard, mouse, touchscreen, 24 or 32 bit frame buffer, 7.1 sound in and output, camera, disk drives. Creating hardware for Dawn platform, or emulating Dawn is keeped as simply as it possible, hardwares and the OS is polling memory locations to communicate with each other. Dawn operating system is loaded from memory address 0 to maximum 256 mbyte (execution starts from 0). From 256 mbyte to 320 mbyte, the memory area is reserved for the hardware. Memory area above 320 mbyte is available for general usage.