Преглед изворни кода

rebuilt release

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@7146 8c9fc860-2736-0410-a75d-ab315db34111
felixf пре 8 година
родитељ
комит
cec4ede237
100 измењених фајлова са 101 додато и 35 уклоњено
  1. BIN
      WinAos/A2.exe
  2. BIN
      WinAos/obg/ArrayBase.GofW
  3. BIN
      WinAos/obg/BMPCodec.GofW
  4. BIN
      WinAos/obg/BenchSyntaxHighlighter.GofW
  5. BIN
      WinAos/obg/Bimso.GofW
  6. BIN
      WinAos/obg/Compiler.GofW
  7. 5 1
      WinAos/obg/Compiler.SymW
  8. BIN
      WinAos/obg/ComponentViewer.GofW
  9. 3 2
      WinAos/obg/ComponentViewer.SymW
  10. BIN
      WinAos/obg/CryptoBigNumbers.GofW
  11. BIN
      WinAos/obg/CryptoUtils.GofW
  12. BIN
      WinAos/obg/DTPEditor.GofW
  13. BIN
      WinAos/obg/DTPImage.GofW
  14. BIN
      WinAos/obg/DTPText.GofW
  15. BIN
      WinAos/obg/DTPUtilities.GofW
  16. BIN
      WinAos/obg/DiskBenchmark.GofW
  17. BIN
      WinAos/obg/DiskFS.GofW
  18. BIN
      WinAos/obg/DiskTests.GofW
  19. BIN
      WinAos/obg/FATFiles.GofW
  20. BIN
      WinAos/obg/FSTools.GofW
  21. BIN
      WinAos/obg/FTPFS.GofW
  22. BIN
      WinAos/obg/Files.GofW
  23. 3 0
      WinAos/obg/Files.SymW
  24. BIN
      WinAos/obg/FoxArrayBase.GofW
  25. 55 26
      WinAos/obg/FoxArrayBase.SymW
  26. BIN
      WinAos/obg/FoxGlobal.GofW
  27. BIN
      WinAos/obg/FoxIntermediateBackend.GofW
  28. BIN
      WinAos/obg/FoxParser.GofW
  29. BIN
      WinAos/obg/FoxSemanticChecker.GofW
  30. BIN
      WinAos/obg/FractalDemo.GofW
  31. BIN
      WinAos/obg/GIFCodec.GofW
  32. BIN
      WinAos/obg/HierarchicalProfiler.GofW
  33. BIN
      WinAos/obg/IMAPGUI.GofW
  34. BIN
      WinAos/obg/ISO9660Files.GofW
  35. BIN
      WinAos/obg/JPEGDecoder.GofW
  36. BIN
      WinAos/obg/JoysticksTest.GofW
  37. BIN
      WinAos/obg/Kernel32.GofW
  38. 15 4
      WinAos/obg/Kernel32.SymW
  39. BIN
      WinAos/obg/Machine.GofW
  40. BIN
      WinAos/obg/MediaPlayer.GofW
  41. BIN
      WinAos/obg/MenuEdit.GofW
  42. BIN
      WinAos/obg/ModuleTrees.GofW
  43. BIN
      WinAos/obg/Oberon.FATTools.GofW
  44. BIN
      WinAos/obg/OberonFS.GofW
  45. BIN
      WinAos/obg/OldDiskFS.GofW
  46. BIN
      WinAos/obg/PDF.GofW
  47. BIN
      WinAos/obg/PDFExample.GofW
  48. BIN
      WinAos/obg/PETTrees.GofW
  49. BIN
      WinAos/obg/PNGDecoder.GofW
  50. BIN
      WinAos/obg/Pipes.GofW
  51. 15 0
      WinAos/obg/Pipes.SymW
  52. BIN
      WinAos/obg/PositionDebugging.GofW
  53. BIN
      WinAos/obg/Presentation.GofW
  54. BIN
      WinAos/obg/Random.GofW
  55. 1 0
      WinAos/obg/Random.SymW
  56. BIN
      WinAos/obg/Reflection.GofW
  57. 1 1
      WinAos/obg/Reflection.SymW
  58. BIN
      WinAos/obg/RelativeFileSystem.GofW
  59. BIN
      WinAos/obg/ReleaseVisualizer.GofW
  60. BIN
      WinAos/obg/Runtime.GofW
  61. BIN
      WinAos/obg/SSFS.GofW
  62. BIN
      WinAos/obg/SSHClient.GofW
  63. BIN
      WinAos/obg/SVGDecoder.GofW
  64. BIN
      WinAos/obg/SambaClient.GofW
  65. BIN
      WinAos/obg/SerialsVirtual.GofW
  66. BIN
      WinAos/obg/Shell.GofW
  67. BIN
      WinAos/obg/SkinEditor.GofW
  68. BIN
      WinAos/obg/Snow.GofW
  69. BIN
      WinAos/obg/SortDemo.GofW
  70. BIN
      WinAos/obg/StdIO.GofW
  71. 2 1
      WinAos/obg/StdIO.SymW
  72. BIN
      WinAos/obg/TFModuleTrees.GofW
  73. BIN
      WinAos/obg/TestDates.GofW
  74. BIN
      WinAos/obg/TestFiles.GofW
  75. BIN
      WinAos/obg/TestVideo.GofW
  76. BIN
      WinAos/obg/Trace.GofW
  77. BIN
      WinAos/obg/TuringCoatWnd.GofW
  78. BIN
      WinAos/obg/V24.GofW
  79. 1 0
      WinAos/obg/V24.SymW
  80. BIN
      WinAos/obg/VNCTetrisServer.GofW
  81. BIN
      WinAos/obg/W3dExplorer.GofW
  82. BIN
      WinAos/obg/WMAnimations.GofW
  83. BIN
      WinAos/obg/WMArchives.GofW
  84. BIN
      WinAos/obg/WMBackdrop.GofW
  85. BIN
      WinAos/obg/WMBuilder.GofW
  86. BIN
      WinAos/obg/WMBunny.GofW
  87. BIN
      WinAos/obg/WMCalendar.GofW
  88. BIN
      WinAos/obg/WMCharMap.GofW
  89. BIN
      WinAos/obg/WMClock.GofW
  90. BIN
      WinAos/obg/WMColorComponents.GofW
  91. BIN
      WinAos/obg/WMComponents.GofW
  92. BIN
      WinAos/obg/WMDefaultWindows.GofW
  93. BIN
      WinAos/obg/WMDesktopIcons.GofW
  94. BIN
      WinAos/obg/WMDiagnostics.GofW
  95. BIN
      WinAos/obg/WMDiagramComponents.GofW
  96. BIN
      WinAos/obg/WMDiff.GofW
  97. BIN
      WinAos/obg/WMEditors.GofW
  98. BIN
      WinAos/obg/WMFTPClient.GofW
  99. BIN
      WinAos/obg/WMFigures.GofW
  100. BIN
      WinAos/obg/WMFontCCGConverter.GofW

