home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1989 / 02 / tricks / tppatch.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1988-10-10  |  1.6 KB  |  45 lines

  1. (* ------------------------------------------------------ *)
  2. (*                    TPPATCH.PAS                         *)
  3. (*  Patch für Turbo Pascal 3.0 unter CP/M:                *)
  4. (*  Konvertierung von Integer -23768 nach Floating Point  *)
  5. (*         (c) 1988 by Jacek Gwizda & TOOLBOX             *)
  6. (* ------------------------------------------------------ *)
  7. PROGRAM Patch_8000h;
  8.  
  9. CONST
  10.   dump   = 3;
  11.   lang   = 23;
  12.   sprung : ARRAY[1..jump] OF BYTE = ($C3, $06, $01);
  13.                  (* jp patch_adr ; hier patch_adr = 0106h *)
  14.  
  15.   patch  : ARRAY[1..lang] OF BYTE = (
  16.              $7C,                 { ld   a,h       }
  17.              $B5,                 { or   l         }
  18.              $CA, $72, $0B,       { jp   z,00b72h  }
  19.              $FE, $80,            { cp   80h       }
  20.              $C2, $0D, $10,       { jp   nz,0100dh }
  21.              $7D,                 { ld   a,l       }
  22.              $A7,                 { and  a         }
  23.              $C2, $0D, $10,       { jp   nz,0100dh }
  24.              $CD, $72, $0B,       { call 00b72h    }
  25.              $2E, $90,            { ld   l, 90h    }
  26.              $06, $80,            { ld   b, 80h    }
  27.              $C9                  { ret            }
  28.                                     );
  29.  
  30.   patch_adr = $0106;  { Adresse des Patches }
  31.   proc_adr  = $1008;  { Adresse der Originalroutine }
  32.  
  33. VAR
  34.   tx : FILE;
  35.  
  36. BEGIN
  37.   Move(sprung, Mem[proc_adr], jump);
  38.   Move(patch, Mem[patch_adr], lang);
  39.   Assign(tx, 'TURBO.COM');
  40.   ReWrite(tx);
  41.   BlockWrite(tx, Mem[$0100], 242);
  42.   Close(tx);
  43. END.
  44. (* ------------------------------------------------------ *)
  45.