Example uses "volatile"; compiler says "undefined identifier volatile"
Paul
phshaffer at gmail.com
Thu Aug 1 03:04:27 UTC 2019
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
}
}
More information about the Digitalmars-d-learn
mailing list