BIN
WinAos/obg/ArrayBase.GofW


BIN
WinAos/obg/BMPCodec.GofW


BIN
WinAos/obg/BenchSyntaxHighlighter.GofW


BIN
WinAos/obg/Bimso.GofW


BIN
WinAos/obg/Compiler.GofW


+ 5 - 1
WinAos/obg/Compiler.SymW

@@ -34,13 +34,17 @@ TYPE
 	END; 
 VAR 
 	platforms: Options.Defaults; 
+	defaultPlatform: ARRAY 32 OF CHAR; 
 
 	PROCEDURE ^ ParseReplacements(CONST filename: ARRAY OF CHAR; VAR replacement: SemanticChecker.Replacement; diagnostics: Diagnostics.Diagnostics): BOOLEAN; 
 	PROCEDURE ^ Modules*(CONST source: ARRAY OF CHAR; reader: Streams.Reader; position: LONGINT; diagnostics: Diagnostics.Diagnostics; log: Streams.Writer; CONST options: CompilerOptions; VAR importCache: SyntaxTree.ModuleScope): BOOLEAN; 
 	PROCEDURE ^ GetOptions*(input: Streams.Reader; error: Streams.Writer; diagnostics: Diagnostics.Diagnostics; VAR compilerOptions: CompilerOptions): BOOLEAN; 
 	PROCEDURE ^ Compile*(context: Commands.Context); 
 	PROCEDURE ^ CompileReader*(context: Commands.Context; reader: Streams.Reader); 
-	PROCEDURE ^ AddPlatform(CONST name: ARRAY OF CHAR; CONST defaults: ARRAY OF CHAR); 
+	PROCEDURE ^ DoAddPlatform(CONST name: ARRAY OF CHAR; CONST defaults: ARRAY OF CHAR); 
 	PROCEDURE ^ ShowDefaults*(context: Commands.Context); 
