Hot answers tagged

126

Turbo Pascal programs start by calibrating a delay loop (so that the Delay function knows how much to spin to achieve a certain delay). The calibration counts the number of times a certain loop is run for 55ms (as measurable using the PC’s timer interrupt with its default setting), then divides the number of loops by 55 so that Delay can then busy-wait in ...


92

In the late '70s and very early 80s it was not unusual to make BIOS source code available. Apple did indeed do so; the full source listing starts at page 76 of the Apple II Reference Manual. Atari did the same in their Operating System Source Listing section of their Atari 400/800 Technical Reference Notes. For CP/M machines, having the BIOS source was near ...


87

I am an EE system designer. I have designed many PC systems (and non PC ones). I do lots of power supply work and have dealt with many HDDs. As always, there is bound to be an exception somewhere. If someone told me to design an exception I certainly could, but here is my take: 30 seconds was always overkill in terms of any digital state. Even very ...


86

Hard drives have read/write heads which fly above the spinning disks when the drive is powered. When power is removed, the heads no longer fly... For a long time now, the arms which hold the heads have been designed to “auto-park” the heads away from the disks’ surface, or over a safe “landing zone”, when they lose power¹, but early (up to the mid 80s) hard ...


86

Bootable game disks do exist for the IBM PC. Conflict in Vietnam is an example of such a game. As can be seen on page 8 of the manual, the game boots directly without loading DOS first. The main reason it wasn't common was for compatibility. A self booting game has to have its own drivers for all the hardware it wants to support. As PCs quickly diversified ...


70

The original IBM PC and later variants used an Intel 8253 or 8254 as a sound chip. The 8253 is a timer circuit, containing three timers able to generate timed interrupts or square-wave output with programmed frequencies. On the PC the third timer's output is, via an amplifier, connected to a simple speaker. As said before, calling a 'simple' timer a sound ...


68

The Turbo button originally adjusted the clock speed of the computer between the full speed of the machine and a slower speed intended to be compatible with something more industry standard. It wasn't at all uncommon for software to be written with a specific speed of hardware in mind and either fail to operate completely or operate in a way that was ...


64

When other manufacturers attempted to copy the BIOS from the source listings, IBM sued them for copyright violation and won. Besides, even without the listings, anyone would have been able to dump and disassemble the BIOS. Publishing the source code made it harder to argue that the engineers hadn’t seen or used it. What took IBM by surprise was the ...


61

There was a 640K limit on the original IBM PC, but it was the result of IBM’s design decisions, and nothing to do with Microsoft: it’s the largest contiguous amount of memory which can be provided without eating into reserved areas of memory. The IBM PC Technical Reference includes a system memory map (page 2-25): which is detailed on subsequent pages: the ...


61

The answer to the question as written is no. However, I can see where it came from. When Microsoft developed Windows NT, they decided they needed a "secure attention key" (SAK). This was a key, or key combination, that was guaranteed to bring up the genuine log in screen. The reason they wanted this is because, any sequence that could be intercepted by a ...


57

No, CTRL-ALT-DELETE was a thing before there were tasks to manage. The original IBM PC used this key sequence to reboot the computer, in case the computer crashed or the user just wanted to boot some other operating system or application. This was implemented by the BIOS, so any operating system, like MS-DOS, that used the BIOS services would get this ...


55

Well, it was simply the BIOS' way to tell you that the keyboard buffer is all the way filled up. What was actually "counting" my keypresses? In so far as there is a 16 entry (32 bytes) buffer area to type ahead while the main program is still working on something else. So if 16 keystrokes come in without a single one being read, it's full and the beeping ...


53

The reset button does not affect the power supply at all. It sends a reset signal to the CPU (and probably the bus). Some power supply designs indeed will wear quicker if quickly switched on and off, but this is not typically about still-charged capacitors. Depending on the circuitry, the following things among others could be a concern: Cumulative thermal ...


50

The 80s weren't homogeneous computing-wise. I'd break it down into roughly 3 eras: Early 80s: Atari, Commodore, Radio Shack, and Sinclair 8-bit machines (and their clones) were the most common in homes. For games consoles, Atari was king. Small businesses were using CP/M or Apple IIs (for Visicalc). Video is on dedicated CP/M systems. The Apple II was ...


46

TL;DR: It was IBM's idea. IBM never intended to buy any of the software they acquired for the PC - and MS never intended to supply any OS beside Xenix. But MS (Paul Allen) soon recognized the potential business and acted accordingly. The Long Read IBM had no interest whatsoever in building up a basic software development for the PC. The strategy was ...


