Răsfoiți Sursa

* add console output support to avrsim controller unit

git-svn-id: trunk@30388 -
florian 10 ani în urmă
părinte
comite
07aa519e1c
1 a modificat fișierele cu 24 adăugiri și 0 ștergeri
  1. 24 0
      rtl/embedded/avr/avrsim.pp

+ 24 - 0
rtl/embedded/avr/avrsim.pp

@@ -18,6 +18,9 @@ unit avrsim;
 
   implementation
 
+    uses
+      consoleio;
+
     procedure PASCALMAIN; external name 'PASCALMAIN';
 
     procedure _FPC_haltproc(exitcode : longint); public name '_haltproc'; noreturn;
@@ -53,5 +56,26 @@ unit avrsim;
         {$i start.inc}
       end;
 
+
+    function WriteChar(ACh: char; AUserData: pointer): boolean;
+      begin
+        WriteChar:=true;
+        OUTPUTREG:=ord(ACh);
+      end;
+
+
+    function ReadChar(var ACh: char; AUserData: pointer): boolean;
+      begin
+        ReadChar:=true;
+        ACh:=#0;
+      end;
+
+
+begin
+  OpenIO(Input, @WriteChar, @ReadChar, fmInput, nil);
+  OpenIO(Output, @WriteChar, @ReadChar, fmOutput, nil);
+  OpenIO(ErrOutput, @WriteChar, @ReadChar, fmOutput, nil);
+  OpenIO(StdOut, @WriteChar, @ReadChar, fmOutput, nil);
+  OpenIO(StdErr, @WriteChar, @ReadChar, fmOutput, nil);
 end.