+	PROCEDURE ^ AddPlatform*(context: Commands.Context); 
+	PROCEDURE ^ SetDefaultPlatform*(context: Commands.Context); 
+	PROCEDURE ^ GetDefaultPlatform(VAR name: ARRAY OF CHAR): BOOLEAN; 
 BEGIN
 END Compiler.

BIN
WinAos/obg/ComponentViewer.GofW


+ 3 - 2
WinAos/obg/ComponentViewer.SymW

@@ -1,10 +1,11 @@
 MODULE ComponentViewer;
-	IMPORT Modules, Commands, Options, XML, Repositories, WMMessages, WMWindowManager, WMComponents, WMRestorable, Streams, D := Debugging, Files, WMRectangles;
+	IMPORT Modules, Commands, Options, XML, Repositories, WMMessages, WMWindowManager, WMComponents, WMRestorable, Streams, D := Debugging, Files, WMRectangles, WMGraphicsSmooth;
 CONST 
 	DefaultWidth = 320; 
 	DefaultHeight = 240; 
 	InvalidPosition* = MIN(LONGINT); 
-	FlagMoveable = 20; 
+	FlagMoveable* = 20; 
+	FlagSmoothGraphics* = 21; 
 TYPE 
 	KillerMsg = OBJECT 
 	END KillerMsg; 

BIN
WinAos/obg/CryptoBigNumbers.GofW


BIN
WinAos/obg/CryptoUtils.GofW


BIN
WinAos/obg/DTPEditor.GofW


BIN
WinAos/obg/DTPImage.GofW


BIN
WinAos/obg/DTPText.GofW


BIN
WinAos/obg/DTPUtilities.GofW


BIN
WinAos/obg/DiskBenchmark.GofW


BIN
WinAos/obg/DiskFS.GofW


BIN
WinAos/obg/DiskTests.GofW


BIN
WinAos/obg/FATFiles.GofW


BIN
WinAos/obg/FSTools.GofW


BIN
WinAos/obg/FTPFS.GofW


BIN
WinAos/obg/Files.GofW


+ 3 - 0
WinAos/obg/Files.SymW

@@ -116,6 +116,7 @@ TYPE
 		PROCEDURE ^ CreateDirectory0*(name: ARRAY OF CHAR; VAR res: LONGINT); 
 		PROCEDURE ^ RemoveDirectory0*(name: ARRAY OF CHAR; force: BOOLEAN; VAR key, res: LONGINT); 
 		PROCEDURE ^ Finalize*; 
+		PROCEDURE ^ Has*(CONST name: ARRAY OF CHAR; VAR fullName: ARRAY OF CHAR; VAR flags: SET): BOOLEAN; 
 	END FileSystem; 
 
 	FileSystemTable* = POINTER TO ARRAY OF FileSystem; 
@@ -208,6 +209,8 @@ VAR
 	PROCEDURE ^ CreateDirectory*(path: ARRAY OF CHAR; VAR res: LONGINT); 
 	PROCEDURE ^ RemoveDirectory*(path: ARRAY OF CHAR; force: BOOLEAN; VAR res: LONGINT); 
 	PROCEDURE ^ Enumerate(VAR mask: ARRAY OF CHAR; flags: SET; enum: Enumerator); 
+	PROCEDURE ^ Exists*(CONST fileName: ARRAY OF CHAR; VAR fullName: ARRAY OF CHAR; VAR flags: SET): BOOLEAN; 
+	PROCEDURE ^ AddSearchPath*(context: Commands.Context); 
 	PROCEDURE ^ FindOpenFile(enum: FileSearcher; fs: FileSystem; key: LONGINT): File; 
 	PROCEDURE ^ ReadSInt*(VAR r: Rider; VAR x: SHORTINT); 
 	PROCEDURE ^ ReadInt*(VAR r: Rider; VAR x: INTEGER); 

BIN
WinAos/obg/FoxArrayBase.GofW


+ 55 - 26
WinAos/obg/FoxArrayBase.SymW

@@ -91,51 +91,76 @@ TYPE
 
 	TransposeP* = PROCEDURE (ladr, dadr, lstride, linc, dstride, dinc, rows, cols: LONGINT); 
 
