summaryrefslogtreecommitdiff
path: root/rtl/atari/sysos.inc
diff options
context:
space:
mode:
Diffstat (limited to 'rtl/atari/sysos.inc')
-rw-r--r--rtl/atari/sysos.inc19
1 files changed, 19 insertions, 0 deletions
diff --git a/rtl/atari/sysos.inc b/rtl/atari/sysos.inc
index 88aee6157b..7630103b8c 100644
--- a/rtl/atari/sysos.inc
+++ b/rtl/atari/sysos.inc
@@ -42,3 +42,22 @@ begin
end;
end;
end;
+
+var
+ stackpointer_on_entry: pointer; external name '__stktop';
+
+function StackTop: Pointer;
+begin
+ StackTop:=stackpointer_on_entry;
+end;
+
+var
+ basepage: PPD; external name '__base';
+
+function SysBackTraceStr (Addr: CodePointer): ShortString;
+begin
+ if (addr<basepage^.p_tbase) or (addr>pointer(basepage^.p_tbase+basepage^.p_tlen)) then
+ SysBackTraceStr:=' Addr $'+hexstr(addr)
+ else
+ SysBackTraceStr:=' Offs $'+hexstr(pointer(addr-basepage^.p_tbase));
+end;