From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jonas Eckerman Subject: Re: Runtime error 200 => How to slow down dosemu? Date: Tue, 25 Apr 2006 17:09:24 +0200 Message-ID: <444E3BA4.3080906@frukt.org> References: <87bqut4amt.wl%felix.klee@inka.de> Reply-To: jonas@frukt.org Mime-Version: 1.0 Content-Transfer-Encoding: QUOTED-PRINTABLE Return-path: In-Reply-To: <87bqut4amt.wl%felix.klee@inka.de> Sender: linux-msdos-owner@vger.kernel.org List-Id: Content-Type: text/plain; charset="iso-8859-1"; format="flowed" To: linux-msdos@vger.kernel.org =46elix E. Klee wrote: > When I try to execute a program named "retrieve.exe" in Freedos under > Dosemu 1.2.2, then I get the error message "runtime error 200 at > 001D:233A.". That error means "Division by zero". It is *sometimes* caused by a bad piece of timer initialisation combine= d with fast processors. > >tppatch retrieve.exe IIRC that patch is only for programs compiled with Turbo/Borland Pascal= AFAIK. It's possible that it only handles code using Borlands CRT unit= as well. Also, IIRC some patches for this problem simply replaced a value with a= higher value rather than actually replace the bad code. The result was= that the code worked for another couple of years, but eventually start= ed failing again when CPUs became a lot faster. Not sure if that was TPPatch or some other patcher. > Well, since the runtime error is most likely due to a processor which= is I could be becuase of that, but it is entirely possible that the code t= ries to divide something by zero for some other reason as well. > too fast, the only solution left seems to be throttling of Dosemu. You don't need to slow down Dosemu, you need to slow down the buggy pro= gram. I've got a small piece of code I call Bx200Fix.exe that usually works f= or this. I don't know if attaches are ok on this list, so I just put it up for d= ownload from Simply run it with the program you want to run as parameter. Like this: bx200fix retrieve.exe bx200fix retrieve.exe someparameter If that doesn=E4t work, run it like this instead: bx200fix ?retrieve.exe bx200fix ?retrieve.exe someparameter Without the '?' it just tries to hide the problem when the app is start= ing, with the '?' it keeps doing it til the app exits. It's just a quick hack and has at least one possible problem: It does not copy the parameter data *exactly* to the program it calls. Usually this doesn't matter though. Use it if you like it. And you may distribute it anyway you like as wel= l. Regards /Jonas --=20 Jonas Eckerman, FSDB & Frukttr=E4det http://whatever.frukt.org/ http://www.fsdb.org/ http://www.frukt.org/ - To unsubscribe from this list: send the line "unsubscribe linux-msdos" = in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html