-	T0 = POINTER TO RECORD 
-		ptr: ANY; 
-		a: ARRAY (MathLenOffset + (0 * 8)) OF CHAR; 
+	LenInc = RECORD 
+		len: SIZE; 
+		inc: SIZE; 
 	END; 
 
-	T1 = POINTER TO RECORD 
+	ArrayDescriptor* = RECORD 
 		ptr: ANY; 
-		a: ARRAY (MathLenOffset + (1 * 8)) OF CHAR; 
+		adr: ADDRESS; 
+		flags: SET; 
+		dim: SIZE; 
+		elementSize: SIZE; 
 	END; 
 
-	T2 = POINTER TO RECORD 
-		ptr: ANY; 
-		a: ARRAY (MathLenOffset + (2 * 8)) OF CHAR; 
+	UnsafeArray* = POINTER {UNSAFE} TO RECORD (ArrayDescriptor)
+		lens: ARRAY 8 OF LenInc; 
 	END; 
 
-	T3 = POINTER TO RECORD 
-		ptr: ANY; 
-		a: ARRAY (MathLenOffset + (3 * 8)) OF CHAR; 
+	A0 = RECORD (ArrayDescriptor)
 	END; 
 
-	T4 = POINTER TO RECORD 
-		ptr: ANY; 
-		a: ARRAY (MathLenOffset + (4 * 8)) OF CHAR; 
+	A1 = RECORD (ArrayDescriptor)
+		lens: ARRAY 1 OF LenInc; 
 	END; 
 
-	T5 = POINTER TO RECORD 
-		ptr: ANY; 
-		a: ARRAY (MathLenOffset + (5 * 8)) OF CHAR; 
+	A2 = RECORD (ArrayDescriptor)
+		lens: ARRAY 2 OF LenInc; 
 	END; 
 
-	T6 = POINTER TO RECORD 
-		ptr: ANY; 
-		a: ARRAY (MathLenOffset + (6 * 8)) OF CHAR; 
+	A3 = RECORD (ArrayDescriptor)
+		lens: ARRAY 3 OF LenInc; 
 	END; 
 
-	T7 = POINTER TO RECORD 
-		ptr: ANY; 
-		a: ARRAY (MathLenOffset + (7 * 8)) OF CHAR; 
+	A4 = RECORD (ArrayDescriptor)
+		lens: ARRAY 4 OF LenInc; 
 	END; 
 
-	T8 = POINTER TO RECORD 
-		ptr: ANY; 
-		a: ARRAY (MathLenOffset + (8 * 8)) OF CHAR; 
+	A5 = RECORD (ArrayDescriptor)
+		lens: ARRAY 5 OF LenInc; 
+	END; 
+
+	A6 = RECORD (ArrayDescriptor)
+		lens: ARRAY 6 OF LenInc; 
+	END; 
+
+	A7 = RECORD (ArrayDescriptor)
+		lens: ARRAY 7 OF LenInc; 
 	END; 
 
+	A8 = RECORD (ArrayDescriptor)
+		lens: ARRAY 8 OF LenInc; 
+	END; 
+
+	T0 = POINTER TO A0; 
+
+	T1 = POINTER TO A1; 
+
+	T2 = POINTER TO A2; 
+
+	T3 = POINTER TO A3; 
+
+	T4 = POINTER TO A4; 
+
+	T5 = POINTER TO A5; 
+
+	T6 = POINTER TO A6; 
+
+	T7 = POINTER TO A7; 
+
+	T8 = POINTER TO A8; 
+
 	T9 = POINTER TO RECORD 
 		ptr: ANY; 
 		a: ARRAY (MathLenOffset + (9 * 8)) OF CHAR; 
@@ -421,6 +446,7 @@ VAR
 	PROCEDURE ^ GenericLoopR(ladr, dadr, linc, dinc, len: LONGINT; op: PROCEDURE (x: REAL):REAL); 
 	PROCEDURE ^ GenericLoopX(ladr, dadr, linc, dinc, len: LONGINT; op: PROCEDURE (x: LONGREAL):LONGREAL); 
 	PROCEDURE ^ GenericLoopZ(ladr, dadr, linc, dinc, len: LONGINT; op: PROCEDURE (x: COMPLEX):COMPLEX); 
