home *** CD-ROM | disk | FTP | other *** search
/ Jason Aller Floppy Collection / 270.img / FORUM25C.ZIP / OVERINIT.PAS < prev    next >
Pascal/Delphi Source File  |  1989-02-07  |  3KB  |  88 lines

  1. {$M 65500,0,655360}
  2.  
  3. UNIT OverInit;
  4. INTERFACE
  5. USES Overlay,
  6.      ConfigRT,
  7.      GenTypes;
  8.  
  9. IMPLEMENTATION
  10.  
  11. {=============================================================================}
  12.  
  13. {=============================================================================}
  14.  
  15. VAR Save_exit : POINTER;
  16.  
  17. {$F+}
  18. Procedure Error_handler;
  19. VAR Error_str : String[80];
  20. Begin
  21.   ExitProc := Save_exit;
  22.   If ExitCode = e_Extended_code  THEN
  23.     Begin
  24.       Case Ext_code OF
  25.         -1 : Writeln(USR,'Overlay manager error');
  26.         -2 : Begin
  27.               Writeln(USR,'Overlay file not found');
  28.              End;
  29.          1 : Begin
  30.                writeln (USR,'The modem driver is not installed!  Please run the',
  31.                         'program'^M^J^M^J'    MODEMDRV.COM'^M^J^M^J,
  32.                         'and run Forum-PC again.');
  33.                ExitCode := 2;
  34.              End;
  35.          2 : Begin
  36.                writeln (USR,^M^J'Fatal error:  You MUST put the command',
  37.                ^M^J^J'   FILES=30',
  38.                ^M^J^J'in your CONFIG.SYS file on the disk from which you boot.',
  39.                ^M^J^J'Note:  If you have been modifying Forum-PC, then you may',
  40.                 ^M^J'       be leaving a file open.');;
  41.              End;
  42.         End;
  43.     End;
  44. End;
  45.  
  46. {=============================================================================}
  47.  
  48. VAR Overlay_buffer : LONGINT;
  49.  
  50. Begin
  51.   Move(Output,USR,Sizeof(text));
  52.   Save_exit := ExitProc;
  53.   ExitProc := @Error_handler;
  54.   Writeln(USR,Versionnum,' (C) Copyright 1989, Kenneth Duda.'^M^J,
  55.               '                Portions by Kevin Boyles.');
  56.   ReadConfig;
  57.  
  58.   Ext_code := 0;
  59.   OvrInit(OverlayPath+'Forum.OVR');          { init overlay system, reserve heap space }
  60.   IF OvrResult <> 0 THEN
  61.   Begin
  62.     Ext_code := OvrResult;
  63.     Halt(e_Extended_code);
  64.   End;
  65.   OvrInitEMS;
  66.   If OvrResult = 0 THEN
  67.     Writeln(USR,'Overlay loaded into Expanded Memory.')
  68.   ELSE
  69.     Writeln(USR,'No expanded memory available.');
  70.   OvrResult := 0;
  71.   Overlay_buffer := Longint(OVerlay_size)*1024;
  72.   If (Overlay_size > 0) AND (Overlay_size < 640)  THEN
  73.    Begin
  74.     Writeln(USR,'Setting overlay buffer size to ',Overlay_size,'k');
  75.     OvrSetBuf(Overlay_buffer)
  76.    End
  77.   ELSE
  78.     If Overlay_size = 1000 THEN
  79.       Begin
  80.         Writeln(USR,'Using all available memory for overlay buffer');
  81.         OvrSetBuf(MemAvail);
  82.       End
  83.     ELSE
  84.       Writeln(USR,'Using default buffer size.');
  85.   Writeln(USR,'Memory: ',Memavail);
  86.   Writeln(USR,'Overlay code: ',OvrResult);
  87.   Writeln(USR,'FORUM-PC Overlay buffer size: ',OvrGetBuf);
  88. End.