Robert AH Prin
Delphi Developer |
Sat, 28 May 2005 08:31:52 GMT
Re:rpcrt100.zip Optimized TP50/TP55/TP6/BP7 CRT Unit
Sorry, new thread, One.Tel is playing up gain... Quote>JRS: In article <ts0212050939.4...@poiju.uwasa.fi>, seen in >news:comp.lang.pascal.borland, Timo Salmi <t...@UWasa.Fi> posted >at Thu, 5 Dec 2002 11:40:43 :- >>Thank you for your contribution. This upload is now available as >> 48663 Dec 4 01:00 ftp://garbo.uwasa.fi/pc/turbopas/rpcrt100.zip >>; Date: Wed, 4 Dec 2002 16:03:00 -0000 >>; From: "Audrone & Robert Prins" <pr...@onetel.net.uk> >>; Subject: RPCRT100.ZIP Optimised TP 5.0/5.5/6.0/BP7.0 CRT unit >>; Special requirements: CPU >= 80386 required >:-( ... Earlier today, I fired up my Amstrad PPC640 to run a Pascal >program - but one whose source does not contain 'crt'.
My father still uses his original 1983 IBM PC... I'm sorry for both of you, but I'm not going to change the unit to make it run on a CPU that is well past its sell-by date. I suggest that you use a decent hex-editor and make a few copies of your TPC/ TURBO.EXE files and patch them with different names for TURBO.TPL, it's what I'm doing. I currently use TURBO.TPL, JUFFA.TPL, PRINS.TPL and DEBUG.TPL... Quote>I've swiped the following for <URL:http://www.merlyn.demon.co.uk/pas- >r200.htm#RAHP> - RSVP if any objections : >>; RPCRT100.ZIP contains optimized versions of the Borland TP5.0/5.5/6/ >>; BP7 CRT unit. It also contains the modified CRT.PAS file and .OBJ >>; files for all routines to allow users of Delphi 1 to roll their own. >>; The main improvement of the unit is the removal of the RTE 200 bug >>; in the Delay() function. It also allows the use of extended >>; (F11/F12/etc) keys and it will (try to) not reset extended >>; text-modes. >>; This CRT unit uses 386 instructions and should not be used on 8086 >>; 8088 or 80286 PCs. >Is there a Web page or similar with the >>; Long description:
No, at this moment in time I own a domain, but it just contains an ad for the company that sold it to me. I'm in the process of leaving the UK, I've had enough of two parties trying to out-rightwing each other. Quote>?? I don't want to make my page much bigger, and it would be nice to >link to where any new info will magically appear. >>; Like the offering from Pedt Scragg, this unit offers the elimination >>; of the RTE 200 bug on fast PCs, but does so through using the quite >>; well known technique of using a multiply by the inverse of the >>; divisor. The technique ensures that RTE 200 will never ever reoccur, >>; no matter how fast PCs will become in years to come. >I don't quite understand that; ISTM that every time that CPUs get 256 >times faster, another bytes-worth must be needed to store the >calibration. Or does your resolution get less and less as CPUs get >faster ?
You hit the nail on the proverbial head. Once the CPU speeds get high enough to countdown 2^32 in 55 ms, the multiply will result in zero and the delay will no longer delay... That's why I included the source. Quote>>; The Delay() function is also fully smartlinkable, i.e. if Delay() is >>; not used, not a single byte of its code is included. The (small) >>; drawback of this approach is the fact that the very first call to >>; Delay() will be slightly less accurate, a dummy Delay(1) can be >>; used to cure this "problem". >One might observe that the Borland Crt init, and perhaps others, uses >(IIRC) an implicit effective Delay(55) in the calibration stage of >initialisation, preceded by a delay of up to that value (wait for a >tick, calibrate using interval to next tick).
I know, but having already sacrificed some compatibility by using 386 instructions, I think this further incompatibility is worth it. Quote>>; Like the offering of Pedt Scragg, this unit also detects the >>; presence of an enhanced keyboard, >I have a test program which is intended to see if Pedt's fix has been >applied, by asking for an F11 or similar and showing a 10s delay. > <URL:http://www.merlyn.demon.co.uk/20010716/crt003.pas> - there's >also crt001 (trivial) and crt002. Help yourself if interested; it's >not Pedt-specific.
Pedt's program contains the test, so there's no need to take up your offer, but thanks. Robert PS: Over Christmas I'm in Lithuania again, I hope I will be able to finally finish the last unit, SYSTEM. (Initially it will be the TP6 version and it will run only on 386/7(+) CPUs) -- Robert AH Prins pr...@bigfoot.com
|