mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-14 17:09:10 +02:00
+ PS1: implemented debug output via write/writeln (visible in emulator logs, same effect as printf)
This commit is contained in:
parent
6914d812fd
commit
9662462d10
@ -35,8 +35,20 @@ end;
|
|||||||
|
|
||||||
|
|
||||||
function do_write(h:thandle;addr:pointer;len : longint) : longint;
|
function do_write(h:thandle;addr:pointer;len : longint) : longint;
|
||||||
|
var
|
||||||
|
i: longint;
|
||||||
begin
|
begin
|
||||||
do_write:=len;
|
case h of
|
||||||
|
StdOutputHandle,
|
||||||
|
StdErrorHandle:
|
||||||
|
begin
|
||||||
|
for i:=0 to len-1 do
|
||||||
|
_putchar(PChar(addr)[i]);
|
||||||
|
do_write:=len;
|
||||||
|
end;
|
||||||
|
else
|
||||||
|
do_write:=len;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
@ -28,13 +28,13 @@ const
|
|||||||
StdOutputHandle = 1;
|
StdOutputHandle = 1;
|
||||||
StdErrorHandle = 2;
|
StdErrorHandle = 2;
|
||||||
CtrlZMarksEOF: boolean = true; (* #26 is considered as end of file *)
|
CtrlZMarksEOF: boolean = true; (* #26 is considered as end of file *)
|
||||||
DefaultTextLineBreakStyle : TTextLineBreakStyle = tlbsCR;
|
DefaultTextLineBreakStyle : TTextLineBreakStyle = tlbsLF;
|
||||||
LineEnding = #10;
|
LineEnding = #10;
|
||||||
PathSeparator = '/';
|
PathSeparator = '/';
|
||||||
MaxPathLen = 255;
|
MaxPathLen = 255;
|
||||||
LFNSupport = true;
|
LFNSupport = true;
|
||||||
FileNameCaseSensitive = true;
|
FileNameCaseSensitive = true;
|
||||||
sLineBreak = #13;
|
sLineBreak = #10;
|
||||||
|
|
||||||
var
|
var
|
||||||
argc:longint=0;
|
argc:longint=0;
|
||||||
@ -50,6 +50,7 @@ var
|
|||||||
procedure _InitHeap(p: pdword; l: dword); external name 'InitHeap2';
|
procedure _InitHeap(p: pdword; l: dword); external name 'InitHeap2';
|
||||||
procedure _free(p: pointer); external name 'free2';
|
procedure _free(p: pointer); external name 'free2';
|
||||||
function _malloc(l: dword): pointer; external name 'malloc2';
|
function _malloc(l: dword): pointer; external name 'malloc2';
|
||||||
|
procedure _putchar(ch: char); external name 'putchar';
|
||||||
|
|
||||||
{I ../mips/setjump.inc}
|
{I ../mips/setjump.inc}
|
||||||
{$I system.inc}
|
{$I system.inc}
|
||||||
@ -99,6 +100,11 @@ end;
|
|||||||
|
|
||||||
procedure SysInitStdIO;
|
procedure SysInitStdIO;
|
||||||
begin
|
begin
|
||||||
|
OpenStdIO(Input,fmInput,StdInputHandle);
|
||||||
|
OpenStdIO(Output,fmOutput,StdOutputHandle);
|
||||||
|
OpenStdIO(ErrOutput,fmOutput,StdErrorHandle);
|
||||||
|
OpenStdIO(StdOut,fmOutput,StdOutputHandle);
|
||||||
|
OpenStdIO(StdErr,fmOutput,StdErrorHandle);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function CheckInitialStkLen(stklen : SizeUInt) : SizeUInt;
|
function CheckInitialStkLen(stklen : SizeUInt) : SizeUInt;
|
||||||
@ -127,5 +133,8 @@ begin
|
|||||||
{ Init unicode strings }
|
{ Init unicode strings }
|
||||||
initunicodestringmanager;
|
initunicodestringmanager;
|
||||||
|
|
||||||
|
{ Setup stdin, stdout and stderr }
|
||||||
|
SysInitStdIO;
|
||||||
|
|
||||||
InOutRes:= 0;
|
InOutRes:= 0;
|
||||||
end.
|
end.
|
||||||
|
Loading…
Reference in New Issue
Block a user