PASDOS.LST 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. Listing:
  2. 1 (* Release 3.10 *)
  3. 2 (*-------------------------------------------------------------------------*
  4. 3 * *
  5. 4 * PASDOS.DEF - Modula-2 interface to PASDOS.ITF *
  6. 5 * *
  7. 6 * COPYRIGHT (C) 1989..1992 Clarion Software Corporation. *
  8. 7 * All Rights Reserved *
  9. 8 * *
  10. 9 *--------------------------------------------------------------------------*)
  11. 10
  12. 11 (*# project("#set tspas='on'") *)
  13. 12 (*# call(o_a_size=>off, o_a_copy=>off) *)
  14. 13 (*%F _fdata *)
  15. 14 (*# call(seg_name => null) *)
  16. 15 (*# data(seg_name => null) *)
  17. 16 (*%E *)
  18. 17 (*# module(implementation=>off) *)
  19. 18
  20. 19 DEFINITION MODULE PasDos;
  21. 20
  22. 21 IMPORT PasLib, CoreFile, CoreMath;
  23. 22
  24. 23 VAR
  25. 24 AssignBuffer : PROCEDURE(VAR PasLib.filetype, BOOLEAN);
  26. ***** ^ not supported yet
  27. ***** ^ not supported yet
  28. ***** ^ not supported yet
  29. 25 read : PROCEDURE (INTEGER, CoreFile.StreamPtr, INTEGER): INTEGER;
  30. ***** ^ not supported yet
  31. ***** ^ not supported yet
  32. ***** ^ not supported yet
  33. ***** ^ not supported yet
  34. ***** ^ not supported yet
  35. 26 write : PROCEDURE(INTEGER, CoreFile.StreamPtr, INTEGER): INTEGER;
  36. ***** ^ not supported yet
  37. ***** ^ not supported yet
  38. ***** ^ not supported yet
  39. ***** ^ not supported yet
  40. ***** ^ not supported yet
  41. 27
  42. 28 RunTimeError: PROCEDURE(LONGINT, CARDINAL, SHORTCARD, ARRAY OF CHAR);
  43. ***** ^ not supported yet
  44. ***** ^ not supported yet
  45. ***** ^ not supported yet
  46. ***** ^ not supported yet
  47. ***** ^ not supported yet
  48. 29
  49. 30
  50. 31 TYPE
  51. 32 Registers = RECORD
  52. 33 CASE : BOOLEAN OF
  53. ***** ^ not supported yet
  54. ***** ^ 'POINTER' expected
  55. 34 | FALSE: AX,BX,CX,DX,BP,SI,DI,DS,ES,Flags: CARDINAL;
  56. 35 | TRUE: AL,AH,BL,BH,CL,CH,DL,DH: SHORTCARD;
  57. 36 END;
  58. 37 END;
  59. 38 ProcType = PROCEDURE;
  60. 39
  61. 40 CONST
  62. 41 ZeroFlag = 040H;
  63. 42
  64. 43 PROCEDURE ParamCount(): CARDINAL;
  65. 44
  66. 45 PROCEDURE SysErrno(): CARDINAL;
  67. 46
  68. 47 PROCEDURE EnvCount(): LONGINT;
  69. 48
  70. 49 (*# save *)
  71. 50 (*# call(seg_name=>null) *)
  72. 51 PROCEDURE Exec(Psize: BYTE; Path: ARRAY OF CHAR; Csize: BYTE; Command: ARRAY OF CHAR);
  73. 52 (*# restore *)
  74. 53
  75. 54 PROCEDURE DosExitCode(): CARDINAL;
  76. 55
  77. 56 PROCEDURE SetExitCode(code: CARDINAL);
  78. 57
  79. 58 PROCEDURE GetDate(VAR Year, Month, Day, DayOfWeek: CARDINAL);
  80. 59
  81. 60 PROCEDURE SetDate(Year, Month, Day : CARDINAL);
  82. 61
  83. 62 PROCEDURE GetTime(VAR Hour, Minute, Second, Hund: CARDINAL);
  84. 63
  85. 64 PROCEDURE SetTime(Hour, Minute, Second, Hund: CARDINAL);
  86. 65
  87. 66 PROCEDURE Intr(IntNo: SHORTCARD; VAR Regs: Registers);
  88. 67
  89. 68 PROCEDURE MsDos(VAR Regs: Registers);
  90. 69
  91. 70 PROCEDURE GetInProgramFlag(): SHORTCARD;
  92. 71
  93. 72 PROCEDURE SetInProgramFlag(f: SHORTCARD);
  94. 73
  95. 74 PROCEDURE Terminate(P : ProcType; VAR C: ProcType);
  96. 75
  97. 76 TYPE
  98. 77 CommandStr = ARRAY [0..127] OF CHAR;
  99. 78 (*# save *)
  100. 79 (*# data(near_ptr => off) *)
  101. 80 CommandType = POINTER TO CommandStr;
  102. 81 (*# restore *)
  103. 82
  104. 83 TYPE
  105. 84 PackedBcd = ARRAY[0..9] OF SHORTCARD;
  106. 85
  107. 86 (*# save *)
  108. 87 (*# call(reg_param => (ax,bx,cx,dx), reg_saved => (ds,si,di,st1,st2)) *)
  109. 88 PROCEDURE LongToBcd(A: REAL) : PackedBcd;
  110. 89 PROCEDURE BcdToLong(A: PackedBcd) : REAL;
  111. 90 (*# restore *)
  112. 91
  113. 92 (*# save *)
  114. 93 (*# call(near_call=>off) *)
  115. 94 TYPE
  116. 95 HardHandler = PROCEDURE(CARDINAL, CARDINAL, FarADDRESS);
  117. 96 (*# restore *)
  118. 97 PROCEDURE harderr(handler: HardHandler);
  119. 98 PROCEDURE hardresume(code: CARDINAL);
  120. 99 PROCEDURE hardretn(code: CARDINAL);
  121. 100 PROCEDURE ProtectedMode(): BOOLEAN;
  122. 101
  123. 102 TYPE
  124. 103 CpuKind = (cpu_Unknown,cpu_V20,cpu_V30,cpu_8088,cpu_8086,
  125. 104 cpu_80188,cpu_80186,
  126. 105 cpu_80286,cpu_80386);
  127. 106
  128. 107 FpuKind = (fpu_none,fpu_8087,fpu_80287,fpu_80387);
  129. 108
  130. 109 CpuRec = RECORD
  131. 110 cpu : CpuKind;
  132. 111 fpu : FpuKind;
  133. 112 END;
  134. 113
  135. 114 PROCEDURE CpuId (VAR r : CpuRec );
  136. 115
  137. 116 PROCEDURE EnableBreakCheck;
  138. 117 PROCEDURE DisableBreakCheck;
  139. 118 PROCEDURE Delay(ms: CARDINAL);
  140. 119
  141. 120 VAR
  142. 121 LastChar : CHAR ;
  143. 122 LastScan : SHORTCARD ;
  144. 123
  145. 124 PROCEDURE KeyPressed(): BOOLEAN ;
  146. 125 PROCEDURE RdKey(): CHAR ;
  147. 126 PROCEDURE RdChar(): CHAR ;
  148. 127
  149. 128 TYPE
  150. 129 KBF = ( RShift, LShift, Ctrl, Alt, Scroll, Num, Cap, Ins );
  151. 130 KBFlagSet = SET OF KBF ;
  152. 131
  153. 132 PROCEDURE KBFlags(): KBFlagSet ;
  154. 133
  155. 134 (*
  156. 135 TYPE
  157. 136 Exception = RECORD
  158. 137 etype: CARDINAL;
  159. 138 Name: address;
  160. 139 arg1, arg2, retval: REAL;
  161. 140 END;
  162. 141 VAR
  163. 142 matherr: PROCEDURE (VAR E: Exception): CARDINAL;
  164. 143 *)
  165. 144
  166. 145 CONST
  167. 146 matherr ::= CoreMath.matherr;
  168. 147 Exception ::= CoreMath.Exception;
  169. 148
  170. 149 ReadOnly = 01H;
  171. 150 Hidden = 02H;
  172. 151 SysFile = 04H;
  173. 152 VolumeID = 08H;
  174. 153 Directory = 10H;
  175. 154 Archive = 20H;
  176. 155 AnyFile = 3FH;
  177. 156
  178. 157 TYPE
  179. 158 SearchRec = RECORD
  180. 159 Fill: ARRAY [1..21] OF SHORTCARD;
  181. 160 Attr: SHORTCARD;
  182. 161 Time: LONGINT;
  183. 162 Size: LONGINT;
  184. 163 Name: ARRAY [0..12] OF CHAR;
  185. 164 END;
  186. 165
  187. 166
  188. 167 PROCEDURE FindFirst(size: BYTE; Path: ARRAY OF CHAR; Attr: CARDINAL; VAR S: SearchRec);
  189. 168 PROCEDURE FindNext(VAR S: SearchRec);
  190. 169 PROCEDURE ChDir(size: BYTE; s: ARRAY OF CHAR);
  191. 170 PROCEDURE GetDir(d: SHORTCARD; size: BYTE; VAR s: ARRAY OF CHAR);
  192. 171 PROCEDURE MkDir(size: BYTE; s: ARRAY OF CHAR);
  193. 172 PROCEDURE RmDir(size: BYTE; s: ARRAY OF CHAR);
  194. 173
  195. 174 END PasDos.
  196. 20 errors