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

View File

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

View File

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

View File

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

View File

@ -252,22 +252,20 @@ end;
procedure printTime(Params : PParamList);
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);
writeStringWND('Minutes: ', TERMINAL_HWND);
writeIntlnWND(DateTime.Minutes, 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);
//writeStringWND('Weekday: ', TERMINAL_HWND);
//writeIntlnWND(DateTime.Weekday, TERMINAL_HWND);
end;
procedure registerCommand(command : pchar; method : TCommandMethod; description : pchar);