diff --git a/Asuro.iso b/Asuro.iso
index 9256384a..29f8af35 100644
Binary files a/Asuro.iso and b/Asuro.iso differ
diff --git a/bin/kernel.bin b/bin/kernel.bin
index 836b67dd..34e4b584 100755
Binary files a/bin/kernel.bin and b/bin/kernel.bin differ
diff --git a/iso/boot/asuro.bin b/iso/boot/asuro.bin
index 836b67dd..34e4b584 100755
Binary files a/iso/boot/asuro.bin and b/iso/boot/asuro.bin differ
diff --git a/lib/ACE.ppu b/lib/ACE.ppu
index 66999b06..fb904f75 100644
Binary files a/lib/ACE.ppu and b/lib/ACE.ppu differ
diff --git a/lib/BPE.ppu b/lib/BPE.ppu
index f453759c..5372d3c7 100644
Binary files a/lib/BPE.ppu and b/lib/BPE.ppu differ
diff --git a/lib/BTSSE.ppu b/lib/BTSSE.ppu
index 6dce0bbd..7ec0e9b0 100644
Binary files a/lib/BTSSE.ppu and b/lib/BTSSE.ppu differ
diff --git a/lib/CFE.ppu b/lib/CFE.ppu
index c9be1f38..393f601f 100644
Binary files a/lib/CFE.ppu and b/lib/CFE.ppu differ
diff --git a/lib/CSOE.ppu b/lib/CSOE.ppu
index be5eeccc..fb321a5f 100644
Binary files a/lib/CSOE.ppu and b/lib/CSOE.ppu differ
diff --git a/lib/DBGE.ppu b/lib/DBGE.ppu
index f34c2fb7..2c74b213 100644
Binary files a/lib/DBGE.ppu and b/lib/DBGE.ppu differ
diff --git a/lib/DBZ.ppu b/lib/DBZ.ppu
index 00ba5f33..4fdb170b 100644
Binary files a/lib/DBZ.ppu and b/lib/DBZ.ppu differ
diff --git a/lib/DFE.ppu b/lib/DFE.ppu
index 721e0f92..9aa2de95 100644
Binary files a/lib/DFE.ppu and b/lib/DFE.ppu differ
diff --git a/lib/E1000.ppu b/lib/E1000.ppu
index f43ea689..6e5253a6 100644
Binary files a/lib/E1000.ppu and b/lib/E1000.ppu differ
diff --git a/lib/GPF.ppu b/lib/GPF.ppu
index 42b58ded..3ad0b7ce 100644
Binary files a/lib/GPF.ppu and b/lib/GPF.ppu differ
diff --git a/lib/IDE.ppu b/lib/IDE.ppu
index 2f187c24..8072e4af 100644
Binary files a/lib/IDE.ppu and b/lib/IDE.ppu differ
diff --git a/lib/IDOE.ppu b/lib/IDOE.ppu
index 2b7d1671..87941e6a 100644
Binary files a/lib/IDOE.ppu and b/lib/IDOE.ppu differ
diff --git a/lib/IOPE.ppu b/lib/IOPE.ppu
index 077ff261..56c4fb0f 100644
Binary files a/lib/IOPE.ppu and b/lib/IOPE.ppu differ
diff --git a/lib/MCE.ppu b/lib/MCE.ppu
index 127444bd..6cca51bb 100644
Binary files a/lib/MCE.ppu and b/lib/MCE.ppu differ
diff --git a/lib/NCE.ppu b/lib/NCE.ppu
index 4686574c..0b60cade 100644
Binary files a/lib/NCE.ppu and b/lib/NCE.ppu differ
diff --git a/lib/NMIE.ppu b/lib/NMIE.ppu
index c0ce4d29..6e51783f 100644
Binary files a/lib/NMIE.ppu and b/lib/NMIE.ppu differ
diff --git a/lib/OOBE.ppu b/lib/OOBE.ppu
index 73080166..3ddef5f7 100644
Binary files a/lib/OOBE.ppu and b/lib/OOBE.ppu differ
diff --git a/lib/PCI.ppu b/lib/PCI.ppu
index 770f062c..362d760a 100644
Binary files a/lib/PCI.ppu and b/lib/PCI.ppu differ
diff --git a/lib/PF.ppu b/lib/PF.ppu
index 15246c6d..25ec827d 100644
Binary files a/lib/PF.ppu and b/lib/PF.ppu differ
diff --git a/lib/PS2_KEYBOARD_ISR.ppu b/lib/PS2_KEYBOARD_ISR.ppu
index e821abd2..49d13d2e 100644
Binary files a/lib/PS2_KEYBOARD_ISR.ppu and b/lib/PS2_KEYBOARD_ISR.ppu differ
diff --git a/lib/RTC.ppu b/lib/RTC.ppu
index 62a5845b..9e495da4 100644
Binary files a/lib/RTC.ppu and b/lib/RTC.ppu differ
diff --git a/lib/SFE.ppu b/lib/SFE.ppu
index 2579761c..97ec83ce 100644
Binary files a/lib/SFE.ppu and b/lib/SFE.ppu differ
diff --git a/lib/SNPE.ppu b/lib/SNPE.ppu
index 97fdef12..2fd7687a 100644
Binary files a/lib/SNPE.ppu and b/lib/SNPE.ppu differ
diff --git a/lib/TMR_0_ISR.ppu b/lib/TMR_0_ISR.ppu
index 8e212515..0bef30cc 100644
Binary files a/lib/TMR_0_ISR.ppu and b/lib/TMR_0_ISR.ppu differ
diff --git a/lib/UIE.ppu b/lib/UIE.ppu
index 2b28ba1d..62860a35 100644
Binary files a/lib/UIE.ppu and b/lib/UIE.ppu differ
diff --git a/lib/USB.ppu b/lib/USB.ppu
index 186cf958..e7718f85 100644
Binary files a/lib/USB.ppu and b/lib/USB.ppu differ
diff --git a/lib/arp.ppu b/lib/arp.ppu
index d4a25320..e837eb83 100644
Binary files a/lib/arp.ppu and b/lib/arp.ppu differ
diff --git a/lib/asuro.ppu b/lib/asuro.ppu
index d30b75a1..795d5ce7 100644
Binary files a/lib/asuro.ppu and b/lib/asuro.ppu differ
diff --git a/lib/console.ppu b/lib/console.ppu
index 4f1d49f4..220b452b 100644
Binary files a/lib/console.ppu and b/lib/console.ppu differ
diff --git a/lib/drivermanagement.ppu b/lib/drivermanagement.ppu
index 051647e4..b78f1bf1 100644
Binary files a/lib/drivermanagement.ppu and b/lib/drivermanagement.ppu differ
diff --git a/lib/fat32.ppu b/lib/fat32.ppu
index 290afffe..fff44511 100644
Binary files a/lib/fat32.ppu and b/lib/fat32.ppu differ
diff --git a/lib/idt.ppu b/lib/idt.ppu
index fde9a046..6605f394 100644
Binary files a/lib/idt.ppu and b/lib/idt.ppu differ
diff --git a/lib/ipv4.ppu b/lib/ipv4.ppu
index 2f3137b6..3d38bc82 100644
Binary files a/lib/ipv4.ppu and b/lib/ipv4.ppu differ
diff --git a/lib/irq.ppu b/lib/irq.ppu
index 761d27ba..62d0c84d 100644
Binary files a/lib/irq.ppu and b/lib/irq.ppu differ
diff --git a/lib/isrmanager.ppu b/lib/isrmanager.ppu
index f9575fd7..717571c4 100644
Binary files a/lib/isrmanager.ppu and b/lib/isrmanager.ppu differ
diff --git a/lib/kernel.ppu b/lib/kernel.ppu
index f774cf38..42361e84 100644
Binary files a/lib/kernel.ppu and b/lib/kernel.ppu differ
diff --git a/lib/keyboard.ppu b/lib/keyboard.ppu
index b74bf176..90aaa25f 100644
Binary files a/lib/keyboard.ppu and b/lib/keyboard.ppu differ
diff --git a/lib/libpconsole.a b/lib/libpconsole.a
index ada44e6c..5cb61e3d 100644
Binary files a/lib/libpconsole.a and b/lib/libpconsole.a differ
diff --git a/lib/libpmultiboot.a b/lib/libpmultiboot.a
index 5ad48dd1..9bd552c8 100644
Binary files a/lib/libpmultiboot.a and b/lib/libpmultiboot.a differ
diff --git a/lib/libpsystem.a b/lib/libpsystem.a
index 83fa072b..662bc26e 100644
Binary files a/lib/libpsystem.a and b/lib/libpsystem.a differ
diff --git a/lib/lists.ppu b/lib/lists.ppu
index e80f0744..a83d8f82 100644
Binary files a/lib/lists.ppu and b/lib/lists.ppu differ
diff --git a/lib/lmemorymanager.ppu b/lib/lmemorymanager.ppu
index ec6bd60c..e440e2f2 100644
Binary files a/lib/lmemorymanager.ppu and b/lib/lmemorymanager.ppu differ
diff --git a/lib/mouse.ppu b/lib/mouse.ppu
index 9814917b..5e8b2a27 100644
Binary files a/lib/mouse.ppu and b/lib/mouse.ppu differ
diff --git a/lib/netutils.ppu b/lib/netutils.ppu
index e870f95e..f5257f6b 100644
Binary files a/lib/netutils.ppu and b/lib/netutils.ppu differ
diff --git a/lib/pmemorymanager.ppu b/lib/pmemorymanager.ppu
index 8ef6b1dd..b8c8666b 100644
Binary files a/lib/pmemorymanager.ppu and b/lib/pmemorymanager.ppu differ
diff --git a/lib/storagemanagement.ppu b/lib/storagemanagement.ppu
index 4741d718..e9237dfb 100644
Binary files a/lib/storagemanagement.ppu and b/lib/storagemanagement.ppu differ
diff --git a/lib/strings.ppu b/lib/strings.ppu
index ceeea445..8460b2a5 100644
Binary files a/lib/strings.ppu and b/lib/strings.ppu differ
diff --git a/lib/terminal.ppu b/lib/terminal.ppu
index 3861e0eb..08c21936 100644
Binary files a/lib/terminal.ppu and b/lib/terminal.ppu differ
diff --git a/lib/tracer.ppu b/lib/tracer.ppu
index 0f950971..2375a027 100644
Binary files a/lib/tracer.ppu and b/lib/tracer.ppu differ
diff --git a/lib/util.ppu b/lib/util.ppu
index 73f4ba7a..c470a40a 100644
Binary files a/lib/util.ppu and b/lib/util.ppu differ
diff --git a/lib/vmemorymanager.ppu b/lib/vmemorymanager.ppu
index 400d3c9c..17d3900b 100644
Binary files a/lib/vmemorymanager.ppu and b/lib/vmemorymanager.ppu differ
diff --git a/src/driver/timers/RTC.pas b/src/driver/timers/RTC.pas
index ece4b65a..3c53aef3 100644
--- a/src/driver/timers/RTC.pas
+++ b/src/driver/timers/RTC.pas
@@ -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));
diff --git a/src/include/asuro.pas b/src/include/asuro.pas
index cd6cee98..59125c67 100644
--- a/src/include/asuro.pas
+++ b/src/include/asuro.pas
@@ -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
diff --git a/src/include/util.pas b/src/include/util.pas
index 4456b33a..f879945e 100644
--- a/src/include/util.pas
+++ b/src/include/util.pas
@@ -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;
diff --git a/src/terminal.pas b/src/terminal.pas
index 14afdd21..523f9672 100644
--- a/src/terminal.pas
+++ b/src/terminal.pas
@@ -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);