45

The notion of a bootable-vs-non-bootable floppy is a little odd. It's worth noting that almost all floppies you're likely to have are actually bootable: it's just that they boot a program that isn't especially useful (it either displays a message saying to insert a system disk, or they execute INT 18h - which runs BASIC if it's installed in ROM, or displays ...


43

So you want to write a C program for the IBM PC before the first C compiler for the PC is released. How do you go about it? There are three options I can see: Write your own C compiler Use a cross compiler for 8086 on some other platform Wait for a C compiler to become available Don't use C No four options. Amongst our many options are fear, surprise and ...


42

Unreal Megademo, Future Crew, 1992 possibly? Certainly has all the elements you mention.


40

I remember a conversation with an IBM engineer back in the 1980s, who implied there was an internal fight over this between IBM's engineering and marketing departments. The engineers wanted the PC to have the same keyboard as the popular 3270 mainframe terminal, for easy migration of users and software in a business environment, and in fact IBM did produce ...


38

The PC speaker connected to the i8253 PIT (programmable interval timer) was only for beeping. For better sound you need to bypass the PIT and use the Speaker as an I/O port with a single on/off bit controlled by the CPU. That way you can generate any sound (even PCM using a nasty PWM technique). The problem was that at that time the CPU was too slow, and ...


37

The Apple II was a hobbyist's computer that unexpectedly found a business niche. Apple recognised that niche in its design of 1980's Apple III. Specifically, it thought that the following were necessary changes to produce a business computer relative to the contemporaneous II+: a full-ASCII keyboard, with lowercase and uppercase entry; an 80-column display; ...


34

In general, yes, ISA cards have fixed memory and I/O addresses. ISA inherently has the card decide to what memory and I/O addresses it reacts because address decoders are located on the cards. How that decision is being taken varied over time, however. Because the ISA bus in principle exposes the full system bus to cards with no isolation or address ...


33

The first game sold for use on the IBM PC was Microsoft Adventure, which was available on the day the IBM PC was released (it was part of the launch, along with VisiCalc, Easywriter etc.). It was developed by Gordon Letwin (later of OS/2 fame) in 1979, based on the Colossal Cave mainframe game. It didn’t run on DOS though, it was a “booter” — you booted the ...


31

One option might have been using “Small C,” which was published in 1980 in Dr. Dobb's Journal magazine. Initially it generated code for the 8080, but was adapted for a few other CPU's. It was adapted to generate code for DOS/8088 but I do not know the date. Small C was written in itself so you would need a CP/M-80 system to do the port. But if I recall ...


31

Harry Potter and the Half-Blood Prince is another work whose source code is entirely available for public view, yet it's definitely under copyright and you will get in big trouble for commercially copying it. Making it public and releasing it from copyright are two separate things. In order to clone the IBM BIOS, they had to write totally new software ...


30

Memory protection. It's not that preemptive multi-tasking is expensive, or hard. It's not. It's easy. It costs (or can cost) essentially the same as cooperative multitasking. You have to save process state in both cases. But what was holding back the older systems was their early reliance on systems without inherent memory protection, and those legacies ...


29

The BDS C compiler was released in 1979, ran on CP/M, and was capable of generating code for the Intel 8080 microprocessor. (It also ran on and generated code for the Zilog Z80, but that's not relevant here). This was a very popular, well-known CP/M compiler, and as Wikipedia says: It ran much faster and was more convenient to use than other Z80-hosted ...


29

The 32-bit versions of Windows can still run many DOS binaries directly, using NTVDM, and VisiCalc stills works. VisiCalc was available at launch with the IBM PC, so is probably qualifies as the oldest commercial DOS program which can still run on modern versions of Windows without third-party software.


29

It was an advantage because the IBM PC became an extensible computing platform. The most popular competitor to it previously was the Apple II, another open platform. The PC, as a platform, was popular to users because of the choices it enabled, as developers because of the foundations that it laid, and engineering firms because they could focus on what they ...


28

According to Wikipedia, a number of reasons contributed to IBM’s using the 8088 instead of the 8086: Intel offered them a better price for the 8088 and was able to supply more of the chips; the 8-bit data-bus meant that IBM could use a modified 8085 design (the System/23) instead of coming up with a new 16-bit design; it also meant that IBM could use more ...


Only top voted, non community-wiki answers of a minimum length are eligible