Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This is exactly the same timer loop problem as was found in Turbo Pascal around the same era: https://retrocomputing.stackexchange.com/q/12111


A 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.


I 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.


All turbo buttons I remember specifically clocked down to 4.77 mhz - apparently the original 8088 frequency?


The 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.


I 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.


The 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.


Maybe 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!").


(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

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)


It 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.


Some 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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: