home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / PROG / PASCAL / MISCTI10.ZIP / TI443.ASC < prev    next >
Encoding:
Text File  |  1989-12-20  |  3.1 KB  |  93 lines

  1. STYLE TopMargin 2.8 Inch,BottomMargin 1 Inch,HeaderSpacing .6 Inch
  2. PAGEFOOTING
  3. BEGIN PAGEHEADING
  4. PRODUCT  :  TURBO PASCAL EDITOR TOOLBOX@>( )NUMBER  :  443
  5. VERSION  :  4.0
  6.      OS  :  MS-DOS, PC-DOS
  7.    DATE  :  SEPTEMBER 20, 1988@>( )PAGE  :  @value(page)/2
  8.  
  9.   TITLE  :  MICROSTAR CRITICAL ERROR HANDLER CORRECTIONS
  10. END PAGEHEADING
  11. BEGIN HEADERT
  12. PRODUCT  :  TURBO PASCAL EDITOR TOOLBOX@>( )NUMBER  :  443
  13. VERSION  :  4.0
  14.      OS  :  MS-DOS, PC-DOS
  15.    DATE  :  SEPTEMBER 20, 1988@>( )PAGE  :  @value(page)/2
  16.  
  17.   TITLE  :  MICROSTAR CRITICAL ERROR HANDLER CORRECTIONS
  18. END HEADERT
  19.  
  20.  
  21.  
  22. This handout addresses a problem reported by users of the Turbo
  23. Pascal Editor Toolbox version 4.0.
  24.  
  25. Users have found that MicroStar cannot recover from a DOS
  26. Critical Error.  DOS Critical Errors occur when attempting to
  27. write or read a disk file with the disk door open, the drive
  28. empty, or the printer out of paper, etc.  MicroStar reports the
  29. Critical Error correctly.  However, the error will continue to be
  30. reported even when the error condition has been corrected (the
  31. drive door closed, the printer loaded with paper, etc).  The only
  32. solution is to quit MicroStar and lose any of the changes to the
  33. current file since the last correct save. 
  34.  
  35. The problem lies with the Interrupt 24 Handler (the DOS Critical
  36. Error Handler) implemented within MicroStar; its source may be
  37. found in the file INT24.ASM of the MicroStar source code.  The
  38. INT24.ASM correctly identifies Critical Errors but does not reset
  39. the flag signaling a DOS Critical Error properly.  The solution
  40. involves correcting one line of INT24.ASM, reassembling IN24.ASM
  41. to an object format (INT24.OBJ), and recompiling the complete
  42. source for MicroStar.
  43.  
  44. 1.  Load INT24.ASM into an ASCII editor (Turbo Pascal's editor
  45.     will do).
  46.  
  47. 2.  Find Line 68 which should read as follows:
  48.  
  49.        MOV    CS:Int24ErrCode,0    ;Reset Int24ErrCode to 0
  50.  
  51. 3.  Replace this text with the following line.
  52.  
  53.         MOV  CS:Int24Err,0        ;Reset Int24Err to 0
  54.  
  55. 4.  Use the Microsoft or a compatible assembler to assemble
  56.     the code to an object format (.OBJ).  This must replace
  57.     the INT24.OBJ supplied with the distribution disks.
  58.  
  59. 5.  Set the compiler destination to disk
  60.     (Compile/Destination option). Load MS.PAS into the editor
  61.     and perform a build (Compile/Build option) on the entire
  62.     application.  Make sure the entire MicroStar source is
  63.     available for recompilation.
  64.  
  65.  
  66. For those without an assembler, the following Turbo Pascal
  67. program corrects the unmodified MicroStar EXE file.  From the
  68. directory containing MicroStar, enter the following lines of code
  69. into the Turbo Pascal editor and run from either memory or disk.
  70.  
  71. program ChMS;
  72.  
  73. var
  74.   f : file of byte;
  75.   b : byte;
  76.  
  77. begin
  78.  
  79. Assign(f,'MS.EXE');
  80. reset(f);
  81.  
  82. seek( f, 129626);   b := 30;   write( f, b);
  83. seek( f, 154257);   b := 101;  write( f, b);
  84. seek( f, 154305);   b := 4;    write( f, b);
  85. seek( f, 154401);   b := 103;  write( f, b);
  86. seek( f, 154431);   b := 115;  write( f, b);
  87. seek( f, 154701);   b := 108;  write( f, b);
  88. seek( f, 154827);   b := 108;  write( f, b);
  89.  
  90. close(f);
  91.  
  92. end.
  93.