5 ms·
This is exactly the same timer loop problem as was found in Turbo Pascal around the same era: https://retrocomputing.stackexchange.com/q/12111 https://retrocomp
by ghewgill 6y ago
This is exactly the same timer loop problem as was found in Turbo Pascal around the same era: https://retrocomputing.stackexchange.com/q/12111 https://retrocomputing.stackexchange.com/q/12111
- RcouF1uZ4gsC 6y agoI think you could solve the problem by pushing the "turbo" button on the computer case that would reduce your cpu frequency to something like 8 mhz.
- unilynx 6y agoAll turbo buttons I remember specifically clocked down to 4.77 mhz - apparently the original 8088 frequency?
- torgoguys 6y agoIt depends. On later computers--around the time frame we're talking about where the Turbo Pascal CRT bug was showing up--the turbo button, where it still existed on computers of the day, often just enabled/disabled the L2 cache near the processor.
- einr 6y agoThe turbo button originates from Taiwanese "Turbo XT" clones that would run an 8088 or V20 at 8, 10, 12 or even 16 MHz with turbo engaged and 4.77 with it off. Later 386 and 486 systems implemented turbo logic in different ways. Some by reducing bus speed, some by disabling CPU caches, some by inserting wait states for memory access.
- anyfoo 6y agoMaybe initially, but there definitely were still 486s with Turbo buttons that would throttle the machine to some frequency much higher than 4.77MHz (or just disable the cache). I had one! And apart from that, CPU generations have vastly different speed profiles if you kept them at the same frequencies (which is mostly theoretical, clocking a 486 at 4.77MHz, while not necessarily impossible, might turn out to be quite a project on consumer hardware). Turbo buttons were always a shaky proposition. They might have worked okay-ish with the original AT to slow the machine down into a somewhat fitting range to play older games, but probably quickly devolved into some show-offy marketing ploy ("look how fast it goes if I press this!").
- einr 6y ago(which is mostly theoretical, clocking a 486 at 4.77MHz, while not necessarily impossible, might turn out to be quite a project on consumer hardware). Quite a project indeed, but possible with the right motherboard -- as an amusing side note, there is a very strange sub-sub-sub-genre of computer enthusiasts who enjoy the challenge of installing various Windows versions on the slowest possible systems that will run them: https://www.winhistory.de/more/386/winq.htm https://www.winhistory.de/more/386/winq.htm They've managed feats like running Windows XP on a 4 MHz Pentium Overdrive and Windows ME on a 3 MHz 486SL (that one takes 1 hour and 10 minutes to even boot)
- PeterisP 6y agoI recall having a turbo button on a 386-based computer that halved the speed - I don't recall if it was from 40mhz to 20 or from 80mhz to 40, something like that. I also recall seeing computers of that era which had a mhz display on the front to show the current processor speed.
- einr 6y agoThe highest clocked 386 CPU, and one of the most popular ones, was the Am386DX40, so your computer would likely have had a 40 MHz part. It is a common misconception is that the MHz displays from this era had any kind of communication with the CPU or motherboard. They don't -- they are dumb devices that can switch between showing two arbitrary patterns on the LED display and are "programmed" by painstakingly setting jumpers on the back. Often when using 2-digit displays for computers with 3-digit clock speeds they would be programmed to display "HI" and "LO" instead of a number. So when your display showed "20" that doesn't mean the CPU was running at 20 MHz. It might have been, because 386 CPUs always ran at the bus speed and 20 was a common 386 speed, but things get a lot more complicated when you move to the 486 platform with internal clock multipliers. My 486 DX4/100 (33 MHz bus speed, 3x multiplier) has a turbo button that when disengaged lowers the effective speed of the system to something roughly like a 486 DX50. But this is not an exact science and does not in fact mean that the CPU is running at 50 MHz.
- craz8 6y agoSome PCs had a bios setting too, and it might have allowed the button to be disabled The biggest bang for the buck (for me) contracting job I ever did was to turn that bios setting on and press the button to make it run faster.
- taneq 6y agoA lot of games had similar problems too. I remember spending ages downloading the demo of Screamer 2 after getting our new computer and "the internet", and being disappointed that it crashed on startup for the same reason.