+	PROCEDURE ^ GenericLoopLZ(ladr, dadr, linc, dinc, len: LONGINT; op: PROCEDURE (x: LONGCOMPLEX):LONGCOMPLEX); 
 	PROCEDURE ^ MinusLoopS(ladr, dadr, linc, dinc, len: LONGINT); 
 	OPERATOR ^ "-"-(CONST src: ARRAY [?] OF SHORTINT): ARRAY [?] OF SHORTINT; 
 	PROCEDURE ^ MinusLoopI(ladr, dadr, linc, dinc, len: LONGINT); 
@@ -1167,6 +1193,8 @@ VAR
 	OPERATOR ^ "`"-(CONST left: ARRAY [*, *] OF LONGREAL): ARRAY [*, *] OF LONGREAL; 
 	PROCEDURE ^ CheckTensorGeometry(left, right, dest: Address; ldim, rdim: LONGINT): BOOLEAN; 
 	PROCEDURE ^ DoReshape*(VAR dest: LONGINT; src: LONGINT; CONST shape: ARRAY [*] OF LONGINT); 
+	PROCEDURE ^ AllocateTensorA*(CONST a: ARRAY OF SIZE; elementSize: SIZE; tag: ADDRESS; VAR dest: ADDRESS); 
+	PROCEDURE ^ AllocateArrayA*(CONST a: ARRAY OF SIZE; elementSize: SIZE; tag: ADDRESS; dest: ADDRESS); 
 	PROCEDURE ^ AllocateTensorX*(VAR destA: ARRAY [?] ; CONST a: ARRAY [*] OF LONGINT; Size: LONGINT; tag: LONGINT); 
 	PROCEDURE ^ LenA*(VAR dest: ARRAY [*] OF LONGINT; src: Address); 
 	PROCEDURE ^ IncrA*(VAR dest: ARRAY [*] OF LONGINT; src: Address); 
@@ -1215,5 +1243,6 @@ VAR
 	OPERATOR ^ "ALL"-(CONST x: ARRAY [?] OF REAL; op: PROCEDURE (x: REAL):REAL): ARRAY [?] OF REAL; 
 	OPERATOR ^ "ALL"-(CONST x: ARRAY [?] OF LONGREAL; op: PROCEDURE (x: LONGREAL):LONGREAL): ARRAY [?] OF LONGREAL; 
 	OPERATOR ^ "ALL"-(CONST x: ARRAY [?] OF COMPLEX; op: PROCEDURE (x: COMPLEX):COMPLEX): ARRAY [?] OF COMPLEX; 
+	OPERATOR ^ "ALL"-(CONST x: ARRAY [?] OF LONGCOMPLEX; op: PROCEDURE (x: LONGCOMPLEX):LONGCOMPLEX): ARRAY [?] OF LONGCOMPLEX; 
 BEGIN
 END FoxArrayBase.

BIN
WinAos/obg/FoxGlobal.GofW


BIN
WinAos/obg/FoxIntermediateBackend.GofW


BIN
WinAos/obg/FoxParser.GofW


BIN
WinAos/obg/FoxSemanticChecker.GofW


BIN
WinAos/obg/FractalDemo.GofW


BIN
WinAos/obg/GIFCodec.GofW


BIN
WinAos/obg/HierarchicalProfiler.GofW


BIN
WinAos/obg/IMAPGUI.GofW


BIN
WinAos/obg/ISO9660Files.GofW


BIN
WinAos/obg/JPEGDecoder.GofW


BIN
WinAos/obg/JoysticksTest.GofW


BIN
WinAos/obg/Kernel32.GofW


+ 15 - 4
WinAos/obg/Kernel32.SymW

@@ -31,6 +31,7 @@ CONST
 	FileAttributeNotContentIndexed* = 13; 
 	FileFlagDeleteOnClose* = 26; 
 	FileFlagRandomAccess* = 28; 
+	FileFlagOverlapped* = 30; 
 	FileFlagWriteThrough* = 31; 
 	FileBegin* = 0; 
 	MoveFileReplaceExisting* = 0; 
@@ -148,6 +149,7 @@ CONST
 	ErrorFileNotFound* = 2; 
 	ErrorAccessDenied* = 5; 
 	ErrorInvalidParameter* = 87; 
+	ErrorIoPending* = 997; 
 TYPE 
 	BOOL* = LONGINT; 
 
@@ -318,6 +320,14 @@ TYPE
 		DaylightDate*: SystemTime; 
 		DaylightBias*: LONGINT; 
 	END; 
