home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------ *)
- (* TPPATCH.PAS *)
- (* Patch für Turbo Pascal 3.0 unter CP/M: *)
- (* Konvertierung von Integer -23768 nach Floating Point *)
- (* (c) 1988 by Jacek Gwizda & TOOLBOX *)
- (* ------------------------------------------------------ *)
- PROGRAM Patch_8000h;
-
- CONST
- dump = 3;
- lang = 23;
- sprung : ARRAY[1..jump] OF BYTE = ($C3, $06, $01);
- (* jp patch_adr ; hier patch_adr = 0106h *)
-
- patch : ARRAY[1..lang] OF BYTE = (
- $7C, { ld a,h }
- $B5, { or l }
- $CA, $72, $0B, { jp z,00b72h }
- $FE, $80, { cp 80h }
- $C2, $0D, $10, { jp nz,0100dh }
- $7D, { ld a,l }
- $A7, { and a }
- $C2, $0D, $10, { jp nz,0100dh }
- $CD, $72, $0B, { call 00b72h }
- $2E, $90, { ld l, 90h }
- $06, $80, { ld b, 80h }
- $C9 { ret }
- );
-
- patch_adr = $0106; { Adresse des Patches }
- proc_adr = $1008; { Adresse der Originalroutine }
-
- VAR
- tx : FILE;
-
- BEGIN
- Move(sprung, Mem[proc_adr], jump);
- Move(patch, Mem[patch_adr], lang);
- Assign(tx, 'TURBO.COM');
- ReWrite(tx);
- BlockWrite(tx, Mem[$0100], 242);
- Close(tx);
- END.
- (* ------------------------------------------------------ *)