浏览代码

Rebuilt releases and added/removed new/obsolete object and symbol files

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@8454 8c9fc860-2736-0410-a75d-ab315db34111
negelef 6 年之前
父节点
当前提交
9b116b94f1
共有 100 个文件被更改,包括 568 次插入240 次删除
  1. 二进制
      Linux32/bin/AVI.GofU
  2. 1 1
      Linux32/bin/AVI.SymU
  3. 二进制
      Linux32/bin/CharacterLineup.GofU
  4. 二进制
      Linux32/bin/Codecs.GofU
  5. 3 3
      Linux32/bin/Codecs.SymU
  6. 二进制
      Linux32/bin/Commands.GofU
  7. 1 1
      Linux32/bin/Commands.SymU
  8. 二进制
      Linux32/bin/DiskCaches.GofU
  9. 24 0
      Linux32/bin/DiskCaches.SymU
  10. 二进制
      Linux32/bin/Machine.GofU
  11. 二进制
      Linux32/bin/Pipes.GofU
  12. 5 4
      Linux32/bin/Pipes.SymU
  13. 二进制
      Linux32/bin/RealConversions.GofU
  14. 18 0
      Linux32/bin/RealConversions.SymU
  15. 二进制
      Linux32/bin/Strings.GofU
  16. 1 1
      Linux32/bin/Strings.SymU
  17. 二进制
      Linux32/bin/VMWareTools.GofU
  18. 0 63
      Linux32/bin/VMWareTools.SymU
  19. 二进制
      Linux32/oberon
  20. 二进制
      Linux64/bin/CharacterLineup.GofUu
  21. 二进制
      Linux64/bin/Codecs.GofUu
  22. 3 3
      Linux64/bin/Codecs.SymUu
  23. 二进制
      Linux64/bin/Commands.GofUu
  24. 1 1
      Linux64/bin/Commands.SymUu
  25. 二进制
      Linux64/bin/DiskCaches.GofUu
  26. 24 0
      Linux64/bin/DiskCaches.SymUu
  27. 二进制
      Linux64/bin/Machine.GofUu
  28. 二进制
      Linux64/bin/Pipes.GofUu
  29. 5 4
      Linux64/bin/Pipes.SymUu
  30. 二进制
      Linux64/bin/RealConversions.GofUu
  31. 18 0
      Linux64/bin/RealConversions.SymUu
  32. 二进制
      Linux64/bin/Shortreal.GofUu
  33. 151 0
      Linux64/bin/Shortreal.SymUu
  34. 二进制
      Linux64/bin/Strings.GofUu
  35. 1 1
      Linux64/bin/Strings.SymUu
  36. 二进制
      Linux64/oberon
  37. 二进制
      Win32/bin/AVI.GofW
  38. 1 1
      Win32/bin/AVI.SymW
  39. 二进制
      Win32/bin/BootConsole.GofW
  40. 二进制
      Win32/bin/CharacterLineup.GofW
  41. 二进制
      Win32/bin/Codecs.GofW
  42. 3 3
      Win32/bin/Codecs.SymW
  43. 二进制
      Win32/bin/Commands.GofW
  44. 1 1
      Win32/bin/Commands.SymW
  45. 二进制
      Win32/bin/DiskCaches.GofW
  46. 24 0
      Win32/bin/DiskCaches.SymW
  47. 二进制
      Win32/bin/Machine.GofW
  48. 二进制
      Win32/bin/Pipes.GofW
  49. 5 4
      Win32/bin/Pipes.SymW
  50. 二进制
      Win32/bin/RealConversions.GofW
  51. 18 0
      Win32/bin/RealConversions.SymW
  52. 二进制
      Win32/bin/Strings.GofW
  53. 1 1
      Win32/bin/Strings.SymW
  54. 二进制
      Win32/bin/VMWareTools.GofW
  55. 0 63
      Win32/bin/VMWareTools.SymW
  56. 二进制
      Win32/bin/WinTrace.GofW
  57. 1 1
      Win32/bin/WinTrace.SymW
  58. 二进制
      Win32/oberon.exe
  59. 二进制
      Win64/bin/BootConsole.GofWw
  60. 二进制
      Win64/bin/CharacterLineup.GofWw
  61. 二进制
      Win64/bin/Codecs.GofWw
  62. 3 3
      Win64/bin/Codecs.SymWw
  63. 二进制
      Win64/bin/Commands.GofWw
  64. 1 1
      Win64/bin/Commands.SymWw
  65. 二进制
      Win64/bin/DiskCaches.GofWw
  66. 24 0
      Win64/bin/DiskCaches.SymWw
  67. 二进制
      Win64/bin/Machine.GofWw
  68. 二进制
      Win64/bin/Pipes.GofWw
  69. 5 4
      Win64/bin/Pipes.SymWw
  70. 二进制
      Win64/bin/RealConversions.GofWw
  71. 18 0
      Win64/bin/RealConversions.SymWw
  72. 二进制
      Win64/bin/Shortreal.GofWw
  73. 151 0
      Win64/bin/Shortreal.SymWw
  74. 二进制
      Win64/bin/Strings.GofWw
  75. 1 1
      Win64/bin/Strings.SymWw
  76. 二进制
      Win64/bin/WinTrace.GofWw
  77. 1 1
      Win64/bin/WinTrace.SymWw
  78. 二进制
      Win64/oberon.exe
  79. 二进制
      WinAos/A2.exe
  80. 二进制
      WinAos/obg/AVI.GofW
  81. 1 1
      WinAos/obg/AVI.SymW
  82. 二进制
      WinAos/obg/BootConsole.GofW
  83. 二进制
      WinAos/obg/CharacterLineup.GofW
  84. 二进制
      WinAos/obg/Codecs.GofW
  85. 3 3
      WinAos/obg/Codecs.SymW
  86. 二进制
      WinAos/obg/Commands.GofW
  87. 1 1
      WinAos/obg/Commands.SymW
  88. 二进制
      WinAos/obg/DiskCaches.GofW
  89. 24 0
      WinAos/obg/DiskCaches.SymW
  90. 二进制
      WinAos/obg/Machine.GofW
  91. 二进制
      WinAos/obg/Pipes.GofW
  92. 5 4
      WinAos/obg/Pipes.SymW
  93. 二进制
      WinAos/obg/RealConversions.GofW
  94. 18 0
      WinAos/obg/RealConversions.SymW
  95. 二进制
      WinAos/obg/Strings.GofW
  96. 1 1
      WinAos/obg/Strings.SymW
  97. 二进制
      WinAos/obg/VMWareTools.GofW
  98. 0 63
      WinAos/obg/VMWareTools.SymW
  99. 二进制
      WinAos/obg/WinTrace.GofW
  100. 1 1
      WinAos/obg/WinTrace.SymW

二进制
Linux32/bin/AVI.GofU


+ 1 - 1
Linux32/bin/AVI.SymU

@@ -150,7 +150,7 @@ TYPE
 		PROCEDURE ^ GetStreamInfo*(streamNr: LONGINT): AOC.AVStreamInfo; 
 		PROCEDURE ^ GetStreamInfo*(streamNr: LONGINT): AOC.AVStreamInfo; 
 		PROCEDURE ^ GetStreamType*(streamNr: LONGINT): LONGINT; 
 		PROCEDURE ^ GetStreamType*(streamNr: LONGINT): LONGINT; 
 		PROCEDURE ^ GetInfo*(VAR vl, vf, vr, mspf, al, af, ar: LONGINT); 
 		PROCEDURE ^ GetInfo*(VAR vl, vf, vr, mspf, al, af, ar: LONGINT); 