+
+	Overlapped* = RECORD 
+		Internal*: LONGINT; 
+		InternalHigh*: LONGINT; 
+		Offset*: LONGINT; 
+		OffsetHigh*: LONGINT; 
+		hEvent*: HANDLE; 
+	END; 
 VAR 
 	hInstance-: HINSTANCE; 
 	isEXE-: BOOLEAN; 
@@ -373,6 +383,7 @@ VAR
 	GetLogicalDrives-: PROCEDURE ():SET; 
 	GetModuleFileName-: PROCEDURE {WINAPI}(hModule: HMODULE; VAR lpFileName: ARRAY OF CHAR; nSize: LONGINT):LONGINT; 
 	GetModuleHandle-: PROCEDURE {WINAPI}(CONST lpModuleName: ARRAY OF CHAR):HMODULE; 
+	GetOverlappedResult-: PROCEDURE {WINAPI}(hFile: HANDLE; VAR lpOverlapped: Overlapped; VAR lpNumberOfBytesTransferred: LONGINT; bWait: BOOL):BOOL; 
 	GetPrivateProfileString-: PROCEDURE {WINAPI}(CONST lpAppName: ARRAY OF CHAR; CONST lpKeyName: ARRAY OF CHAR; CONST lpDefault: ARRAY OF CHAR; CONST lpReturnedString: ARRAY OF CHAR; nSize: LONGINT; CONST lpFileName: ARRAY OF CHAR):LONGINT; 
 	GetProcessHeap-: PROCEDURE {WINAPI}():HANDLE; 
 	GetProcessTimes-: PROCEDURE {WINAPI}(CONST hProcess: HANDLE; VAR lpCreationTime, lpExitTime, lpKernelTime, lpUserTime: FileTime):LONGINT; 
@@ -415,7 +426,7 @@ VAR
 	QueryPerformanceCounter-: PROCEDURE {WINAPI}(VAR lpPerformaceCount: LargeInteger):BOOL; 
 	QueryPerformanceFrequency-: PROCEDURE {WINAPI}(VAR lpFrequency: LargeInteger):BOOL; 
 	QueryThreadCycleTime-: PROCEDURE {WINAPI}(hThread: HANDLE; VAR cycleTime: HUGEINT):BOOL; 
-	readFile-: PROCEDURE {WINAPI}(hFile: HANDLE; VAR lpBuffer: ARRAY OF SYSTEM.BYTE; nNumberOfBytesToRead: LONGINT; VAR lpNumberOfBytesRead: LONGINT; lpOverlapped: ANY):BOOL; 
+	readFile-: PROCEDURE {WINAPI}(hFile: HANDLE; VAR lpBuffer: ARRAY OF SYSTEM.BYTE; nNumberOfBytesToRead: LONGINT; VAR lpNumberOfBytesRead: LONGINT; lpOverlapped: ADDRESS):BOOL; 
 	ReadProcessMemory-: PROCEDURE {WINAPI}(hProcess: HANDLE; lpBaseAddress: ADDRESS; VAR lpBuffer: ARRAY OF SYSTEM.BYTE; nSize: LONGINT; VAR lpNumberOfBytesRead: LONGINT):BOOL; 
 	RemoveDirectory-: PROCEDURE {WINAPI}(VAR lpPathName: ARRAY OF CHAR):BOOL; 
 	ResetEvent-: PROCEDURE {WINAPI}(hEvent: HANDLE):BOOL; 
@@ -453,15 +464,15 @@ VAR
 	VirtualAlloc-: PROCEDURE {WINAPI}(lpAddress: ADDRESS; dwSize: LONGINT; flAllocationType, flProtect: SET):ADDRESS; 
 	VirtualFree-: PROCEDURE {WINAPI}(lpAddress: ADDRESS; dwSize: LONGINT; dwFreeType: SET):BOOL; 
 	WaitForSingleObject-: PROCEDURE {WINAPI}(hHandle: HANDLE; dwMilliseconds: LONGINT):LONGINT; 
