diff --git a/Asuro.iso b/Asuro.iso index 7042b47f..624aa005 100644 Binary files a/Asuro.iso and b/Asuro.iso differ diff --git a/bin/kernel.bin b/bin/kernel.bin index eab84cde..62f9a47f 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 eab84cde..62f9a47f 100755 Binary files a/iso/boot/asuro.bin and b/iso/boot/asuro.bin differ diff --git a/lib/asuro.ppu b/lib/asuro.ppu index 8b270d79..dbdc3cb6 100644 Binary files a/lib/asuro.ppu and b/lib/asuro.ppu differ diff --git a/lib/libpconsole.a b/lib/libpconsole.a index 76714e3d..2204a5a7 100644 Binary files a/lib/libpconsole.a and b/lib/libpconsole.a differ diff --git a/lib/libpmultiboot.a b/lib/libpmultiboot.a index 91905f93..7f5cc990 100644 Binary files a/lib/libpmultiboot.a and b/lib/libpmultiboot.a differ diff --git a/lib/libpsystem.a b/lib/libpsystem.a index a58ea045..ab98bd8c 100644 Binary files a/lib/libpsystem.a and b/lib/libpsystem.a differ diff --git a/lib/tracer.ppu b/lib/tracer.ppu index 85879adb..f6ce4835 100644 Binary files a/lib/tracer.ppu and b/lib/tracer.ppu differ diff --git a/lib/util.ppu b/lib/util.ppu index 1de435d5..2b5ee341 100644 Binary files a/lib/util.ppu and b/lib/util.ppu differ diff --git a/src/include/util.pas b/src/include/util.pas index feec159c..8edd14a1 100644 --- a/src/include/util.pas +++ b/src/include/util.pas @@ -383,7 +383,7 @@ begin end; end; end else begin - console.writestringln('Unknown.') + console.writestringln('Unknown.'); end; console.redrawWindows; halt_and_catch_fire(); diff --git a/src/tracer.pas b/src/tracer.pas index 4a61be13..39a38fe8 100644 --- a/src/tracer.pas +++ b/src/tracer.pas @@ -13,16 +13,14 @@ function get_trace_N(idx : uint32) : pchar; implementation uses - console, util, lists, strings, serial; + console, lmemorymanager, util, strings, serial; const MAX_TRACE = 40; - SERIALID = '[TRACER] '; var t_ready : Boolean; Locked : Boolean; - TraceStack : PLinkedListBase; Traces : Array[0..MAX_TRACE-1] of PChar; procedure freeze; @@ -39,6 +37,7 @@ begin if t_ready then begin if not Locked then begin Locked:= true; + if Traces[MAX_TRACE-1] <> nil then kfree(void(Traces[MAX_TRACE-1])); for i:=MAX_TRACE-1 downto 1 do begin Traces[i]:= Traces[i-1]; end; @@ -60,8 +59,14 @@ begin end; procedure init; +var + i : uint32; + begin if TRACER_ENABLE then begin + for i:=0 to MAX_TRACE-1 do begin + traces[i]:= nil; + end; t_ready:= true; push_trace('kmain'); end;