-		PROCEDURE ^ GetData*(streamNr: LONGINT; VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ GetData*(streamNr: LONGINT; VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ SetStreamPos*(streamNr: LONGINT; seekType: LONGINT; pos: LONGINT; VAR itemSize: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ SetStreamPos*(streamNr: LONGINT; seekType: LONGINT; pos: LONGINT; VAR itemSize: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ GetVideoWidth*(): LONGINT; 
 		PROCEDURE ^ GetVideoWidth*(): LONGINT; 
 		PROCEDURE ^ GetVideoHeight*(): LONGINT; 
 		PROCEDURE ^ GetVideoHeight*(): LONGINT; 

二进制
Linux32/bin/CharacterLineup.GofU


二进制
Linux32/bin/Codecs.GofU


+ 3 - 3
Linux32/bin/Codecs.SymU

@@ -39,7 +39,7 @@ TYPE
 		f*: Files.File; 
 		f*: Files.File; 
 		streamInfo*: AVStreamInfo; 
 		streamInfo*: AVStreamInfo; 
 
 
-		PROCEDURE ^ Receive(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ Receive(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 		PROCEDURE ^  & InitFileReader*(f: Files.File; pos: LONGINT); 
 		PROCEDURE ^  & InitFileReader*(f: Files.File; pos: LONGINT); 
 		PROCEDURE ^ CanSetPos*(): BOOLEAN; 
 		PROCEDURE ^ CanSetPos*(): BOOLEAN; 
 		PROCEDURE ^ SetPos*(pos: Streams.Position); 
 		PROCEDURE ^ SetPos*(pos: Streams.Position); 
@@ -52,7 +52,7 @@ TYPE
 		PROCEDURE ^ GetStreamType*(streamNr: LONGINT): LONGINT; 
 		PROCEDURE ^ GetStreamType*(streamNr: LONGINT): LONGINT; 
 		PROCEDURE ^ GetStreamInfo*(streamNr: LONGINT): AVStreamInfo; 
 		PROCEDURE ^ GetStreamInfo*(streamNr: LONGINT): AVStreamInfo; 
 		PROCEDURE ^ GetStream*(streamNr: LONGINT): DemuxStream; 
 		PROCEDURE ^ GetStream*(streamNr: LONGINT): DemuxStream; 
-		PROCEDURE ^ GetData*(streamNr: LONGINT; VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ GetData*(streamNr: LONGINT; VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ SetStreamPos*(streamNr: LONGINT; seekType: LONGINT; pos: LONGINT; VAR itemSize: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ SetStreamPos*(streamNr: LONGINT; seekType: LONGINT; pos: LONGINT; VAR itemSize: LONGINT; VAR res: WORD); 
 	END AVDemultiplexer; 
 	END AVDemultiplexer; 
 
 
@@ -63,7 +63,7 @@ TYPE
 		streamInfo*: AVStreamInfo; 
 		streamInfo*: AVStreamInfo; 
 
 
 		PROCEDURE ^  & Open*(demultiplexer: AVDemultiplexer; streamNr: LONGINT); 
 		PROCEDURE ^  & Open*(demultiplexer: AVDemultiplexer; streamNr: LONGINT); 
-		PROCEDURE ^ Receive(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ Receive(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ SetPos*(pos: Streams.Position); 
 		PROCEDURE ^ SetPos*(pos: Streams.Position); 
 		PROCEDURE ^ SetPosX*(seekType: LONGINT; pos: LONGINT; VAR itemSize: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ SetPosX*(seekType: LONGINT; pos: LONGINT; VAR itemSize: LONGINT; VAR res: WORD); 
 	END DemuxStream; 
 	END DemuxStream; 

二进制
Linux32/bin/Commands.GofU


+ 1 - 1
Linux32/bin/Commands.SymU

@@ -32,7 +32,7 @@ TYPE
 		tracedPos: LONGINT; 
 		tracedPos: LONGINT; 
 
 
 		PROCEDURE ^  & Init(in: Streams.Reader; tracer: Streams.Writer); 
 		PROCEDURE ^  & Init(in: Streams.Reader; tracer: Streams.Writer); 
-		PROCEDURE ^ Receiver(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ Receiver(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ CanSetPos*(): BOOLEAN; 
 		PROCEDURE ^ CanSetPos*(): BOOLEAN; 
 		PROCEDURE ^ SetPos*(pos: Streams.Position); 
 		PROCEDURE ^ SetPos*(pos: Streams.Position); 
 		PROCEDURE ^ Pos*(): Streams.Position; 
 		PROCEDURE ^ Pos*(): Streams.Position; 

二进制
Linux32/bin/DiskCaches.GofU


+ 24 - 0
Linux32/bin/DiskCaches.SymU

@@ -0,0 +1,24 @@
+MODULE DiskCaches;
+	IMPORT SYSTEM, Disks;
+CONST 
+	BlockSize = 512; 
+	NumberCacheLines = 128; 
+TYPE 
+	TransferProcedure = PROCEDURE {DELEGATE}(op, block, num: LONGINT; VAR data: ARRAY OF CHAR; ofs: LONGINT; VAR res: WORD); 
+
+	CacheLine = RECORD 
+		globalIndex: SIZE; 
+		data: POINTER TO ARRAY OF CHAR; 
+	END; 
+
+	Cache* = OBJECT 
+	VAR 
+		lines: ARRAY NumberCacheLines OF CacheLine; 
+		blocksPerCacheLine: LONGINT; 
+		transfer: TransferProcedure; 
+
+		PROCEDURE ^  & Init*(transfer: TransferProcedure; blocksPerCacheLine= 32: LONGINT); 
+		PROCEDURE ^ Transfer*(op: LONGINT; block, num: LONGINT; VAR data: ARRAY OF CHAR; ofs: LONGINT; VAR res: LONGINT); 
+	END Cache; 
+BEGIN
+END DiskCaches.

二进制
Linux32/bin/Machine.GofU


二进制
Linux32/bin/Pipes.GofU


+ 5 - 4
Linux32/bin/Pipes.SymU

@@ -11,12 +11,12 @@ TYPE
 
 
 		PROCEDURE ^ Available*(): LONGINT; 
 		PROCEDURE ^ Available*(): LONGINT; 
 		PROCEDURE ^ Send*(CONST buf: ARRAY OF CHAR; ofs, len: LONGINT; propagate: BOOLEAN; VAR res: WORD); 
 		PROCEDURE ^ Send*(CONST buf: ARRAY OF CHAR; ofs, len: LONGINT; propagate: BOOLEAN; VAR res: WORD); 
-		PROCEDURE ^ Receive*(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ Receive*(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 		PROCEDURE ^  & Init*(size: LONGINT); 
 		PROCEDURE ^  & Init*(size: LONGINT); 
 		PROCEDURE ^ Close*; 
 		PROCEDURE ^ Close*; 
 	END Pipe; 
 	END Pipe; 
 
 
-	Receiver* = PROCEDURE {DELEGATE}(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+	Receiver* = PROCEDURE {DELEGATE}(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 
 
 	ReadDecoupler* = OBJECT {EXCLUSIVE} 
 	ReadDecoupler* = OBJECT {EXCLUSIVE} 
 	VAR 
 	VAR 
@@ -24,10 +24,11 @@ TYPE
 		inputReceiver: Receiver; 
 		inputReceiver: Receiver; 
 		numR: LONGINT; 
 		numR: LONGINT; 
 		smallbuf: ARRAY [128] OF CHAR; 
 		smallbuf: ARRAY [128] OF CHAR; 
-		len, res: LONGINT; 
+		len: LONGINT; 
+		res: WORD; 
 
 
 		PROCEDURE ^  & InitReadDecoupler*(inputReceiver: Receiver); 
 		PROCEDURE ^  & InitReadDecoupler*(inputReceiver: Receiver); 
-		PROCEDURE ^ Receive*(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ Receive*(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 	BEGIN{ACTIVE} 
 	BEGIN{ACTIVE} 
 	END ReadDecoupler; 
 	END ReadDecoupler; 
 BEGIN
 BEGIN

二进制
Linux32/bin/RealConversions.GofU


+ 18 - 0
Linux32/bin/RealConversions.SymU

@@ -0,0 +1,18 @@
+MODULE RealConversions;
+	IMPORT SYSTEM;
+CONST 
+TYPE 
+	ReadProc* = PROCEDURE {DELEGATE}():CHAR; 
+VAR 
+	H, L: INTEGER; 
+
+	PROCEDURE ^ ScanReal*(next: ReadProc): LONGREAL; 
+	PROCEDURE ^ RealToString*(x: LONGREAL; n: WORD; VAR buf: ARRAY OF CHAR); 
+	PROCEDURE ^ RealToStringFix*(x: LONGREAL; n, f, D: WORD; VAR buf: ARRAY OF CHAR); 
+	PROCEDURE ^ NaNCodeL(x: LONGREAL; VAR h, l: LONGINT); 
+	PROCEDURE ^ ExpoL(x: LONGREAL): LONGINT; 
+	PROCEDURE ^ RealL(h, l: LONGINT): LONGREAL; 
+	PROCEDURE ^ Ten(e: LONGINT): LONGREAL; 
+	PROCEDURE ^ InitHL; 
+BEGIN
+END RealConversions.

二进制
Linux32/bin/Strings.GofU


+ 1 - 1
Linux32/bin/Strings.SymU

@@ -65,7 +65,7 @@ VAR
 	PROCEDURE ^ StrToInt*(CONST str: ARRAY OF CHAR; VAR val: LONGINT); 
 	PROCEDURE ^ StrToInt*(CONST str: ARRAY OF CHAR; VAR val: LONGINT); 
 	PROCEDURE ^ StrToIntPos*(CONST str: ARRAY OF CHAR; VAR val, i: LONGINT); 
 	PROCEDURE ^ StrToIntPos*(CONST str: ARRAY OF CHAR; VAR val, i: LONGINT); 
 	PROCEDURE ^ IntToHexStr*(h: HUGEINT; width: WORD; VAR s: ARRAY OF CHAR); 
 	PROCEDURE ^ IntToHexStr*(h: HUGEINT; width: WORD; VAR s: ARRAY OF CHAR); 
-	PROCEDURE ^ HexStrToInt*(CONST string: ARRAY OF CHAR; VAR val, res: LONGINT); 
+	PROCEDURE ^ HexStrToInt*(CONST string: ARRAY OF CHAR; VAR val: LONGINT; VAR res: WORD); 
 	PROCEDURE ^ FloatToStr*(x: LONGREAL; n, f, D: LONGINT; VAR str: ARRAY OF CHAR); 
 	PROCEDURE ^ FloatToStr*(x: LONGREAL; n, f, D: LONGINT; VAR str: ARRAY OF CHAR); 
 	PROCEDURE ^ AddressToStr*(adr: ADDRESS; VAR str: ARRAY OF CHAR); 
 	PROCEDURE ^ AddressToStr*(adr: ADDRESS; VAR str: ARRAY OF CHAR); 
 	PROCEDURE ^ StrToFloat*(CONST s: ARRAY OF CHAR; VAR r: LONGREAL); 
 	PROCEDURE ^ StrToFloat*(CONST s: ARRAY OF CHAR; VAR r: LONGREAL); 

二进制
Linux32/bin/VMWareTools.GofU


+ 0 - 63
Linux32/bin/VMWareTools.SymU

@@ -1,63 +0,0 @@
-MODULE VMWareTools;
-	IMPORT SYSTEM, Strings, Modules, KernelLog, WMWindowManager, WMMessages, Texts, TextUtilities, HostClipboard, Kernel;
-CONST 
-TYPE 
-	MouseGrabber = OBJECT {EXCLUSIVE} 
-	VAR 
-		timer: Kernel.Timer; 
-		alive: BOOLEAN; 
-		t: LONGINT; 
-
-	BEGIN{ACTIVE} 
-	END MouseGrabber; 
-VAR 
-	manager: WMWindowManager.WindowManager; 
-	viewPort: WMWindowManager.ViewPort; 
-	w, h: LONGINT; 
-	hw: LONGINT; 
-	oldGUIBits: SET; 
-	mouseGrabber: MouseGrabber; 
-	textbuffer: Strings.String; 
-
-	PROCEDURE {FingerPrint(1358130412)}  - ReadMouse(): LONGINT;
-	CODE
-	END ReadMouse; 
-	PROCEDURE {FingerPrint(-1155347524)}  - WriteMouse(pos: LONGINT);
-	CODE
-	END WriteMouse; 
-	PROCEDURE {FingerPrint(271179232)}  - SendLength(l: LONGINT);
-	CODE
-	END SendLength; 
-	PROCEDURE {FingerPrint(371898467)}  - Send4Chars(chars: LONGINT);
-	CODE
-	END Send4Chars; 
-	PROCEDURE {FingerPrint(-812544433)}  - ReceiveLength(): LONGINT;
-	CODE
-	END ReceiveLength; 
-	PROCEDURE {FingerPrint(1503499842)}  - Receive4Chars(): LONGINT;
-	CODE
-	END Receive4Chars; 
-	PROCEDURE {FingerPrint(272035970)}  - GetVirtualHWVersion(): LONGINT;
-	CODE
-	END GetVirtualHWVersion; 
-	PROCEDURE {FingerPrint(1738347114)}  - GetVMWareVersion(): LONGINT;
-	CODE
-	END GetVMWareVersion; 
-	PROCEDURE {FingerPrint(1347886038)}  - SetGUIOptions(options: SET);
-	CODE
-	END SetGUIOptions; 
-	PROCEDURE {FingerPrint(2102215645)}  - GetGUIOptions(): SET;
-	CODE
-	END GetGUIOptions; 
-	PROCEDURE ^ SetMousePos(x, y: LONGINT); 
-	PROCEDURE ^ SetTextToClipBoard(CONST text: ARRAY OF CHAR); 
-	PROCEDURE ^ GetTextFromClipBoard(VAR s: Strings.String); 
-	PROCEDURE ^ GetFromClipboard(text: Texts.Text); 
-	PROCEDURE ^ PutToClipboard(text: Texts.Text); 
-	PROCEDURE ^ GetHostClipboard*; 
-	PROCEDURE ^ ClipboardChanged(sender, data: ANY); 
-	PROCEDURE ^ MessagePreview(VAR m: WMMessages.Message; VAR discard: BOOLEAN); 
-	PROCEDURE ^ Install*; 
-	PROCEDURE ^ Cleanup; 
-BEGIN
-END VMWareTools.

二进制
Linux32/oberon


二进制
Linux64/bin/CharacterLineup.GofUu


二进制
Linux64/bin/Codecs.GofUu


+ 3 - 3
Linux64/bin/Codecs.SymUu

@@ -39,7 +39,7 @@ TYPE
 		f*: Files.File; 
 		f*: Files.File; 
 		streamInfo*: AVStreamInfo; 
 		streamInfo*: AVStreamInfo; 
 
 
-		PROCEDURE ^ Receive(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ Receive(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 		PROCEDURE ^  & InitFileReader*(f: Files.File; pos: LONGINT); 
 		PROCEDURE ^  & InitFileReader*(f: Files.File; pos: LONGINT); 
 		PROCEDURE ^ CanSetPos*(): BOOLEAN; 
 		PROCEDURE ^ CanSetPos*(): BOOLEAN; 
 		PROCEDURE ^ SetPos*(pos: Streams.Position); 
 		PROCEDURE ^ SetPos*(pos: Streams.Position); 
@@ -52,7 +52,7 @@ TYPE
 		PROCEDURE ^ GetStreamType*(streamNr: LONGINT): LONGINT; 
 		PROCEDURE ^ GetStreamType*(streamNr: LONGINT): LONGINT; 
 		PROCEDURE ^ GetStreamInfo*(streamNr: LONGINT): AVStreamInfo; 
 		PROCEDURE ^ GetStreamInfo*(streamNr: LONGINT): AVStreamInfo; 
 		PROCEDURE ^ GetStream*(streamNr: LONGINT): DemuxStream; 
 		PROCEDURE ^ GetStream*(streamNr: LONGINT): DemuxStream; 
-		PROCEDURE ^ GetData*(streamNr: LONGINT; VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ GetData*(streamNr: LONGINT; VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ SetStreamPos*(streamNr: LONGINT; seekType: LONGINT; pos: LONGINT; VAR itemSize: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ SetStreamPos*(streamNr: LONGINT; seekType: LONGINT; pos: LONGINT; VAR itemSize: LONGINT; VAR res: WORD); 
 	END AVDemultiplexer; 
 	END AVDemultiplexer; 
 
 
@@ -63,7 +63,7 @@ TYPE
 		streamInfo*: AVStreamInfo; 
 		streamInfo*: AVStreamInfo; 
 
 
 		PROCEDURE ^  & Open*(demultiplexer: AVDemultiplexer; streamNr: LONGINT); 
 		PROCEDURE ^  & Open*(demultiplexer: AVDemultiplexer; streamNr: LONGINT); 
-		PROCEDURE ^ Receive(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ Receive(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ SetPos*(pos: Streams.Position); 
 		PROCEDURE ^ SetPos*(pos: Streams.Position); 
 		PROCEDURE ^ SetPosX*(seekType: LONGINT; pos: LONGINT; VAR itemSize: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ SetPosX*(seekType: LONGINT; pos: LONGINT; VAR itemSize: LONGINT; VAR res: WORD); 
 	END DemuxStream; 
 	END DemuxStream; 

二进制
Linux64/bin/Commands.GofUu


+ 1 - 1
Linux64/bin/Commands.SymUu

@@ -32,7 +32,7 @@ TYPE
 		tracedPos: LONGINT; 
 		tracedPos: LONGINT; 
 
 
 		PROCEDURE ^  & Init(in: Streams.Reader; tracer: Streams.Writer); 
 		PROCEDURE ^  & Init(in: Streams.Reader; tracer: Streams.Writer); 
-		PROCEDURE ^ Receiver(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ Receiver(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ CanSetPos*(): BOOLEAN; 
 		PROCEDURE ^ CanSetPos*(): BOOLEAN; 
 		PROCEDURE ^ SetPos*(pos: Streams.Position); 
 		PROCEDURE ^ SetPos*(pos: Streams.Position); 
 		PROCEDURE ^ Pos*(): Streams.Position; 
 		PROCEDURE ^ Pos*(): Streams.Position; 

二进制
Linux64/bin/DiskCaches.GofUu


+ 24 - 0
Linux64/bin/DiskCaches.SymUu

@@ -0,0 +1,24 @@
+MODULE DiskCaches;
+	IMPORT SYSTEM, Disks;
+CONST 
+	BlockSize = 512; 
+	NumberCacheLines = 128; 
+TYPE 
+	TransferProcedure = PROCEDURE {DELEGATE}(op, block, num: LONGINT; VAR data: ARRAY OF CHAR; ofs: LONGINT; VAR res: WORD); 
+
+	CacheLine = RECORD 
+		globalIndex: SIZE; 
+		data: POINTER TO ARRAY OF CHAR; 
+	END; 
+
+	Cache* = OBJECT 
+	VAR 
+		lines: ARRAY NumberCacheLines OF CacheLine; 
+		blocksPerCacheLine: LONGINT; 
+		transfer: TransferProcedure; 
+
+		PROCEDURE ^  & Init*(transfer: TransferProcedure; blocksPerCacheLine= 32: LONGINT); 
+		PROCEDURE ^ Transfer*(op: LONGINT; block, num: LONGINT; VAR data: ARRAY OF CHAR; ofs: LONGINT; VAR res: LONGINT); 
+	END Cache; 
+BEGIN
+END DiskCaches.

二进制
Linux64/bin/Machine.GofUu


二进制
Linux64/bin/Pipes.GofUu


+ 5 - 4
Linux64/bin/Pipes.SymUu

@@ -11,12 +11,12 @@ TYPE
 
 
 		PROCEDURE ^ Available*(): LONGINT; 
 		PROCEDURE ^ Available*(): LONGINT; 
 		PROCEDURE ^ Send*(CONST buf: ARRAY OF CHAR; ofs, len: LONGINT; propagate: BOOLEAN; VAR res: WORD); 
 		PROCEDURE ^ Send*(CONST buf: ARRAY OF CHAR; ofs, len: LONGINT; propagate: BOOLEAN; VAR res: WORD); 
-		PROCEDURE ^ Receive*(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ Receive*(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 		PROCEDURE ^  & Init*(size: LONGINT); 
 		PROCEDURE ^  & Init*(size: LONGINT); 
 		PROCEDURE ^ Close*; 
 		PROCEDURE ^ Close*; 
 	END Pipe; 
 	END Pipe; 
 
 
-	Receiver* = PROCEDURE {DELEGATE}(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+	Receiver* = PROCEDURE {DELEGATE}(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 
 
 	ReadDecoupler* = OBJECT {EXCLUSIVE} 
 	ReadDecoupler* = OBJECT {EXCLUSIVE} 
 	VAR 
 	VAR 
@@ -24,10 +24,11 @@ TYPE
 		inputReceiver: Receiver; 
 		inputReceiver: Receiver; 
 		numR: LONGINT; 
 		numR: LONGINT; 
 		smallbuf: ARRAY [128] OF CHAR; 
 		smallbuf: ARRAY [128] OF CHAR; 
-		len, res: LONGINT; 
+		len: LONGINT; 
+		res: WORD; 
 
 
 		PROCEDURE ^  & InitReadDecoupler*(inputReceiver: Receiver); 
 		PROCEDURE ^  & InitReadDecoupler*(inputReceiver: Receiver); 
-		PROCEDURE ^ Receive*(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ Receive*(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 	BEGIN{ACTIVE} 
 	BEGIN{ACTIVE} 
 	END ReadDecoupler; 
 	END ReadDecoupler; 
 BEGIN
 BEGIN

二进制
Linux64/bin/RealConversions.GofUu


+ 18 - 0
Linux64/bin/RealConversions.SymUu

@@ -0,0 +1,18 @@
+MODULE RealConversions;
+	IMPORT SYSTEM;
+CONST 
+TYPE 
+	ReadProc* = PROCEDURE {DELEGATE}():CHAR; 
+VAR 
+	H, L: INTEGER; 
+
+	PROCEDURE ^ ScanReal*(next: ReadProc): LONGREAL; 
+	PROCEDURE ^ RealToString*(x: LONGREAL; n: WORD; VAR buf: ARRAY OF CHAR); 
+	PROCEDURE ^ RealToStringFix*(x: LONGREAL; n, f, D: WORD; VAR buf: ARRAY OF CHAR); 
+	PROCEDURE ^ NaNCodeL(x: LONGREAL; VAR h, l: LONGINT); 
+	PROCEDURE ^ ExpoL(x: LONGREAL): LONGINT; 
+	PROCEDURE ^ RealL(h, l: LONGINT): LONGREAL; 
+	PROCEDURE ^ Ten(e: LONGINT): LONGREAL; 
+	PROCEDURE ^ InitHL; 
+BEGIN
+END RealConversions.

二进制
Linux64/bin/Shortreal.GofUu


+ 151 - 0
Linux64/bin/Shortreal.SymUu

@@ -0,0 +1,151 @@
+MODULE Shortreal;
+	IMPORT SYSTEM, FoxArrayBase;
+CONST 
+	MinValue = 64511; 
+	MaxValue = 31743; 
+TYPE 
+	Real = REAL; 
+
+	Vector4* = ARRAY [4] OF SHORTREAL; 
+
+	Matrix4* = ARRAY [4, 4] OF SHORTREAL; 
+
+	SHORTREAL* = RECORD 
+		value*: UNSIGNED16; 
+
+		PROCEDURE ^ Sqrt*(): SHORTREAL; 
+		PROCEDURE ^ Sin*(): SHORTREAL; 
+		PROCEDURE ^ Cos*(): SHORTREAL; 
+		PROCEDURE ^ Arctan*(): SHORTREAL; 
+		PROCEDURE ^ Ln*(): SHORTREAL; 
+		PROCEDURE ^ Exp*(): SHORTREAL; 
+	END
+	; 
+VAR 
+	eps-: SHORTREAL; 
+
+	OPERATOR ^ "SHORT"-(x: Real): SHORTREAL; 
+	OPERATOR ^ "LONG"-(x: SHORTREAL): REAL; 
+	OPERATOR ^ ":="-(VAR y: REAL; x: SHORTREAL); 
+	OPERATOR ^ "+"-(x, y: SHORTREAL): SHORTREAL; 
+	OPERATOR ^ "-"-(x, y: SHORTREAL): SHORTREAL; 
+	OPERATOR ^ "*"-(x, y: SHORTREAL): SHORTREAL; 
+	OPERATOR ^ "/"-(x, y: SHORTREAL): SHORTREAL; 
+	OPERATOR ^ "-"-(x: SHORTREAL): SHORTREAL; 
+	OPERATOR ^ "ABS"-(x: SHORTREAL): SHORTREAL; 
+	OPERATOR ^ "MIN"-(x, y: SHORTREAL): SHORTREAL; 
+	OPERATOR ^ "MAX"-(x, y: SHORTREAL): SHORTREAL; 
+	OPERATOR ^ "="-(x, y: SHORTREAL): BOOLEAN; 
+	OPERATOR ^ "#"-(x, y: SHORTREAL): BOOLEAN; 
+	OPERATOR ^ "<"-(x, y: SHORTREAL): BOOLEAN; 
+	OPERATOR ^ "<="-(x, y: SHORTREAL): BOOLEAN; 
+	OPERATOR ^ ">"-(x, y: SHORTREAL): BOOLEAN; 
+	OPERATOR ^ ">="-(x, y: SHORTREAL): BOOLEAN; 
+	OPERATOR ^ ":="-(VAR y: ARRAY [?] OF SHORTREAL; x: SHORTREAL); 
+	OPERATOR ^ "+"-(CONST x, y: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ "+"-(CONST x: ARRAY [?] OF SHORTREAL; y: SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ "+"-(x: SHORTREAL; CONST y: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ "-"-(CONST x, y: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ "-"-(CONST x: ARRAY [?] OF SHORTREAL; y: SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ "-"-(x: SHORTREAL; CONST y: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ ".*"-(CONST x, y: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ ".*"-(CONST x: ARRAY [?] OF SHORTREAL; y: SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ ".*"-(x: SHORTREAL; CONST y: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ "*"-(CONST x: ARRAY [?] OF SHORTREAL; y: SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ "*"-(x: SHORTREAL; CONST y: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ "./"-(CONST x, y: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ "./"-(CONST x: ARRAY [?] OF SHORTREAL; y: SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ "./"-(x: SHORTREAL; CONST y: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ "/"-(CONST x: ARRAY [?] OF SHORTREAL; y: SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ "+*"-(CONST x, y: ARRAY [?] OF SHORTREAL): REAL; 
+	OPERATOR ^ "*"-(CONST x, y: ARRAY [*, *] OF SHORTREAL): ARRAY [*, *] OF SHORTREAL; 
+	OPERATOR ^ "="-(CONST x, y: ARRAY [?] OF SHORTREAL): BOOLEAN; 
+	OPERATOR ^ "<"-(CONST x, y: ARRAY [?] OF SHORTREAL): BOOLEAN; 
+	OPERATOR ^ "<="-(CONST x, y: ARRAY [?] OF SHORTREAL): BOOLEAN; 
+	OPERATOR ^ ">"-(CONST x, y: ARRAY [?] OF SHORTREAL): BOOLEAN; 
+	OPERATOR ^ ">="-(CONST x, y: ARRAY [?] OF SHORTREAL): BOOLEAN; 
+	OPERATOR ^ ".="-(CONST x, y: ARRAY [?] OF SHORTREAL): ARRAY [?] OF BOOLEAN; 
+	OPERATOR ^ ".<"-(CONST x, y: ARRAY [?] OF SHORTREAL): ARRAY [?] OF BOOLEAN; 
+	OPERATOR ^ ".<="-(CONST x, y: ARRAY [?] OF SHORTREAL): ARRAY [?] OF BOOLEAN; 
+	OPERATOR ^ ".>"-(CONST x, y: ARRAY [?] OF SHORTREAL): ARRAY [?] OF BOOLEAN; 
+	OPERATOR ^ ".>="-(CONST x, y: ARRAY [?] OF SHORTREAL): ARRAY [?] OF BOOLEAN; 
+	OPERATOR ^ "+"-(CONST x, y: Vector4): Vector4; 
+	OPERATOR ^ "+"-(CONST x: Vector4; y: SHORTREAL): Vector4; 
+	OPERATOR ^ "-"-(CONST x, y: Vector4): Vector4; 
+	OPERATOR ^ "-"-(CONST x: Vector4; y: SHORTREAL): Vector4; 
+	OPERATOR ^ ".*"-(CONST x, y: Vector4): Vector4; 
+	OPERATOR ^ ".*"-(CONST x: Vector4; y: SHORTREAL): Vector4; 
+	OPERATOR ^ "./"-(CONST x, y: Vector4): Vector4; 
+	OPERATOR ^ "./"-(CONST x: Vector4; y: SHORTREAL): Vector4; 
+	OPERATOR ^ "+*"-(CONST x, y: Vector4): REAL; 
+	OPERATOR ^ "SUM"-(CONST x: Vector4): REAL; 
+	OPERATOR ^ "MAX"-(CONST x: Vector4): SHORTREAL; 
+	OPERATOR ^ "MIN"-(CONST x: Vector4): SHORTREAL; 
+	OPERATOR ^ "ABS"-(CONST x: Vector4): Vector4; 
+	OPERATOR ^ "-"-(CONST x: Vector4): Vector4; 
+	OPERATOR ^ "SUM"-(CONST x: ARRAY [?] OF SHORTREAL): REAL; 
+	OPERATOR ^ "MAX"-(CONST x: ARRAY [?] OF SHORTREAL): SHORTREAL; 
+	OPERATOR ^ "MIN"-(CONST x: ARRAY [?] OF SHORTREAL): SHORTREAL; 
+	OPERATOR ^ "ABS"-(CONST x: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ "-"-(CONST x: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	PROCEDURE ^ Short*(CONST x: ARRAY [?] OF Real): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ "LONG"-(CONST x: ARRAY [?] OF SHORTREAL): ARRAY [?] OF REAL; 
+	PROCEDURE ^ Sqrt*(CONST x: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	PROCEDURE ^ Sin*(CONST x: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	PROCEDURE ^ Cos*(CONST x: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	PROCEDURE ^ Arctan*(CONST x: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	PROCEDURE ^ Ln*(CONST x: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	PROCEDURE ^ Exp*(CONST x: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	PROCEDURE ^ Sqrt0(x: UNSIGNED16): UNSIGNED16; 
+	PROCEDURE ^ Sin0(x: UNSIGNED16): UNSIGNED16; 
+	PROCEDURE ^ Cos0(x: UNSIGNED16): UNSIGNED16; 
+	PROCEDURE ^ Arctan0(x: UNSIGNED16): UNSIGNED16; 
+	PROCEDURE ^ Ln0(x: UNSIGNED16): UNSIGNED16; 
+	PROCEDURE ^ Exp0(x: UNSIGNED16): UNSIGNED16; 
+	PROCEDURE ^ Abs(x: UNSIGNED16): UNSIGNED16; 
+	PROCEDURE ^ Negate(x: UNSIGNED16): UNSIGNED16; 
+	PROCEDURE ^ Add(x, y: UNSIGNED16): UNSIGNED16; 
+	PROCEDURE ^ Sub(x, y: UNSIGNED16): UNSIGNED16; 
+	PROCEDURE ^ Mul(x, y: UNSIGNED16): UNSIGNED16; 
+	PROCEDURE ^ Div(x, y: UNSIGNED16): UNSIGNED16; 
+	PROCEDURE ^ Equal(x, y: UNSIGNED16): BOOLEAN; 
+	PROCEDURE ^ LessThan(x, y: UNSIGNED16): BOOLEAN; 
+	PROCEDURE ^ GreaterThan(x, y: UNSIGNED16): BOOLEAN; 
+	PROCEDURE ^ AssignScalarLoop(laddr, daddr: ADDRESS; dinc, len: SIZE); 
+	PROCEDURE ^ SumLoop(laddr, daddr: ADDRESS; linc, len: SIZE); 
+	PROCEDURE ^ MaxLoop(laddr, daddr: ADDRESS; linc, len: SIZE); 
+	PROCEDURE ^ MinLoop(laddr, daddr: ADDRESS; linc, len: SIZE); 
+	PROCEDURE ^ AbsLoop(laddr, daddr: ADDRESS; linc, dinc, len: SIZE); 
+	PROCEDURE ^ NegateLoop(laddr, daddr: ADDRESS; linc, dinc, len: SIZE); 
+	PROCEDURE ^ ShortLoop(laddr, daddr: ADDRESS; linc, dinc, len: SIZE); 
+	PROCEDURE ^ LongLoop(laddr, daddr: ADDRESS; linc, dinc, len: SIZE); 
+	PROCEDURE ^ AddLoop(laddr, raddr, daddr: ADDRESS; linc, rinc, dinc, len: SIZE); 
+	PROCEDURE ^ AddScalarLoop(laddr, raddr, daddr: ADDRESS; linc, dinc, len: SIZE); 
+	PROCEDURE ^ SubLoop(laddr, raddr, daddr: ADDRESS; linc, rinc, dinc, len: SIZE); 
+	PROCEDURE ^ ScalarSubLoop(laddr, raddr, daddr: ADDRESS; linc, dinc, len: SIZE); 
+	PROCEDURE ^ MulLoop(laddr, raddr, daddr: ADDRESS; linc, rinc, dinc, len: SIZE); 
+	PROCEDURE ^ MulScalarLoop(laddr, raddr, daddr: ADDRESS; linc, dinc, len: SIZE); 
+	PROCEDURE ^ DivLoop(laddr, raddr, daddr: ADDRESS; linc, rinc, dinc, len: SIZE); 
+	PROCEDURE ^ DivScalarLoop(laddr, raddr, daddr: ADDRESS; linc, dinc, len: SIZE); 
+	PROCEDURE ^ ScalarDivLoop(laddr, raddr, daddr: ADDRESS; linc, dinc, len: SIZE); 
+	PROCEDURE ^ InnerProdLoop(laddr, raddr, daddr: ADDRESS; linc, rinc, len: SIZE); 
+	PROCEDURE ^ MatMulLoop(laddr, raddr, daddr: ADDRESS; linc, rinc, len: SIZE); 
+	PROCEDURE ^ EqualLoop(laddr, raddr: ADDRESS; linc, rinc, len: SIZE): BOOLEAN; 
+	PROCEDURE ^ LessThanLoop(laddr, raddr: ADDRESS; linc, rinc, len: SIZE): BOOLEAN; 
+	PROCEDURE ^ GreaterThanLoop(laddr, raddr: ADDRESS; linc, rinc, len: SIZE): BOOLEAN; 
+	PROCEDURE ^ EwEqualLoop(laddr, raddr, daddr: ADDRESS; linc, rinc, dinc, len: SIZE); 
+	PROCEDURE ^ EwLessThanLoop(laddr, raddr, daddr: ADDRESS; linc, rinc, dinc, len: SIZE); 
+	PROCEDURE ^ EwLessOrEqualThanLoop(laddr, raddr, daddr: ADDRESS; linc, rinc, dinc, len: SIZE); 
+	PROCEDURE ^ EwGreaterThanLoop(laddr, raddr, daddr: ADDRESS; linc, rinc, dinc, len: SIZE); 
+	PROCEDURE ^ EwGreaterOrEqualThanLoop(laddr, raddr, daddr: ADDRESS; linc, rinc, dinc, len: SIZE); 
+	PROCEDURE ^ SqrtLoop(laddr, daddr: ADDRESS; linc, dinc, len: SIZE); 
+	PROCEDURE ^ SinLoop(laddr, daddr: ADDRESS; linc, dinc, len: SIZE); 
+	PROCEDURE ^ CosLoop(laddr, daddr: ADDRESS; linc, dinc, len: SIZE); 
+	PROCEDURE ^ ArctanLoop(laddr, daddr: ADDRESS; linc, dinc, len: SIZE); 
+	PROCEDURE ^ LnLoop(laddr, daddr: ADDRESS; linc, dinc, len: SIZE); 
+	PROCEDURE ^ ExpLoop(laddr, daddr: ADDRESS; linc, dinc, len: SIZE); 
+	PROCEDURE ^ ShortrealToReal(x: UNSIGNED16): REAL; 
+	PROCEDURE ^ RealToShortreal(x: REAL): UNSIGNED16; 
+	PROCEDURE ^ InitMod; 
+BEGIN
+END Shortreal.

二进制
Linux64/bin/Strings.GofUu


+ 1 - 1
Linux64/bin/Strings.SymUu

@@ -65,7 +65,7 @@ VAR
 	PROCEDURE ^ StrToInt*(CONST str: ARRAY OF CHAR; VAR val: LONGINT); 
 	PROCEDURE ^ StrToInt*(CONST str: ARRAY OF CHAR; VAR val: LONGINT); 
 	PROCEDURE ^ StrToIntPos*(CONST str: ARRAY OF CHAR; VAR val, i: LONGINT); 
 	PROCEDURE ^ StrToIntPos*(CONST str: ARRAY OF CHAR; VAR val, i: LONGINT); 
 	PROCEDURE ^ IntToHexStr*(h: HUGEINT; width: WORD; VAR s: ARRAY OF CHAR); 
 	PROCEDURE ^ IntToHexStr*(h: HUGEINT; width: WORD; VAR s: ARRAY OF CHAR); 
-	PROCEDURE ^ HexStrToInt*(CONST string: ARRAY OF CHAR; VAR val, res: LONGINT); 
+	PROCEDURE ^ HexStrToInt*(CONST string: ARRAY OF CHAR; VAR val: LONGINT; VAR res: WORD); 
 	PROCEDURE ^ FloatToStr*(x: LONGREAL; n, f, D: LONGINT; VAR str: ARRAY OF CHAR); 
 	PROCEDURE ^ FloatToStr*(x: LONGREAL; n, f, D: LONGINT; VAR str: ARRAY OF CHAR); 
 	PROCEDURE ^ AddressToStr*(adr: ADDRESS; VAR str: ARRAY OF CHAR); 
 	PROCEDURE ^ AddressToStr*(adr: ADDRESS; VAR str: ARRAY OF CHAR); 
 	PROCEDURE ^ StrToFloat*(CONST s: ARRAY OF CHAR; VAR r: LONGREAL); 
 	PROCEDURE ^ StrToFloat*(CONST s: ARRAY OF CHAR; VAR r: LONGREAL); 

二进制
Linux64/oberon


二进制
Win32/bin/AVI.GofW


+ 1 - 1
Win32/bin/AVI.SymW

@@ -150,7 +150,7 @@ TYPE
 		PROCEDURE ^ GetStreamInfo*(streamNr: LONGINT): AOC.AVStreamInfo; 
 		PROCEDURE ^ GetStreamInfo*(streamNr: LONGINT): AOC.AVStreamInfo; 
 		PROCEDURE ^ GetStreamType*(streamNr: LONGINT): LONGINT; 
 		PROCEDURE ^ GetStreamType*(streamNr: LONGINT): LONGINT; 
 		PROCEDURE ^ GetInfo*(VAR vl, vf, vr, mspf, al, af, ar: LONGINT); 
 		PROCEDURE ^ GetInfo*(VAR vl, vf, vr, mspf, al, af, ar: LONGINT); 
-		PROCEDURE ^ GetData*(streamNr: LONGINT; VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ GetData*(streamNr: LONGINT; VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ SetStreamPos*(streamNr: LONGINT; seekType: LONGINT; pos: LONGINT; VAR itemSize: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ SetStreamPos*(streamNr: LONGINT; seekType: LONGINT; pos: LONGINT; VAR itemSize: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ GetVideoWidth*(): LONGINT; 
 		PROCEDURE ^ GetVideoWidth*(): LONGINT; 
 		PROCEDURE ^ GetVideoHeight*(): LONGINT; 
 		PROCEDURE ^ GetVideoHeight*(): LONGINT; 

二进制
Win32/bin/BootConsole.GofW


二进制
Win32/bin/CharacterLineup.GofW


二进制
Win32/bin/Codecs.GofW


+ 3 - 3
Win32/bin/Codecs.SymW

@@ -39,7 +39,7 @@ TYPE
 		f*: Files.File; 
 		f*: Files.File; 
 		streamInfo*: AVStreamInfo; 
 		streamInfo*: AVStreamInfo; 
 
 
-		PROCEDURE ^ Receive(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ Receive(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 		PROCEDURE ^  & InitFileReader*(f: Files.File; pos: LONGINT); 
 		PROCEDURE ^  & InitFileReader*(f: Files.File; pos: LONGINT); 
 		PROCEDURE ^ CanSetPos*(): BOOLEAN; 
 		PROCEDURE ^ CanSetPos*(): BOOLEAN; 
 		PROCEDURE ^ SetPos*(pos: Streams.Position); 
 		PROCEDURE ^ SetPos*(pos: Streams.Position); 
@@ -52,7 +52,7 @@ TYPE
 		PROCEDURE ^ GetStreamType*(streamNr: LONGINT): LONGINT; 
 		PROCEDURE ^ GetStreamType*(streamNr: LONGINT): LONGINT; 
 		PROCEDURE ^ GetStreamInfo*(streamNr: LONGINT): AVStreamInfo; 
 		PROCEDURE ^ GetStreamInfo*(streamNr: LONGINT): AVStreamInfo; 
 		PROCEDURE ^ GetStream*(streamNr: LONGINT): DemuxStream; 
 		PROCEDURE ^ GetStream*(streamNr: LONGINT): DemuxStream; 
-		PROCEDURE ^ GetData*(streamNr: LONGINT; VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ GetData*(streamNr: LONGINT; VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ SetStreamPos*(streamNr: LONGINT; seekType: LONGINT; pos: LONGINT; VAR itemSize: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ SetStreamPos*(streamNr: LONGINT; seekType: LONGINT; pos: LONGINT; VAR itemSize: LONGINT; VAR res: WORD); 
 	END AVDemultiplexer; 
 	END AVDemultiplexer; 
 
 
@@ -63,7 +63,7 @@ TYPE
 		streamInfo*: AVStreamInfo; 
 		streamInfo*: AVStreamInfo; 
 
 
 		PROCEDURE ^  & Open*(demultiplexer: AVDemultiplexer; streamNr: LONGINT); 
 		PROCEDURE ^  & Open*(demultiplexer: AVDemultiplexer; streamNr: LONGINT); 
-		PROCEDURE ^ Receive(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ Receive(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ SetPos*(pos: Streams.Position); 
 		PROCEDURE ^ SetPos*(pos: Streams.Position); 
 		PROCEDURE ^ SetPosX*(seekType: LONGINT; pos: LONGINT; VAR itemSize: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ SetPosX*(seekType: LONGINT; pos: LONGINT; VAR itemSize: LONGINT; VAR res: WORD); 
 	END DemuxStream; 
 	END DemuxStream; 

二进制
Win32/bin/Commands.GofW


+ 1 - 1
Win32/bin/Commands.SymW

@@ -32,7 +32,7 @@ TYPE
 		tracedPos: LONGINT; 
 		tracedPos: LONGINT; 
 
 
 		PROCEDURE ^  & Init(in: Streams.Reader; tracer: Streams.Writer); 
 		PROCEDURE ^  & Init(in: Streams.Reader; tracer: Streams.Writer); 
-		PROCEDURE ^ Receiver(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ Receiver(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ CanSetPos*(): BOOLEAN; 
 		PROCEDURE ^ CanSetPos*(): BOOLEAN; 
 		PROCEDURE ^ SetPos*(pos: Streams.Position); 
 		PROCEDURE ^ SetPos*(pos: Streams.Position); 
 		PROCEDURE ^ Pos*(): Streams.Position; 
 		PROCEDURE ^ Pos*(): Streams.Position; 

二进制
Win32/bin/DiskCaches.GofW


+ 24 - 0
Win32/bin/DiskCaches.SymW

@@ -0,0 +1,24 @@
+MODULE DiskCaches;
+	IMPORT SYSTEM, Disks;
+CONST 
+	BlockSize = 512; 
+	NumberCacheLines = 128; 
+TYPE 
+	TransferProcedure = PROCEDURE {DELEGATE}(op, block, num: LONGINT; VAR data: ARRAY OF CHAR; ofs: LONGINT; VAR res: WORD); 
+
+	CacheLine = RECORD 
+		globalIndex: SIZE; 
+		data: POINTER TO ARRAY OF CHAR; 
+	END; 
+
+	Cache* = OBJECT 
+	VAR 
+		lines: ARRAY NumberCacheLines OF CacheLine; 
+		blocksPerCacheLine: LONGINT; 
+		transfer: TransferProcedure; 
+
+		PROCEDURE ^  & Init*(transfer: TransferProcedure; blocksPerCacheLine= 32: LONGINT); 
+		PROCEDURE ^ Transfer*(op: LONGINT; block, num: LONGINT; VAR data: ARRAY OF CHAR; ofs: LONGINT; VAR res: LONGINT); 
+	END Cache; 
+BEGIN
+END DiskCaches.

二进制
Win32/bin/Machine.GofW


二进制
Win32/bin/Pipes.GofW


+ 5 - 4
Win32/bin/Pipes.SymW

@@ -11,12 +11,12 @@ TYPE
 
 
 		PROCEDURE ^ Available*(): LONGINT; 
 		PROCEDURE ^ Available*(): LONGINT; 
 		PROCEDURE ^ Send*(CONST buf: ARRAY OF CHAR; ofs, len: LONGINT; propagate: BOOLEAN; VAR res: WORD); 
 		PROCEDURE ^ Send*(CONST buf: ARRAY OF CHAR; ofs, len: LONGINT; propagate: BOOLEAN; VAR res: WORD); 
-		PROCEDURE ^ Receive*(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ Receive*(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 		PROCEDURE ^  & Init*(size: LONGINT); 
 		PROCEDURE ^  & Init*(size: LONGINT); 
 		PROCEDURE ^ Close*; 
 		PROCEDURE ^ Close*; 
 	END Pipe; 
 	END Pipe; 
 
 
-	Receiver* = PROCEDURE {DELEGATE}(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+	Receiver* = PROCEDURE {DELEGATE}(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 
 
 	ReadDecoupler* = OBJECT {EXCLUSIVE} 
 	ReadDecoupler* = OBJECT {EXCLUSIVE} 
 	VAR 
 	VAR 
@@ -24,10 +24,11 @@ TYPE
 		inputReceiver: Receiver; 
 		inputReceiver: Receiver; 
 		numR: LONGINT; 
 		numR: LONGINT; 
 		smallbuf: ARRAY [128] OF CHAR; 
 		smallbuf: ARRAY [128] OF CHAR; 
-		len, res: LONGINT; 
+		len: LONGINT; 
+		res: WORD; 
 
 
 		PROCEDURE ^  & InitReadDecoupler*(inputReceiver: Receiver); 
 		PROCEDURE ^  & InitReadDecoupler*(inputReceiver: Receiver); 
-		PROCEDURE ^ Receive*(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ Receive*(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 	BEGIN{ACTIVE} 
 	BEGIN{ACTIVE} 
 	END ReadDecoupler; 
 	END ReadDecoupler; 
 BEGIN
 BEGIN

二进制
Win32/bin/RealConversions.GofW


+ 18 - 0
Win32/bin/RealConversions.SymW

@@ -0,0 +1,18 @@
+MODULE RealConversions;
+	IMPORT SYSTEM;
+CONST 
+TYPE 
+	ReadProc* = PROCEDURE {DELEGATE}():CHAR; 
+VAR 
+	H, L: INTEGER; 
+
+	PROCEDURE ^ ScanReal*(next: ReadProc): LONGREAL; 
+	PROCEDURE ^ RealToString*(x: LONGREAL; n: WORD; VAR buf: ARRAY OF CHAR); 
+	PROCEDURE ^ RealToStringFix*(x: LONGREAL; n, f, D: WORD; VAR buf: ARRAY OF CHAR); 
+	PROCEDURE ^ NaNCodeL(x: LONGREAL; VAR h, l: LONGINT); 
+	PROCEDURE ^ ExpoL(x: LONGREAL): LONGINT; 
+	PROCEDURE ^ RealL(h, l: LONGINT): LONGREAL; 
+	PROCEDURE ^ Ten(e: LONGINT): LONGREAL; 
+	PROCEDURE ^ InitHL; 
+BEGIN
+END RealConversions.

二进制
Win32/bin/Strings.GofW


+ 1 - 1
Win32/bin/Strings.SymW

@@ -65,7 +65,7 @@ VAR
 	PROCEDURE ^ StrToInt*(CONST str: ARRAY OF CHAR; VAR val: LONGINT); 
 	PROCEDURE ^ StrToInt*(CONST str: ARRAY OF CHAR; VAR val: LONGINT); 
 	PROCEDURE ^ StrToIntPos*(CONST str: ARRAY OF CHAR; VAR val, i: LONGINT); 
 	PROCEDURE ^ StrToIntPos*(CONST str: ARRAY OF CHAR; VAR val, i: LONGINT); 
 	PROCEDURE ^ IntToHexStr*(h: HUGEINT; width: WORD; VAR s: ARRAY OF CHAR); 
 	PROCEDURE ^ IntToHexStr*(h: HUGEINT; width: WORD; VAR s: ARRAY OF CHAR); 
-	PROCEDURE ^ HexStrToInt*(CONST string: ARRAY OF CHAR; VAR val, res: LONGINT); 
+	PROCEDURE ^ HexStrToInt*(CONST string: ARRAY OF CHAR; VAR val: LONGINT; VAR res: WORD); 
 	PROCEDURE ^ FloatToStr*(x: LONGREAL; n, f, D: LONGINT; VAR str: ARRAY OF CHAR); 
 	PROCEDURE ^ FloatToStr*(x: LONGREAL; n, f, D: LONGINT; VAR str: ARRAY OF CHAR); 
 	PROCEDURE ^ AddressToStr*(adr: ADDRESS; VAR str: ARRAY OF CHAR); 
 	PROCEDURE ^ AddressToStr*(adr: ADDRESS; VAR str: ARRAY OF CHAR); 
 	PROCEDURE ^ StrToFloat*(CONST s: ARRAY OF CHAR; VAR r: LONGREAL); 
 	PROCEDURE ^ StrToFloat*(CONST s: ARRAY OF CHAR; VAR r: LONGREAL); 

二进制
Win32/bin/VMWareTools.GofW


+ 0 - 63
Win32/bin/VMWareTools.SymW

@@ -1,63 +0,0 @@
-MODULE VMWareTools;
-	IMPORT SYSTEM, Strings, Modules, KernelLog, WMWindowManager, WMMessages, Texts, TextUtilities, HostClipboard, Kernel;
-CONST 
-TYPE 
-	MouseGrabber = OBJECT {EXCLUSIVE} 
-	VAR 
-		timer: Kernel.Timer; 
-		alive: BOOLEAN; 
-		t: LONGINT; 
-
-	BEGIN{ACTIVE} 
-	END MouseGrabber; 
-VAR 
-	manager: WMWindowManager.WindowManager; 
-	viewPort: WMWindowManager.ViewPort; 
-	w, h: LONGINT; 
-	hw: LONGINT; 
-	oldGUIBits: SET; 
-	mouseGrabber: MouseGrabber; 
-	textbuffer: Strings.String; 
-
-	PROCEDURE {FingerPrint(1358130412)}  - ReadMouse(): LONGINT;
-	CODE
-	END ReadMouse; 
-	PROCEDURE {FingerPrint(-1155347524)}  - WriteMouse(pos: LONGINT);
-	CODE
-	END WriteMouse; 
-	PROCEDURE {FingerPrint(271179232)}  - SendLength(l: LONGINT);
-	CODE
-	END SendLength; 
-	PROCEDURE {FingerPrint(371898467)}  - Send4Chars(chars: LONGINT);
-	CODE
-	END Send4Chars; 
-	PROCEDURE {FingerPrint(-812544433)}  - ReceiveLength(): LONGINT;
-	CODE
-	END ReceiveLength; 
-	PROCEDURE {FingerPrint(1503499842)}  - Receive4Chars(): LONGINT;
-	CODE
-	END Receive4Chars; 
-	PROCEDURE {FingerPrint(272035970)}  - GetVirtualHWVersion(): LONGINT;
-	CODE
-	END GetVirtualHWVersion; 
-	PROCEDURE {FingerPrint(1738347114)}  - GetVMWareVersion(): LONGINT;
-	CODE
-	END GetVMWareVersion; 
-	PROCEDURE {FingerPrint(1347886038)}  - SetGUIOptions(options: SET);
-	CODE
-	END SetGUIOptions; 
-	PROCEDURE {FingerPrint(2102215645)}  - GetGUIOptions(): SET;
-	CODE
-	END GetGUIOptions; 
-	PROCEDURE ^ SetMousePos(x, y: LONGINT); 
-	PROCEDURE ^ SetTextToClipBoard(CONST text: ARRAY OF CHAR); 
-	PROCEDURE ^ GetTextFromClipBoard(VAR s: Strings.String); 
-	PROCEDURE ^ GetFromClipboard(text: Texts.Text); 
-	PROCEDURE ^ PutToClipboard(text: Texts.Text); 
-	PROCEDURE ^ GetHostClipboard*; 
-	PROCEDURE ^ ClipboardChanged(sender, data: ANY); 
-	PROCEDURE ^ MessagePreview(VAR m: WMMessages.Message; VAR discard: BOOLEAN); 
-	PROCEDURE ^ Install*; 
-	PROCEDURE ^ Cleanup; 
-BEGIN
-END VMWareTools.

二进制
Win32/bin/WinTrace.GofW


+ 1 - 1
Win32/bin/WinTrace.SymW

@@ -11,7 +11,7 @@ VAR
 
 
 	PROCEDURE ^ Send*(CONST buf: ARRAY OF CHAR; ofs, len: LONGINT; propagate: BOOLEAN; VAR res: WORD); 
 	PROCEDURE ^ Send*(CONST buf: ARRAY OF CHAR; ofs, len: LONGINT; propagate: BOOLEAN; VAR res: WORD); 
 	PROCEDURE ^ SendError*(CONST buf: ARRAY OF CHAR; ofs, len: LONGINT; propagate: BOOLEAN; VAR res: WORD); 
 	PROCEDURE ^ SendError*(CONST buf: ARRAY OF CHAR; ofs, len: LONGINT; propagate: BOOLEAN; VAR res: WORD); 
-	PROCEDURE ^ Receive*(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+	PROCEDURE ^ Receive*(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 	PROCEDURE ^ Init; 
 	PROCEDURE ^ Init; 
 	PROCEDURE ^ Close*; 
 	PROCEDURE ^ Close*; 
 	PROCEDURE ^ OpenConsole*; 
 	PROCEDURE ^ OpenConsole*; 

二进制
Win32/oberon.exe


二进制
Win64/bin/BootConsole.GofWw


二进制
Win64/bin/CharacterLineup.GofWw


二进制
Win64/bin/Codecs.GofWw


+ 3 - 3
Win64/bin/Codecs.SymWw

@@ -39,7 +39,7 @@ TYPE
 		f*: Files.File; 
 		f*: Files.File; 
 		streamInfo*: AVStreamInfo; 
 		streamInfo*: AVStreamInfo; 
 
 
-		PROCEDURE ^ Receive(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ Receive(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 		PROCEDURE ^  & InitFileReader*(f: Files.File; pos: LONGINT); 
 		PROCEDURE ^  & InitFileReader*(f: Files.File; pos: LONGINT); 
 		PROCEDURE ^ CanSetPos*(): BOOLEAN; 
 		PROCEDURE ^ CanSetPos*(): BOOLEAN; 
 		PROCEDURE ^ SetPos*(pos: Streams.Position); 
 		PROCEDURE ^ SetPos*(pos: Streams.Position); 
@@ -52,7 +52,7 @@ TYPE
 		PROCEDURE ^ GetStreamType*(streamNr: LONGINT): LONGINT; 
 		PROCEDURE ^ GetStreamType*(streamNr: LONGINT): LONGINT; 
 		PROCEDURE ^ GetStreamInfo*(streamNr: LONGINT): AVStreamInfo; 
 		PROCEDURE ^ GetStreamInfo*(streamNr: LONGINT): AVStreamInfo; 
 		PROCEDURE ^ GetStream*(streamNr: LONGINT): DemuxStream; 
 		PROCEDURE ^ GetStream*(streamNr: LONGINT): DemuxStream; 
-		PROCEDURE ^ GetData*(streamNr: LONGINT; VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ GetData*(streamNr: LONGINT; VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ SetStreamPos*(streamNr: LONGINT; seekType: LONGINT; pos: LONGINT; VAR itemSize: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ SetStreamPos*(streamNr: LONGINT; seekType: LONGINT; pos: LONGINT; VAR itemSize: LONGINT; VAR res: WORD); 
 	END AVDemultiplexer; 
 	END AVDemultiplexer; 
 
 
@@ -63,7 +63,7 @@ TYPE
 		streamInfo*: AVStreamInfo; 
 		streamInfo*: AVStreamInfo; 
 
 
 		PROCEDURE ^  & Open*(demultiplexer: AVDemultiplexer; streamNr: LONGINT); 
 		PROCEDURE ^  & Open*(demultiplexer: AVDemultiplexer; streamNr: LONGINT); 
-		PROCEDURE ^ Receive(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ Receive(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ SetPos*(pos: Streams.Position); 
 		PROCEDURE ^ SetPos*(pos: Streams.Position); 
 		PROCEDURE ^ SetPosX*(seekType: LONGINT; pos: LONGINT; VAR itemSize: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ SetPosX*(seekType: LONGINT; pos: LONGINT; VAR itemSize: LONGINT; VAR res: WORD); 
 	END DemuxStream; 
 	END DemuxStream; 

二进制
Win64/bin/Commands.GofWw


+ 1 - 1
Win64/bin/Commands.SymWw

@@ -32,7 +32,7 @@ TYPE
 		tracedPos: LONGINT; 
 		tracedPos: LONGINT; 
 
 
 		PROCEDURE ^  & Init(in: Streams.Reader; tracer: Streams.Writer); 
 		PROCEDURE ^  & Init(in: Streams.Reader; tracer: Streams.Writer); 
-		PROCEDURE ^ Receiver(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ Receiver(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ CanSetPos*(): BOOLEAN; 
 		PROCEDURE ^ CanSetPos*(): BOOLEAN; 
 		PROCEDURE ^ SetPos*(pos: Streams.Position); 
 		PROCEDURE ^ SetPos*(pos: Streams.Position); 
 		PROCEDURE ^ Pos*(): Streams.Position; 
 		PROCEDURE ^ Pos*(): Streams.Position; 

二进制
Win64/bin/DiskCaches.GofWw


+ 24 - 0
Win64/bin/DiskCaches.SymWw

@@ -0,0 +1,24 @@
+MODULE DiskCaches;
+	IMPORT SYSTEM, Disks;
+CONST 
+	BlockSize = 512; 
+	NumberCacheLines = 128; 
+TYPE 
+	TransferProcedure = PROCEDURE {DELEGATE}(op, block, num: LONGINT; VAR data: ARRAY OF CHAR; ofs: LONGINT; VAR res: WORD); 
+
+	CacheLine = RECORD 
+		globalIndex: SIZE; 
+		data: POINTER TO ARRAY OF CHAR; 
+	END; 
+
+	Cache* = OBJECT 
+	VAR 
+		lines: ARRAY NumberCacheLines OF CacheLine; 
+		blocksPerCacheLine: LONGINT; 
+		transfer: TransferProcedure; 
+
+		PROCEDURE ^  & Init*(transfer: TransferProcedure; blocksPerCacheLine= 32: LONGINT); 
+		PROCEDURE ^ Transfer*(op: LONGINT; block, num: LONGINT; VAR data: ARRAY OF CHAR; ofs: LONGINT; VAR res: LONGINT); 
+	END Cache; 
+BEGIN
+END DiskCaches.

二进制
Win64/bin/Machine.GofWw


二进制
Win64/bin/Pipes.GofWw


+ 5 - 4
Win64/bin/Pipes.SymWw

@@ -11,12 +11,12 @@ TYPE
 
 
 		PROCEDURE ^ Available*(): LONGINT; 
 		PROCEDURE ^ Available*(): LONGINT; 
 		PROCEDURE ^ Send*(CONST buf: ARRAY OF CHAR; ofs, len: LONGINT; propagate: BOOLEAN; VAR res: WORD); 
 		PROCEDURE ^ Send*(CONST buf: ARRAY OF CHAR; ofs, len: LONGINT; propagate: BOOLEAN; VAR res: WORD); 
-		PROCEDURE ^ Receive*(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ Receive*(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 		PROCEDURE ^  & Init*(size: LONGINT); 
 		PROCEDURE ^  & Init*(size: LONGINT); 
 		PROCEDURE ^ Close*; 
 		PROCEDURE ^ Close*; 
 	END Pipe; 
 	END Pipe; 
 
 
-	Receiver* = PROCEDURE {DELEGATE}(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+	Receiver* = PROCEDURE {DELEGATE}(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 
 
 	ReadDecoupler* = OBJECT {EXCLUSIVE} 
 	ReadDecoupler* = OBJECT {EXCLUSIVE} 
 	VAR 
 	VAR 
@@ -24,10 +24,11 @@ TYPE
 		inputReceiver: Receiver; 
 		inputReceiver: Receiver; 
 		numR: LONGINT; 
 		numR: LONGINT; 
 		smallbuf: ARRAY [128] OF CHAR; 
 		smallbuf: ARRAY [128] OF CHAR; 
-		len, res: LONGINT; 
+		len: LONGINT; 
+		res: WORD; 
 
 
 		PROCEDURE ^  & InitReadDecoupler*(inputReceiver: Receiver); 
 		PROCEDURE ^  & InitReadDecoupler*(inputReceiver: Receiver); 
-		PROCEDURE ^ Receive*(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ Receive*(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 	BEGIN{ACTIVE} 
 	BEGIN{ACTIVE} 
 	END ReadDecoupler; 
 	END ReadDecoupler; 
 BEGIN
 BEGIN

二进制
Win64/bin/RealConversions.GofWw


+ 18 - 0
Win64/bin/RealConversions.SymWw

@@ -0,0 +1,18 @@
+MODULE RealConversions;
+	IMPORT SYSTEM;
+CONST 
+TYPE 
+	ReadProc* = PROCEDURE {DELEGATE}():CHAR; 
+VAR 
+	H, L: INTEGER; 
+
+	PROCEDURE ^ ScanReal*(next: ReadProc): LONGREAL; 
+	PROCEDURE ^ RealToString*(x: LONGREAL; n: WORD; VAR buf: ARRAY OF CHAR); 
+	PROCEDURE ^ RealToStringFix*(x: LONGREAL; n, f, D: WORD; VAR buf: ARRAY OF CHAR); 
+	PROCEDURE ^ NaNCodeL(x: LONGREAL; VAR h, l: LONGINT); 
+	PROCEDURE ^ ExpoL(x: LONGREAL): LONGINT; 
+	PROCEDURE ^ RealL(h, l: LONGINT): LONGREAL; 
+	PROCEDURE ^ Ten(e: LONGINT): LONGREAL; 
+	PROCEDURE ^ InitHL; 
+BEGIN
+END RealConversions.

二进制
Win64/bin/Shortreal.GofWw


+ 151 - 0
Win64/bin/Shortreal.SymWw

@@ -0,0 +1,151 @@
+MODULE Shortreal;
+	IMPORT SYSTEM, FoxArrayBase;
+CONST 
+	MinValue = 64511; 
+	MaxValue = 31743; 
+TYPE 
+	Real = REAL; 
+
+	Vector4* = ARRAY [4] OF SHORTREAL; 
+
+	Matrix4* = ARRAY [4, 4] OF SHORTREAL; 
+
+	SHORTREAL* = RECORD 
+		value*: UNSIGNED16; 
+
+		PROCEDURE ^ Sqrt*(): SHORTREAL; 
+		PROCEDURE ^ Sin*(): SHORTREAL; 
+		PROCEDURE ^ Cos*(): SHORTREAL; 
+		PROCEDURE ^ Arctan*(): SHORTREAL; 
+		PROCEDURE ^ Ln*(): SHORTREAL; 
+		PROCEDURE ^ Exp*(): SHORTREAL; 
+	END
+	; 
+VAR 
+	eps-: SHORTREAL; 
+
+	OPERATOR ^ "SHORT"-(x: Real): SHORTREAL; 
+	OPERATOR ^ "LONG"-(x: SHORTREAL): REAL; 
+	OPERATOR ^ ":="-(VAR y: REAL; x: SHORTREAL); 
+	OPERATOR ^ "+"-(x, y: SHORTREAL): SHORTREAL; 
+	OPERATOR ^ "-"-(x, y: SHORTREAL): SHORTREAL; 
+	OPERATOR ^ "*"-(x, y: SHORTREAL): SHORTREAL; 
+	OPERATOR ^ "/"-(x, y: SHORTREAL): SHORTREAL; 
+	OPERATOR ^ "-"-(x: SHORTREAL): SHORTREAL; 
+	OPERATOR ^ "ABS"-(x: SHORTREAL): SHORTREAL; 
+	OPERATOR ^ "MIN"-(x, y: SHORTREAL): SHORTREAL; 
+	OPERATOR ^ "MAX"-(x, y: SHORTREAL): SHORTREAL; 
+	OPERATOR ^ "="-(x, y: SHORTREAL): BOOLEAN; 
+	OPERATOR ^ "#"-(x, y: SHORTREAL): BOOLEAN; 
+	OPERATOR ^ "<"-(x, y: SHORTREAL): BOOLEAN; 
+	OPERATOR ^ "<="-(x, y: SHORTREAL): BOOLEAN; 
+	OPERATOR ^ ">"-(x, y: SHORTREAL): BOOLEAN; 
+	OPERATOR ^ ">="-(x, y: SHORTREAL): BOOLEAN; 
+	OPERATOR ^ ":="-(VAR y: ARRAY [?] OF SHORTREAL; x: SHORTREAL); 
+	OPERATOR ^ "+"-(CONST x, y: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ "+"-(CONST x: ARRAY [?] OF SHORTREAL; y: SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ "+"-(x: SHORTREAL; CONST y: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ "-"-(CONST x, y: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ "-"-(CONST x: ARRAY [?] OF SHORTREAL; y: SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ "-"-(x: SHORTREAL; CONST y: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ ".*"-(CONST x, y: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ ".*"-(CONST x: ARRAY [?] OF SHORTREAL; y: SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ ".*"-(x: SHORTREAL; CONST y: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ "*"-(CONST x: ARRAY [?] OF SHORTREAL; y: SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ "*"-(x: SHORTREAL; CONST y: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ "./"-(CONST x, y: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ "./"-(CONST x: ARRAY [?] OF SHORTREAL; y: SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ "./"-(x: SHORTREAL; CONST y: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ "/"-(CONST x: ARRAY [?] OF SHORTREAL; y: SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ "+*"-(CONST x, y: ARRAY [?] OF SHORTREAL): REAL; 
+	OPERATOR ^ "*"-(CONST x, y: ARRAY [*, *] OF SHORTREAL): ARRAY [*, *] OF SHORTREAL; 
+	OPERATOR ^ "="-(CONST x, y: ARRAY [?] OF SHORTREAL): BOOLEAN; 
+	OPERATOR ^ "<"-(CONST x, y: ARRAY [?] OF SHORTREAL): BOOLEAN; 
+	OPERATOR ^ "<="-(CONST x, y: ARRAY [?] OF SHORTREAL): BOOLEAN; 
+	OPERATOR ^ ">"-(CONST x, y: ARRAY [?] OF SHORTREAL): BOOLEAN; 
+	OPERATOR ^ ">="-(CONST x, y: ARRAY [?] OF SHORTREAL): BOOLEAN; 
+	OPERATOR ^ ".="-(CONST x, y: ARRAY [?] OF SHORTREAL): ARRAY [?] OF BOOLEAN; 
+	OPERATOR ^ ".<"-(CONST x, y: ARRAY [?] OF SHORTREAL): ARRAY [?] OF BOOLEAN; 
+	OPERATOR ^ ".<="-(CONST x, y: ARRAY [?] OF SHORTREAL): ARRAY [?] OF BOOLEAN; 
+	OPERATOR ^ ".>"-(CONST x, y: ARRAY [?] OF SHORTREAL): ARRAY [?] OF BOOLEAN; 
+	OPERATOR ^ ".>="-(CONST x, y: ARRAY [?] OF SHORTREAL): ARRAY [?] OF BOOLEAN; 
+	OPERATOR ^ "+"-(CONST x, y: Vector4): Vector4; 
+	OPERATOR ^ "+"-(CONST x: Vector4; y: SHORTREAL): Vector4; 
+	OPERATOR ^ "-"-(CONST x, y: Vector4): Vector4; 
+	OPERATOR ^ "-"-(CONST x: Vector4; y: SHORTREAL): Vector4; 
+	OPERATOR ^ ".*"-(CONST x, y: Vector4): Vector4; 
+	OPERATOR ^ ".*"-(CONST x: Vector4; y: SHORTREAL): Vector4; 
+	OPERATOR ^ "./"-(CONST x, y: Vector4): Vector4; 
+	OPERATOR ^ "./"-(CONST x: Vector4; y: SHORTREAL): Vector4; 
+	OPERATOR ^ "+*"-(CONST x, y: Vector4): REAL; 
+	OPERATOR ^ "SUM"-(CONST x: Vector4): REAL; 
+	OPERATOR ^ "MAX"-(CONST x: Vector4): SHORTREAL; 
+	OPERATOR ^ "MIN"-(CONST x: Vector4): SHORTREAL; 
+	OPERATOR ^ "ABS"-(CONST x: Vector4): Vector4; 
+	OPERATOR ^ "-"-(CONST x: Vector4): Vector4; 
+	OPERATOR ^ "SUM"-(CONST x: ARRAY [?] OF SHORTREAL): REAL; 
+	OPERATOR ^ "MAX"-(CONST x: ARRAY [?] OF SHORTREAL): SHORTREAL; 
+	OPERATOR ^ "MIN"-(CONST x: ARRAY [?] OF SHORTREAL): SHORTREAL; 
+	OPERATOR ^ "ABS"-(CONST x: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ "-"-(CONST x: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	PROCEDURE ^ Short*(CONST x: ARRAY [?] OF Real): ARRAY [?] OF SHORTREAL; 
+	OPERATOR ^ "LONG"-(CONST x: ARRAY [?] OF SHORTREAL): ARRAY [?] OF REAL; 
+	PROCEDURE ^ Sqrt*(CONST x: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	PROCEDURE ^ Sin*(CONST x: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	PROCEDURE ^ Cos*(CONST x: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	PROCEDURE ^ Arctan*(CONST x: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	PROCEDURE ^ Ln*(CONST x: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	PROCEDURE ^ Exp*(CONST x: ARRAY [?] OF SHORTREAL): ARRAY [?] OF SHORTREAL; 
+	PROCEDURE ^ Sqrt0(x: UNSIGNED16): UNSIGNED16; 
+	PROCEDURE ^ Sin0(x: UNSIGNED16): UNSIGNED16; 
+	PROCEDURE ^ Cos0(x: UNSIGNED16): UNSIGNED16; 
+	PROCEDURE ^ Arctan0(x: UNSIGNED16): UNSIGNED16; 
+	PROCEDURE ^ Ln0(x: UNSIGNED16): UNSIGNED16; 
+	PROCEDURE ^ Exp0(x: UNSIGNED16): UNSIGNED16; 
+	PROCEDURE ^ Abs(x: UNSIGNED16): UNSIGNED16; 
+	PROCEDURE ^ Negate(x: UNSIGNED16): UNSIGNED16; 
+	PROCEDURE ^ Add(x, y: UNSIGNED16): UNSIGNED16; 
+	PROCEDURE ^ Sub(x, y: UNSIGNED16): UNSIGNED16; 
+	PROCEDURE ^ Mul(x, y: UNSIGNED16): UNSIGNED16; 
+	PROCEDURE ^ Div(x, y: UNSIGNED16): UNSIGNED16; 
+	PROCEDURE ^ Equal(x, y: UNSIGNED16): BOOLEAN; 
+	PROCEDURE ^ LessThan(x, y: UNSIGNED16): BOOLEAN; 
+	PROCEDURE ^ GreaterThan(x, y: UNSIGNED16): BOOLEAN; 
+	PROCEDURE ^ AssignScalarLoop(laddr, daddr: ADDRESS; dinc, len: SIZE); 
+	PROCEDURE ^ SumLoop(laddr, daddr: ADDRESS; linc, len: SIZE); 
+	PROCEDURE ^ MaxLoop(laddr, daddr: ADDRESS; linc, len: SIZE); 
+	PROCEDURE ^ MinLoop(laddr, daddr: ADDRESS; linc, len: SIZE); 
+	PROCEDURE ^ AbsLoop(laddr, daddr: ADDRESS; linc, dinc, len: SIZE); 
+	PROCEDURE ^ NegateLoop(laddr, daddr: ADDRESS; linc, dinc, len: SIZE); 
+	PROCEDURE ^ ShortLoop(laddr, daddr: ADDRESS; linc, dinc, len: SIZE); 
+	PROCEDURE ^ LongLoop(laddr, daddr: ADDRESS; linc, dinc, len: SIZE); 
+	PROCEDURE ^ AddLoop(laddr, raddr, daddr: ADDRESS; linc, rinc, dinc, len: SIZE); 
+	PROCEDURE ^ AddScalarLoop(laddr, raddr, daddr: ADDRESS; linc, dinc, len: SIZE); 
+	PROCEDURE ^ SubLoop(laddr, raddr, daddr: ADDRESS; linc, rinc, dinc, len: SIZE); 
+	PROCEDURE ^ ScalarSubLoop(laddr, raddr, daddr: ADDRESS; linc, dinc, len: SIZE); 
+	PROCEDURE ^ MulLoop(laddr, raddr, daddr: ADDRESS; linc, rinc, dinc, len: SIZE); 
+	PROCEDURE ^ MulScalarLoop(laddr, raddr, daddr: ADDRESS; linc, dinc, len: SIZE); 
+	PROCEDURE ^ DivLoop(laddr, raddr, daddr: ADDRESS; linc, rinc, dinc, len: SIZE); 
+	PROCEDURE ^ DivScalarLoop(laddr, raddr, daddr: ADDRESS; linc, dinc, len: SIZE); 
+	PROCEDURE ^ ScalarDivLoop(laddr, raddr, daddr: ADDRESS; linc, dinc, len: SIZE); 
+	PROCEDURE ^ InnerProdLoop(laddr, raddr, daddr: ADDRESS; linc, rinc, len: SIZE); 
+	PROCEDURE ^ MatMulLoop(laddr, raddr, daddr: ADDRESS; linc, rinc, len: SIZE); 
+	PROCEDURE ^ EqualLoop(laddr, raddr: ADDRESS; linc, rinc, len: SIZE): BOOLEAN; 
+	PROCEDURE ^ LessThanLoop(laddr, raddr: ADDRESS; linc, rinc, len: SIZE): BOOLEAN; 
+	PROCEDURE ^ GreaterThanLoop(laddr, raddr: ADDRESS; linc, rinc, len: SIZE): BOOLEAN; 
+	PROCEDURE ^ EwEqualLoop(laddr, raddr, daddr: ADDRESS; linc, rinc, dinc, len: SIZE); 
+	PROCEDURE ^ EwLessThanLoop(laddr, raddr, daddr: ADDRESS; linc, rinc, dinc, len: SIZE); 
+	PROCEDURE ^ EwLessOrEqualThanLoop(laddr, raddr, daddr: ADDRESS; linc, rinc, dinc, len: SIZE); 
+	PROCEDURE ^ EwGreaterThanLoop(laddr, raddr, daddr: ADDRESS; linc, rinc, dinc, len: SIZE); 
+	PROCEDURE ^ EwGreaterOrEqualThanLoop(laddr, raddr, daddr: ADDRESS; linc, rinc, dinc, len: SIZE); 
+	PROCEDURE ^ SqrtLoop(laddr, daddr: ADDRESS; linc, dinc, len: SIZE); 
+	PROCEDURE ^ SinLoop(laddr, daddr: ADDRESS; linc, dinc, len: SIZE); 
+	PROCEDURE ^ CosLoop(laddr, daddr: ADDRESS; linc, dinc, len: SIZE); 
+	PROCEDURE ^ ArctanLoop(laddr, daddr: ADDRESS; linc, dinc, len: SIZE); 
+	PROCEDURE ^ LnLoop(laddr, daddr: ADDRESS; linc, dinc, len: SIZE); 
+	PROCEDURE ^ ExpLoop(laddr, daddr: ADDRESS; linc, dinc, len: SIZE); 
+	PROCEDURE ^ ShortrealToReal(x: UNSIGNED16): REAL; 
+	PROCEDURE ^ RealToShortreal(x: REAL): UNSIGNED16; 
+	PROCEDURE ^ InitMod; 
+BEGIN
+END Shortreal.

二进制
Win64/bin/Strings.GofWw


+ 1 - 1
Win64/bin/Strings.SymWw

@@ -65,7 +65,7 @@ VAR
 	PROCEDURE ^ StrToInt*(CONST str: ARRAY OF CHAR; VAR val: LONGINT); 
 	PROCEDURE ^ StrToInt*(CONST str: ARRAY OF CHAR; VAR val: LONGINT); 
 	PROCEDURE ^ StrToIntPos*(CONST str: ARRAY OF CHAR; VAR val, i: LONGINT); 
 	PROCEDURE ^ StrToIntPos*(CONST str: ARRAY OF CHAR; VAR val, i: LONGINT); 
 	PROCEDURE ^ IntToHexStr*(h: HUGEINT; width: WORD; VAR s: ARRAY OF CHAR); 
 	PROCEDURE ^ IntToHexStr*(h: HUGEINT; width: WORD; VAR s: ARRAY OF CHAR); 
-	PROCEDURE ^ HexStrToInt*(CONST string: ARRAY OF CHAR; VAR val, res: LONGINT); 
+	PROCEDURE ^ HexStrToInt*(CONST string: ARRAY OF CHAR; VAR val: LONGINT; VAR res: WORD); 
 	PROCEDURE ^ FloatToStr*(x: LONGREAL; n, f, D: LONGINT; VAR str: ARRAY OF CHAR); 
 	PROCEDURE ^ FloatToStr*(x: LONGREAL; n, f, D: LONGINT; VAR str: ARRAY OF CHAR); 
 	PROCEDURE ^ AddressToStr*(adr: ADDRESS; VAR str: ARRAY OF CHAR); 
 	PROCEDURE ^ AddressToStr*(adr: ADDRESS; VAR str: ARRAY OF CHAR); 
 	PROCEDURE ^ StrToFloat*(CONST s: ARRAY OF CHAR; VAR r: LONGREAL); 
 	PROCEDURE ^ StrToFloat*(CONST s: ARRAY OF CHAR; VAR r: LONGREAL); 

二进制
Win64/bin/WinTrace.GofWw


+ 1 - 1
Win64/bin/WinTrace.SymWw

@@ -11,7 +11,7 @@ VAR
 
 
 	PROCEDURE ^ Send*(CONST buf: ARRAY OF CHAR; ofs, len: LONGINT; propagate: BOOLEAN; VAR res: WORD); 
 	PROCEDURE ^ Send*(CONST buf: ARRAY OF CHAR; ofs, len: LONGINT; propagate: BOOLEAN; VAR res: WORD); 
 	PROCEDURE ^ SendError*(CONST buf: ARRAY OF CHAR; ofs, len: LONGINT; propagate: BOOLEAN; VAR res: WORD); 
 	PROCEDURE ^ SendError*(CONST buf: ARRAY OF CHAR; ofs, len: LONGINT; propagate: BOOLEAN; VAR res: WORD); 
-	PROCEDURE ^ Receive*(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+	PROCEDURE ^ Receive*(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 	PROCEDURE ^ Init; 
 	PROCEDURE ^ Init; 
 	PROCEDURE ^ Close*; 
 	PROCEDURE ^ Close*; 
 	PROCEDURE ^ OpenConsole*; 
 	PROCEDURE ^ OpenConsole*; 

二进制
Win64/oberon.exe


二进制
WinAos/A2.exe


二进制
WinAos/obg/AVI.GofW


+ 1 - 1
WinAos/obg/AVI.SymW

@@ -150,7 +150,7 @@ TYPE
 		PROCEDURE ^ GetStreamInfo*(streamNr: LONGINT): AOC.AVStreamInfo; 
 		PROCEDURE ^ GetStreamInfo*(streamNr: LONGINT): AOC.AVStreamInfo; 
 		PROCEDURE ^ GetStreamType*(streamNr: LONGINT): LONGINT; 
 		PROCEDURE ^ GetStreamType*(streamNr: LONGINT): LONGINT; 
 		PROCEDURE ^ GetInfo*(VAR vl, vf, vr, mspf, al, af, ar: LONGINT); 
 		PROCEDURE ^ GetInfo*(VAR vl, vf, vr, mspf, al, af, ar: LONGINT); 
-		PROCEDURE ^ GetData*(streamNr: LONGINT; VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ GetData*(streamNr: LONGINT; VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ SetStreamPos*(streamNr: LONGINT; seekType: LONGINT; pos: LONGINT; VAR itemSize: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ SetStreamPos*(streamNr: LONGINT; seekType: LONGINT; pos: LONGINT; VAR itemSize: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ GetVideoWidth*(): LONGINT; 
 		PROCEDURE ^ GetVideoWidth*(): LONGINT; 
 		PROCEDURE ^ GetVideoHeight*(): LONGINT; 
 		PROCEDURE ^ GetVideoHeight*(): LONGINT; 

二进制
WinAos/obg/BootConsole.GofW


二进制
WinAos/obg/CharacterLineup.GofW


二进制
WinAos/obg/Codecs.GofW


+ 3 - 3
WinAos/obg/Codecs.SymW

@@ -39,7 +39,7 @@ TYPE
 		f*: Files.File; 
 		f*: Files.File; 
 		streamInfo*: AVStreamInfo; 
 		streamInfo*: AVStreamInfo; 
 
 
-		PROCEDURE ^ Receive(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ Receive(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 		PROCEDURE ^  & InitFileReader*(f: Files.File; pos: LONGINT); 
 		PROCEDURE ^  & InitFileReader*(f: Files.File; pos: LONGINT); 
 		PROCEDURE ^ CanSetPos*(): BOOLEAN; 
 		PROCEDURE ^ CanSetPos*(): BOOLEAN; 
 		PROCEDURE ^ SetPos*(pos: Streams.Position); 
 		PROCEDURE ^ SetPos*(pos: Streams.Position); 
@@ -52,7 +52,7 @@ TYPE
 		PROCEDURE ^ GetStreamType*(streamNr: LONGINT): LONGINT; 
 		PROCEDURE ^ GetStreamType*(streamNr: LONGINT): LONGINT; 
 		PROCEDURE ^ GetStreamInfo*(streamNr: LONGINT): AVStreamInfo; 
 		PROCEDURE ^ GetStreamInfo*(streamNr: LONGINT): AVStreamInfo; 
 		PROCEDURE ^ GetStream*(streamNr: LONGINT): DemuxStream; 
 		PROCEDURE ^ GetStream*(streamNr: LONGINT): DemuxStream; 
-		PROCEDURE ^ GetData*(streamNr: LONGINT; VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ GetData*(streamNr: LONGINT; VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ SetStreamPos*(streamNr: LONGINT; seekType: LONGINT; pos: LONGINT; VAR itemSize: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ SetStreamPos*(streamNr: LONGINT; seekType: LONGINT; pos: LONGINT; VAR itemSize: LONGINT; VAR res: WORD); 
 	END AVDemultiplexer; 
 	END AVDemultiplexer; 
 
 
@@ -63,7 +63,7 @@ TYPE
 		streamInfo*: AVStreamInfo; 
 		streamInfo*: AVStreamInfo; 
 
 
 		PROCEDURE ^  & Open*(demultiplexer: AVDemultiplexer; streamNr: LONGINT); 
 		PROCEDURE ^  & Open*(demultiplexer: AVDemultiplexer; streamNr: LONGINT); 
-		PROCEDURE ^ Receive(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ Receive(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ SetPos*(pos: Streams.Position); 
 		PROCEDURE ^ SetPos*(pos: Streams.Position); 
 		PROCEDURE ^ SetPosX*(seekType: LONGINT; pos: LONGINT; VAR itemSize: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ SetPosX*(seekType: LONGINT; pos: LONGINT; VAR itemSize: LONGINT; VAR res: WORD); 
 	END DemuxStream; 
 	END DemuxStream; 

二进制
WinAos/obg/Commands.GofW


+ 1 - 1
WinAos/obg/Commands.SymW

@@ -32,7 +32,7 @@ TYPE
 		tracedPos: LONGINT; 
 		tracedPos: LONGINT; 
 
 
 		PROCEDURE ^  & Init(in: Streams.Reader; tracer: Streams.Writer); 
 		PROCEDURE ^  & Init(in: Streams.Reader; tracer: Streams.Writer); 
-		PROCEDURE ^ Receiver(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ Receiver(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 		PROCEDURE ^ CanSetPos*(): BOOLEAN; 
 		PROCEDURE ^ CanSetPos*(): BOOLEAN; 
 		PROCEDURE ^ SetPos*(pos: Streams.Position); 
 		PROCEDURE ^ SetPos*(pos: Streams.Position); 
 		PROCEDURE ^ Pos*(): Streams.Position; 
 		PROCEDURE ^ Pos*(): Streams.Position; 

二进制
WinAos/obg/DiskCaches.GofW


+ 24 - 0
WinAos/obg/DiskCaches.SymW

@@ -0,0 +1,24 @@
+MODULE DiskCaches;
+	IMPORT SYSTEM, Disks;
+CONST 
+	BlockSize = 512; 
+	NumberCacheLines = 128; 
+TYPE 
+	TransferProcedure = PROCEDURE {DELEGATE}(op, block, num: LONGINT; VAR data: ARRAY OF CHAR; ofs: LONGINT; VAR res: WORD); 
+
+	CacheLine = RECORD 
+		globalIndex: SIZE; 
+		data: POINTER TO ARRAY OF CHAR; 
+	END; 
+
+	Cache* = OBJECT 
+	VAR 
+		lines: ARRAY NumberCacheLines OF CacheLine; 
+		blocksPerCacheLine: LONGINT; 
+		transfer: TransferProcedure; 
+
+		PROCEDURE ^  & Init*(transfer: TransferProcedure; blocksPerCacheLine= 32: LONGINT); 
+		PROCEDURE ^ Transfer*(op: LONGINT; block, num: LONGINT; VAR data: ARRAY OF CHAR; ofs: LONGINT; VAR res: LONGINT); 
+	END Cache; 
+BEGIN
+END DiskCaches.

二进制
WinAos/obg/Machine.GofW


二进制
WinAos/obg/Pipes.GofW


+ 5 - 4
WinAos/obg/Pipes.SymW

@@ -11,12 +11,12 @@ TYPE
 
 
 		PROCEDURE ^ Available*(): LONGINT; 
 		PROCEDURE ^ Available*(): LONGINT; 
 		PROCEDURE ^ Send*(CONST buf: ARRAY OF CHAR; ofs, len: LONGINT; propagate: BOOLEAN; VAR res: WORD); 
 		PROCEDURE ^ Send*(CONST buf: ARRAY OF CHAR; ofs, len: LONGINT; propagate: BOOLEAN; VAR res: WORD); 
-		PROCEDURE ^ Receive*(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ Receive*(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 		PROCEDURE ^  & Init*(size: LONGINT); 
 		PROCEDURE ^  & Init*(size: LONGINT); 
 		PROCEDURE ^ Close*; 
 		PROCEDURE ^ Close*; 
 	END Pipe; 
 	END Pipe; 
 
 
-	Receiver* = PROCEDURE {DELEGATE}(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+	Receiver* = PROCEDURE {DELEGATE}(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 
 
 	ReadDecoupler* = OBJECT {EXCLUSIVE} 
 	ReadDecoupler* = OBJECT {EXCLUSIVE} 
 	VAR 
 	VAR 
@@ -24,10 +24,11 @@ TYPE
 		inputReceiver: Receiver; 
 		inputReceiver: Receiver; 
 		numR: LONGINT; 
 		numR: LONGINT; 
 		smallbuf: ARRAY [128] OF CHAR; 
 		smallbuf: ARRAY [128] OF CHAR; 
-		len, res: LONGINT; 
+		len: LONGINT; 
+		res: WORD; 
 
 
 		PROCEDURE ^  & InitReadDecoupler*(inputReceiver: Receiver); 
 		PROCEDURE ^  & InitReadDecoupler*(inputReceiver: Receiver); 
-		PROCEDURE ^ Receive*(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+		PROCEDURE ^ Receive*(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 	BEGIN{ACTIVE} 
 	BEGIN{ACTIVE} 
 	END ReadDecoupler; 
 	END ReadDecoupler; 
 BEGIN
 BEGIN

二进制
WinAos/obg/RealConversions.GofW


+ 18 - 0
WinAos/obg/RealConversions.SymW

@@ -0,0 +1,18 @@
+MODULE RealConversions;
+	IMPORT SYSTEM;
+CONST 
+TYPE 
+	ReadProc* = PROCEDURE {DELEGATE}():CHAR; 
+VAR 
+	H, L: INTEGER; 
+
+	PROCEDURE ^ ScanReal*(next: ReadProc): LONGREAL; 
+	PROCEDURE ^ RealToString*(x: LONGREAL; n: WORD; VAR buf: ARRAY OF CHAR); 
+	PROCEDURE ^ RealToStringFix*(x: LONGREAL; n, f, D: WORD; VAR buf: ARRAY OF CHAR); 
+	PROCEDURE ^ NaNCodeL(x: LONGREAL; VAR h, l: LONGINT); 
+	PROCEDURE ^ ExpoL(x: LONGREAL): LONGINT; 
+	PROCEDURE ^ RealL(h, l: LONGINT): LONGREAL; 
+	PROCEDURE ^ Ten(e: LONGINT): LONGREAL; 
+	PROCEDURE ^ InitHL; 
+BEGIN
+END RealConversions.

二进制
WinAos/obg/Strings.GofW


+ 1 - 1
WinAos/obg/Strings.SymW

@@ -65,7 +65,7 @@ VAR
 	PROCEDURE ^ StrToInt*(CONST str: ARRAY OF CHAR; VAR val: LONGINT); 
 	PROCEDURE ^ StrToInt*(CONST str: ARRAY OF CHAR; VAR val: LONGINT); 
 	PROCEDURE ^ StrToIntPos*(CONST str: ARRAY OF CHAR; VAR val, i: LONGINT); 
 	PROCEDURE ^ StrToIntPos*(CONST str: ARRAY OF CHAR; VAR val, i: LONGINT); 
 	PROCEDURE ^ IntToHexStr*(h: HUGEINT; width: WORD; VAR s: ARRAY OF CHAR); 
 	PROCEDURE ^ IntToHexStr*(h: HUGEINT; width: WORD; VAR s: ARRAY OF CHAR); 
-	PROCEDURE ^ HexStrToInt*(CONST string: ARRAY OF CHAR; VAR val, res: LONGINT); 
+	PROCEDURE ^ HexStrToInt*(CONST string: ARRAY OF CHAR; VAR val: LONGINT; VAR res: WORD); 
 	PROCEDURE ^ FloatToStr*(x: LONGREAL; n, f, D: LONGINT; VAR str: ARRAY OF CHAR); 
 	PROCEDURE ^ FloatToStr*(x: LONGREAL; n, f, D: LONGINT; VAR str: ARRAY OF CHAR); 
 	PROCEDURE ^ AddressToStr*(adr: ADDRESS; VAR str: ARRAY OF CHAR); 
 	PROCEDURE ^ AddressToStr*(adr: ADDRESS; VAR str: ARRAY OF CHAR); 
 	PROCEDURE ^ StrToFloat*(CONST s: ARRAY OF CHAR; VAR r: LONGREAL); 
 	PROCEDURE ^ StrToFloat*(CONST s: ARRAY OF CHAR; VAR r: LONGREAL); 

二进制
WinAos/obg/VMWareTools.GofW


+ 0 - 63
WinAos/obg/VMWareTools.SymW

@@ -1,63 +0,0 @@
-MODULE VMWareTools;
-	IMPORT SYSTEM, Strings, Modules, KernelLog, WMWindowManager, WMMessages, Texts, TextUtilities, HostClipboard, Kernel;
-CONST 
-TYPE 
-	MouseGrabber = OBJECT {EXCLUSIVE} 
-	VAR 
-		timer: Kernel.Timer; 
-		alive: BOOLEAN; 
-		t: LONGINT; 
-
-	BEGIN{ACTIVE} 
-	END MouseGrabber; 
-VAR 
-	manager: WMWindowManager.WindowManager; 
-	viewPort: WMWindowManager.ViewPort; 
-	w, h: LONGINT; 
-	hw: LONGINT; 
-	oldGUIBits: SET; 
-	mouseGrabber: MouseGrabber; 
-	textbuffer: Strings.String; 
-
-	PROCEDURE {FingerPrint(1358130412)}  - ReadMouse(): LONGINT;
-	CODE
-	END ReadMouse; 
-	PROCEDURE {FingerPrint(-1155347524)}  - WriteMouse(pos: LONGINT);
-	CODE
-	END WriteMouse; 
-	PROCEDURE {FingerPrint(271179232)}  - SendLength(l: LONGINT);
-	CODE
-	END SendLength; 
-	PROCEDURE {FingerPrint(371898467)}  - Send4Chars(chars: LONGINT);
-	CODE
-	END Send4Chars; 
-	PROCEDURE {FingerPrint(-812544433)}  - ReceiveLength(): LONGINT;
-	CODE
-	END ReceiveLength; 
-	PROCEDURE {FingerPrint(1503499842)}  - Receive4Chars(): LONGINT;
-	CODE
-	END Receive4Chars; 
-	PROCEDURE {FingerPrint(272035970)}  - GetVirtualHWVersion(): LONGINT;
-	CODE
-	END GetVirtualHWVersion; 
-	PROCEDURE {FingerPrint(1738347114)}  - GetVMWareVersion(): LONGINT;
-	CODE
-	END GetVMWareVersion; 
-	PROCEDURE {FingerPrint(1347886038)}  - SetGUIOptions(options: SET);
-	CODE
-	END SetGUIOptions; 
-	PROCEDURE {FingerPrint(2102215645)}  - GetGUIOptions(): SET;
-	CODE
-	END GetGUIOptions; 
-	PROCEDURE ^ SetMousePos(x, y: LONGINT); 
-	PROCEDURE ^ SetTextToClipBoard(CONST text: ARRAY OF CHAR); 
-	PROCEDURE ^ GetTextFromClipBoard(VAR s: Strings.String); 
-	PROCEDURE ^ GetFromClipboard(text: Texts.Text); 
-	PROCEDURE ^ PutToClipboard(text: Texts.Text); 
-	PROCEDURE ^ GetHostClipboard*; 
-	PROCEDURE ^ ClipboardChanged(sender, data: ANY); 
-	PROCEDURE ^ MessagePreview(VAR m: WMMessages.Message; VAR discard: BOOLEAN); 
-	PROCEDURE ^ Install*; 
-	PROCEDURE ^ Cleanup; 
-BEGIN
-END VMWareTools.

二进制
WinAos/obg/WinTrace.GofW


+ 1 - 1
WinAos/obg/WinTrace.SymW

@@ -11,7 +11,7 @@ VAR
 
 
 	PROCEDURE ^ Send*(CONST buf: ARRAY OF CHAR; ofs, len: LONGINT; propagate: BOOLEAN; VAR res: WORD); 
 	PROCEDURE ^ Send*(CONST buf: ARRAY OF CHAR; ofs, len: LONGINT; propagate: BOOLEAN; VAR res: WORD); 
 	PROCEDURE ^ SendError*(CONST buf: ARRAY OF CHAR; ofs, len: LONGINT; propagate: BOOLEAN; VAR res: WORD); 
 	PROCEDURE ^ SendError*(CONST buf: ARRAY OF CHAR; ofs, len: LONGINT; propagate: BOOLEAN; VAR res: WORD); 
-	PROCEDURE ^ Receive*(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+	PROCEDURE ^ Receive*(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len: LONGINT; VAR res: WORD); 
 	PROCEDURE ^ Init; 
 	PROCEDURE ^ Init; 
 	PROCEDURE ^ Close*; 
 	PROCEDURE ^ Close*; 
 	PROCEDURE ^ OpenConsole*; 
 	PROCEDURE ^ OpenConsole*;