-	writeFile-: PROCEDURE {WINAPI}(hFile: HANDLE; CONST lpBuffer: ARRAY OF SYSTEM.BYTE; nNumberOfBytesToWrite: LONGINT; VAR lpNumberOfBytesWritten: LONGINT; lpOverlapped: ANY):BOOL; 
+	writeFile-: PROCEDURE {WINAPI}(hFile: HANDLE; CONST lpBuffer: ARRAY OF SYSTEM.BYTE; nNumberOfBytesToWrite: LONGINT; VAR lpNumberOfBytesWritten: LONGINT; lpOverlapped: ADDRESS):BOOL; 
 	OutputString*: PROCEDURE (CONST a: ARRAY OF CHAR); 
 	LeaveA2*, ReenterA2*: PROCEDURE ; 
 	Shutdown*: PROCEDURE (code: LONGINT); 
 
 	PROCEDURE ^ EnterCriticalSection*(VAR lpCriticalSection: CriticalSection); 
 	PROCEDURE ^ LeaveCriticalSection*(VAR lpCriticalSection: CriticalSection); 
-	PROCEDURE ^ ReadFile-(hFile: HANDLE; VAR lpBuffer: ARRAY OF SYSTEM.BYTE; nNumberOfBytesToRead: LONGINT; VAR lpNumberOfBytesRead: LONGINT; lpOverlapped: ANY): BOOL; 
-	PROCEDURE ^ WriteFile-(hFile: HANDLE; CONST lpBuffer: ARRAY OF SYSTEM.BYTE; nNumberOfBytesToWrite: LONGINT; VAR lpNumberOfBytesWritten: LONGINT; lpOverlapped: ANY): BOOL; 
+	PROCEDURE ^ ReadFile-(hFile: HANDLE; VAR lpBuffer: ARRAY OF SYSTEM.BYTE; nNumberOfBytesToRead: LONGINT; VAR lpNumberOfBytesRead: LONGINT; lpOverlapped: ADDRESS): BOOL; 
+	PROCEDURE ^ WriteFile-(hFile: HANDLE; CONST lpBuffer: ARRAY OF SYSTEM.BYTE; nNumberOfBytesToWrite: LONGINT; VAR lpNumberOfBytesWritten: LONGINT; lpOverlapped: ADDRESS): BOOL; 
 	PROCEDURE ^ GetProcAddress*(hModule: HMODULE; CONST procName: ARRAY OF CHAR; VAR adr: ADDRESS); 
 	PROCEDURE ^ CopyString*(lpString: LPSTR; VAR str: ARRAY OF CHAR); 
 	PROCEDURE ^ OutputDebugString*(CONST str: ARRAY OF CHAR); 

BIN
WinAos/obg/Machine.GofW


BIN
WinAos/obg/MediaPlayer.GofW


BIN
WinAos/obg/MenuEdit.GofW


BIN
WinAos/obg/ModuleTrees.GofW


BIN
WinAos/obg/Oberon.FATTools.GofW


BIN
WinAos/obg/OberonFS.GofW


BIN
WinAos/obg/OldDiskFS.GofW


BIN
WinAos/obg/PDF.GofW


BIN
WinAos/obg/PDFExample.GofW


BIN
WinAos/obg/PETTrees.GofW


BIN
WinAos/obg/PNGDecoder.GofW


BIN
WinAos/obg/Pipes.GofW


+ 15 - 0
WinAos/obg/Pipes.SymW

@@ -15,5 +15,20 @@ TYPE
 		PROCEDURE ^  & Init*(size: LONGINT); 
 		PROCEDURE ^ Close*; 
 	END Pipe; 
