git-svn-id: https://spexeah.com:8443/svn/Asuro@578 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c

This commit is contained in:
kieron 2018-04-29 14:52:36 +00:00
parent 335b0a12de
commit 980b94b896
58 changed files with 35 additions and 30 deletions

BIN
Asuro.iso

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -37,9 +37,9 @@ end;
procedure update(); procedure update();
begin begin
outb($70, $0C); // select register C //outb($70, $0C); // select register C
io_wait(); //io_wait();
inb($71); //inb($71);
//console.writestringln('RTC Update'); //console.writestringln('RTC Update');
//while not is_update_in_progress do begin //while not is_update_in_progress do begin
//end; //end;
@ -47,35 +47,35 @@ begin
//end; //end;
outb($70, $00); outb($70, $00);
io_wait(); io_wait();
DateTime.Seconds:= inb($71); DateTime.Seconds:= BCDToUint8(inb($71));
io_wait(); io_wait();
outb($70, $02); outb($70, $02);
io_wait(); io_wait();
DateTime.Minutes:= inb($71); DateTime.Minutes:= BCDToUint8(inb($71));
io_wait(); io_wait();
outb($70, $04); outb($70, $04);
io_wait(); io_wait();
DateTime.Hours:= inb($71); DateTime.Hours:= BCDToUint8(inb($71));
io_wait(); io_wait();
outb($70, $06); outb($70, $06);
io_wait(); io_wait();
DateTime.Weekday:= inb($71); DateTime.Weekday:= BCDToUint8(inb($71));
io_wait(); io_wait();
outb($70, $07); outb($70, $07);
io_wait(); io_wait();
DateTime.Day:= inb($71); DateTime.Day:= BCDToUint8(inb($71));
io_wait(); io_wait();
outb($70, $08); outb($70, $08);
io_wait(); io_wait();
DateTime.Month:= inb($71); DateTime.Month:= BCDToUint8(inb($71));
io_wait(); io_wait();
outb($70, $09); outb($70, $09);
io_wait(); io_wait();
DateTime.Year:= inb($71); DateTime.Year:= BCDToUint8(inb($71));
io_wait(); io_wait();
outb($70, $32); outb($70, $32);
io_wait(); io_wait();
DateTime.Century:= inb($71); DateTime.Century:= BCDToUint8(inb($71));
io_wait(); io_wait();
end; end;
@ -92,7 +92,7 @@ begin
io_wait(); io_wait();
//enable ints //enable ints
outb($70, $8B); {outb($70, $8B);
io_wait(); io_wait();
prev:= inb($71); prev:= inb($71);
io_wait(); io_wait();
@ -101,7 +101,7 @@ begin
outb($71, prev OR $40); outb($71, prev OR $40);
STI; STI;
outb($70, $00); outb($70, $00);
inb($71); inb($71);}
//isrmanager.registerISR(32 + 8, @update); //isrmanager.registerISR(32 + 8, @update);
TMR_0_ISR.hook(uint32(@update)); TMR_0_ISR.hook(uint32(@update));

View File

@ -3,11 +3,11 @@ unit asuro;
interface interface
const const
VERSION = '1.0.0-575a'; VERSION = '1.0.0-577a';
VERSION_MAJOR = '1'; VERSION_MAJOR = '1';
VERSION_MINOR = '0'; VERSION_MINOR = '0';
VERSION_SUB = '0'; VERSION_SUB = '0';
REVISION = '575'; REVISION = '577';
RELEASE = 'a'; RELEASE = 'a';
implementation implementation

View File

@ -45,6 +45,8 @@ procedure halt_and_dont_catch_fire();
procedure BSOD(fault : pchar; info : pchar); procedure BSOD(fault : pchar; info : pchar);
procedure psleep(t : uint16); procedure psleep(t : uint16);
function BCDToUint8(bcd : uint8) : uint8;
var var
endptr : uint32; external name '__end'; endptr : uint32; external name '__end';
stack : uint32; external name 'KERNEL_STACK'; stack : uint32; external name 'KERNEL_STACK';
@ -296,6 +298,11 @@ begin
getByte:= (i AND mask) SHR (8*index); getByte:= (i AND mask) SHR (8*index);
end; end;
function BCDToUint8(bcd : uint8) : uint8;
begin
BCDToUint8:= ((bcd SHR 4) * 10) + (bcd AND $0F);
end;
procedure BSOD(fault : pchar; info : pchar); procedure BSOD(fault : pchar; info : pchar);
var var
trace : pchar; trace : pchar;

View File

@ -252,22 +252,20 @@ end;
procedure printTime(Params : PParamList); procedure printTime(Params : PParamList);
begin begin
writeStringWND('Seconds: ', TERMINAL_HWND); writeIntWND(DateTime.Day, TERMINAL_HWND);
writeStringWND('/', TERMINAL_HWND);
writeIntWND(DateTime.Month, TERMINAL_HWND);
writeStringWND('/', TERMINAL_HWND);
writeIntWND(DateTime.Century, TERMINAL_HWND);
writeIntWND(DateTime.Year, TERMINAL_HWND);
writeStringWND(' ', TERMINAL_HWND);
writeIntWND(DateTime.Hours, TERMINAL_HWND);
writeStringWND(':', TERMINAL_HWND);
writeIntWND(DateTime.Minutes, TERMINAL_HWND);
writeStringWND(':', TERMINAL_HWND);
writeIntlnWND(DateTime.Seconds, TERMINAL_HWND); writeIntlnWND(DateTime.Seconds, TERMINAL_HWND);
writeStringWND('Minutes: ', TERMINAL_HWND); //writeStringWND('Weekday: ', TERMINAL_HWND);
writeIntlnWND(DateTime.Minutes, TERMINAL_HWND); //writeIntlnWND(DateTime.Weekday, TERMINAL_HWND);
writeStringWND('Hours: ', TERMINAL_HWND);
writeIntlnWND(DateTime.Hours, TERMINAL_HWND);
writeStringWND('Weekday: ', TERMINAL_HWND);
writeIntlnWND(DateTime.Weekday, TERMINAL_HWND);
writeStringWND('Day: ', TERMINAL_HWND);
writeIntlnWND(DateTime.Day, TERMINAL_HWND);
writeStringWND('Month: ', TERMINAL_HWND);
writeIntlnWND(DateTime.Month, TERMINAL_HWND);
writeStringWND('Year: ', TERMINAL_HWND);
writeIntlnWND(DateTime.Year, TERMINAL_HWND);
writeStringWND('Century: ', TERMINAL_HWND);
writeIntlnWND(DateTime.Century, TERMINAL_HWND);
end; end;
procedure registerCommand(command : pchar; method : TCommandMethod; description : pchar); procedure registerCommand(command : pchar; method : TCommandMethod; description : pchar);