I'm trying to build a Bare Bones 'OS' via example. Example says to compile with "gdc -c kernel.main.d -o kernel.main.o -g" I'm having trouble getting GDC all set up..as I'm a rank amateur. So, I tried compiling the example below with DMD. DMD spits out exceptions to the use of 'volatile'. DIP62 on D wiki says status:REJECTED for volatile. Whats my work around here? This is what I'm trying to do-> https:// wiki.osdev.org / D_Bare_Bones

Thanks for any help.

module kernel.main;

extern(C) void main(uint magic, uint addr) {
        int ypos = 0; //Starting points of the cursor
        int xpos = 0;
        const uint COLUMNS = 80; //Screensize
        const uint LINES = 25;

ubyte* vidmem = cast(ubyte*)0xFFFF_8000_000B_8000; //Video memory address

for (int i = 0; i < COLUMNS * LINES * 2; i++) { //Loops through the screen and clears it
                        volatile *(vidmem + i) = 0;
        }

volatile *(vidmem + (xpos + ypos * COLUMNS) * 2) = 'D' & 0xFF; //Prints the letter D volatile *(vidmem + (xpos + ypos * COLUMNS) * 2 + 1) = 0x07; //Sets the colour for D to be light grey (0x07)

        for (;;) { //Loop forever. You can add your kernel logic here
        }
}

Reply via email to