+
+	Receiver* = PROCEDURE {DELEGATE}(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+
+	ReadDecoupler* = OBJECT {EXCLUSIVE} 
+	VAR 
+		pipe: Pipe; 
+		inputReceiver: Receiver; 
+		numR: LONGINT; 
+		smallbuf: ARRAY [128] OF CHAR; 
+		len, res: LONGINT; 
+
+		PROCEDURE ^  & InitReadDecoupler*(inputReceiver: Receiver); 
+		PROCEDURE ^ Receive*(VAR buf: ARRAY OF CHAR; ofs, size, min: LONGINT; VAR len, res: LONGINT); 
+	BEGIN{ACTIVE} 
+	END ReadDecoupler; 
 BEGIN
 END Pipes.

BIN
WinAos/obg/PositionDebugging.GofW


BIN
WinAos/obg/Presentation.GofW


BIN
WinAos/obg/Random.GofW


+ 1 - 0
WinAos/obg/Random.SymW

@@ -20,6 +20,7 @@ TYPE
 		PROCEDURE ^ Dice*(sides: LONGINT): LONGINT; 
 		PROCEDURE ^ Uniform*(): REAL; 
 		PROCEDURE ^ Exp*(mu: REAL): REAL; 
+		PROCEDURE ^ Gaussian*(): REAL; 
 	END Generator; 
 
 	Sequence* = OBJECT {EXCLUSIVE} 

BIN
WinAos/obg/Reflection.GofW


+ 1 - 1
WinAos/obg/Reflection.SymW

@@ -1,5 +1,5 @@
 MODULE Reflection;
-	IMPORT Modules, Streams, SYSTEM, Machine, Heaps, Objects, Trace;
+	IMPORT Modules, Streams, SYSTEM, Machine, Heaps, Objects, Trace, FoxArrayBase;
 CONST 
 	ShowAllProcs = TRUE; 
 	MaxFrames = 128; 

BIN
WinAos/obg/RelativeFileSystem.GofW


BIN
WinAos/obg/ReleaseVisualizer.GofW


BIN
WinAos/obg/Runtime.GofW


BIN
WinAos/obg/SSFS.GofW


BIN
WinAos/obg/SSHClient.GofW


BIN
WinAos/obg/SVGDecoder.GofW


BIN
WinAos/obg/SambaClient.GofW


BIN
WinAos/obg/SerialsVirtual.GofW


BIN
WinAos/obg/Shell.GofW


BIN
WinAos/obg/SkinEditor.GofW


BIN
WinAos/obg/Snow.GofW


BIN
WinAos/obg/SortDemo.GofW


BIN
WinAos/obg/StdIO.GofW


+ 2 - 1
WinAos/obg/StdIO.SymW

@@ -1,5 +1,5 @@
 MODULE StdIO;
-	IMPORT S := SYSTEM, Modules, Commands, Streams, WinTrace, Kernel32;
+	IMPORT S := SYSTEM, Modules, Commands, Streams, Pipes, WinTrace, Kernel32;
 CONST 
 	AddrSize = SIZEOF(ADDRESS); 
 TYPE 
@@ -7,6 +7,7 @@ TYPE
 VAR 
 	env-: Commands.Context; 
 	hin-, hout-, herr-: Kernel32.HANDLE; 
+	stdInDecoupler: Pipes.ReadDecoupler; 
 
 	PROCEDURE ^ Args(): String; 
 	PROCEDURE ^ Cleanup; 

BIN
WinAos/obg/TFModuleTrees.GofW


BIN
WinAos/obg/TestDates.GofW


BIN
WinAos/obg/TestFiles.GofW


BIN
WinAos/obg/TestVideo.GofW


BIN
WinAos/obg/Trace.GofW


BIN
WinAos/obg/TuringCoatWnd.GofW


BIN
WinAos/obg/V24.GofW


+ 1 - 0
WinAos/obg/V24.SymW

@@ -8,6 +8,7 @@ TYPE
 		handle: Kernel32.HANDLE; 
 		portname: ARRAY 6 OF CHAR; 
 		timer: Kernel.Timer; 
+		rOverlapped, wOverlapped: Kernel32.Overlapped; 
 
 		PROCEDURE ^  & Init*(port: LONGINT); 
 		PROCEDURE ^ Open*(bps, data, parity, stop: LONGINT; VAR res: LONGINT); 

BIN
WinAos/obg/VNCTetrisServer.GofW


BIN
WinAos/obg/W3dExplorer.GofW


BIN
WinAos/obg/WMAnimations.GofW


BIN
WinAos/obg/WMArchives.GofW


BIN
WinAos/obg/WMBackdrop.GofW


BIN
WinAos/obg/WMBuilder.GofW


BIN
WinAos/obg/WMBunny.GofW


BIN
WinAos/obg/WMCalendar.GofW


BIN
WinAos/obg/WMCharMap.GofW


BIN
WinAos/obg/WMClock.GofW


BIN
WinAos/obg/WMColorComponents.GofW


BIN
WinAos/obg/WMComponents.GofW


BIN
WinAos/obg/WMDefaultWindows.GofW


BIN
WinAos/obg/WMDesktopIcons.GofW


BIN
WinAos/obg/WMDiagnostics.GofW


BIN
WinAos/obg/WMDiagramComponents.GofW


BIN
WinAos/obg/WMDiff.GofW


BIN
WinAos/obg/WMEditors.GofW


BIN
WinAos/obg/WMFTPClient.GofW


BIN
WinAos/obg/WMFigures.GofW


BIN
WinAos/obg/WMFontCCGConverter.GofW


Неке датотеке нису приказане због велике количине промена