Explorar o código

sinclairql: make sure smsfuncs.inc is in sync with the one in packages

git-svn-id: trunk@49394 -
Károly Balogh %!s(int64=4) %!d(string=hai) anos
pai
achega
94693e5f70
Modificáronse 2 ficheiros con 17 adicións e 9 borrados
  1. 2 0
      rtl/sinclairql/smsfuncs.inc
  2. 15 9
      rtl/sinclairql/system.pp

+ 2 - 0
rtl/sinclairql/smsfuncs.inc

@@ -13,4 +13,6 @@
 
 
  **********************************************************************}
  **********************************************************************}
 
 
+function sms_info(sys_vars: ppchar; ver_ascii: plongint): Tjobid; external name '_mt_inf';
+function iob_fbyt(chan: Tchanid; timeout: Ttimeout): longint; external name '_io_fbyte';
 function iof_mkdr(chan: Tchanid): longint; external name '_iof_mkdr';
 function iof_mkdr(chan: Tchanid): longint; external name '_iof_mkdr';

+ 15 - 9
rtl/sinclairql/system.pp

@@ -293,7 +293,7 @@ var
   r: TQLRect;
   r: TQLRect;
 begin
 begin
   DefaultQLOpenCon:=false;
   DefaultQLOpenCon:=false;
-  with console do 
+  with console do
     begin
     begin
       inputHandle:=io_open('con_',Q_OPEN);
       inputHandle:=io_open('con_',Q_OPEN);
       if inputHandle <= 0 then
       if inputHandle <= 0 then
@@ -308,8 +308,8 @@ begin
       r.q_x:=0;
       r.q_x:=0;
       r.q_y:=0;
       r.q_y:=0;
 
 
-      sd_wdef(inputHandle,-1,2,1,@r);
-      sd_clear(inputHandle,-1);
+      sd_wdef(outputHandle,-1,2,1,@r);
+      sd_clear(outputHandle,-1);
     end;
     end;
   DefaultQLOpenCon:=true;
   DefaultQLOpenCon:=true;
 end;
 end;
@@ -333,6 +333,7 @@ var
   jobStackDataPtr: pointer; external name '__stackpointer_on_entry';
   jobStackDataPtr: pointer; external name '__stackpointer_on_entry';
   program_name: shortstring; external name '__fpc_program_name';
   program_name: shortstring; external name '__fpc_program_name';
   QLCon: QLConHandle;
   QLCon: QLConHandle;
+  QLConOpen: boolean;
 
 
 { QL/QDOS specific startup }
 { QL/QDOS specific startup }
 procedure SysInitQDOS;
 procedure SysInitQDOS;
@@ -345,9 +346,11 @@ begin
   SetQLJobName(program_name);
   SetQLJobName(program_name);
 
 
   if assigned(@QLOpenCon) then
   if assigned(@QLOpenCon) then
-    QLOpenCon(QLCon)
+    QLConOpen:=QLOpenCon(QLCon)
   else
   else
-    DefaultQLOpenCon(QLCon);
+    QLConOpen:=DefaultQLOpenCon(QLCon);
+  if not QLConOpen then
+    halt(1);
 
 
   with QLCon do
   with QLCon do
     begin
     begin
@@ -370,10 +373,13 @@ begin
   if assigned(argv) then
   if assigned(argv) then
     FreeMem(argv);
     FreeMem(argv);
 
 
-  if assigned(@QLCloseCon) then
-    QLCloseCon(QLCon)
-  else
-    DefaultQLCloseCon(QLCon);
+  if QLConOpen then
+    begin
+      if assigned(@QLCloseCon) then
+        QLCloseCon(QLCon)
+      else
+        DefaultQLCloseCon(QLCon);
+    end;
 
 
   stdInputHandle:=UnusedHandle;
   stdInputHandle:=UnusedHandle;
   stdOutputHandle:=UnusedHandle;
   stdOutputHandle:=UnusedHandle;