First lets look at the components of helios - a kernel.pas, helios_console.pas and core_helios.pas make up most of what we care about - stub.asm is the loader, linker.script tells ld how to link our OS into the kernel.obj we care about and the remainder of the files are only there for the re-assurance of dependency satisfaction.
Kernel.pas - the 'second stage' of getting your code running, it acts as a marker in the digital sea of ones and zeros found inside Kernel.obj, our actual running kernel. All it does is set everything up and get it ready with a globally recognizeable kmain procedcure telling the loader: Start running things here. This then launches the helios.kernel procedure from core_helios.pas where any initialization code can be added and also supplies a unix style runlevel variable to keep track of just how far down the line the OS is at.
helios_console.pas supplies the oHelios_Console that gives us the ability to print things to the screen as well as read a key code - very basic but required.
The code itself is rather self explanatory on the xyz_helios_abc.pas files - its all the familiar pascal. below it is the fundamentals of getting the ball rolling: x86.pas - full of the ASM goodness that talks to our hardware as well as a few others.
vBulletin Message