Weekly Tweaks Other Info

Memory Markings

The speed is indicated by the last number of the ID, typically after a hyphen, like -70, which means 70 nanoseconds. There may or may not be a leading zero.

Numbering on a chip is split into two, although it never looks like that. The first part indicates complexity, and the second the data path size, or how many bits can be read or written at the same time. To find capacity, multiply the first part by the second, divide by 8 and throw away the remainder:

  • banks of 256, meaning 1 Mb

  • bank of 1 Mb, meaning 1 Mb

  • banks of 1 Mb, meaning 4 Mb

You might see a date looking like this:

8609=9th month of 86.

Generally speaking, here is what you can expect (using Alliance as an

AS = Alliance
4 = DRAM
C = 5volt
6 = 4K refresh (7=2K, 8=1K)
40 = 1Meg x 4 (256K16=256Kx16, 1M16=1Megx16)
0 or F = Fast Page (5 or E=EDO)
50=50ns, 60=60ns, 70=70ns etc


The Signal
You are no doubt aware by now that computers use bits to convey information, the word bit being made up from the first and last letters of binary digit. The bit takes the form of a signal that can be either on or off, which is particularly useful as the computer itself operates on the binary system, using only two characters, 1 or 0, to convey meaning, you can see how they dovetail nicely. It's no coincidence that electrical appliances use the figures 1 and 0 for On and Off. The bits are assembled in various ways for transmission. A 5-bit method was the Baudot Code, there was a 6-bit one which didn't get anywhere, and ISO-7 was the original "International Alphabet", the American version of which is ASCII.



On a PC, eight bits make a byte, which is equivalent to a character on the screen, as a result of which the number of bits used for a character is often called the Word Length-7 or 8 data bits as a group are also referred to as ASCII 7 or ASCII 8 (for IBM PCs, but the word length actually depends on the computer and programming language you're using). ASCII 7 has become the lowest common denominator of the Internet or, in other words, the standard of transmission you can expect from most equipment on it. How do you send binary files on a system geared for text? See the Internet chapter!

ASCII (pronounced "ask-ee") is short for American Standard Code for Information Interchange, an internationally agreed standard (laid down by the American National Standards Institute-ANSI) which gives each character of the alphabet a number, translated by other equipment according to what country it thinks it's in. For example, the £ character is allocated the ASCII number 156. When a British printer receives the number, it prints the £ sign. You would get a # symbol in another country.

"Traditional ASCII" defined 128 characters, and only 7 bits were used for each one. The characters didn't actually start till well down the list, as the first few were used as control characters, like LF for Line Feed. Extended ASCII kept the original 128 and added 128 more, using up the eighth bit, to give you line drawing, foreign characters, etc. In fact, the first 32 are used as control characters, that determine how the computer is used, and are not displayable.

Because it is a common standard, the ASCII code is useful as a bridge between programs that want to exchange information, in the same way as Rich Text Format, but without frills. See also Protocols, as there are things you must know before you start sending ASCII files all over the place.

EBCDIC, or Extended Binary Coded Decimal, is an 8-bit code used by IBM, with many variations.



About Hard Disks
Hard disks were originally called Winchester drives, after one that IBM made for mainframes, which had 30 Mb fixed and 30 removable, after the Winchester 30-30 caliber rifle.

The first PC to support them properly was the PC/XT (eXtended Technology) in 1983. Previously, hard drives came as external devices with their own adapter card and power supply, as the BIOS and the power supply on the PC could not cope with them, and only then after DOS could handle subdirectories (in version 2). The hard disk controller in the XT was created by Xebec, which contained the extra code that wasn't already in the System BIOS, which is why you had to use a debug script at C800 to access it.

The IBM AT (Advanced Technology) had hard disk support in the BIOS, together with more IRQs, etc to play with, and a CMOS chip backed up with a battery to remember it all. The "support", however was a few standard hard drive types, and you had to go back to a ROM on the controller if you wanted something else. The original types are still in there somewhere, although there are now well over 40 to choose from, plus those you can add yourself. Since a ROM cannot be changed, the additional types are kept in a small amount of memory set aside for the purpose.

DOS, meanwhile, was still unable to support partitions greater than 32 Mb, because of the way sectors were numbered; there could not be more than 65,536, as they were 16-bit values. Neither did it know anything about extended partitions before v3.3, so you couldn't even split a large drive up!

As talking to the controller can be quite tedious, the BIOS contains a subroutine at INT 13 that can be accessed to do the job. DOS itself has routines for file management, as well (INT 25/26, etc), so applications call the DOS INTs, which in turn rope in the BIOS to help. Inside a hard disk, each solid platter is mounted on a spindle and covered in a magnetic substance, with its own read/write head. All of them move at once when data is requested, giving the quickest possible response. The most common speed is 3600 RPM, but many high performance drives increase this up to 4500, 5400, 6300 or 7200.

Read/write heads are not in contact with the drive surface, as they are with floppy drives. On a hard disk, they actually float a couple of thousandths of an inch above it. As the gap between the recording head and the surface is so small, you can imagine the problems if dust or other contaminants were to get in. This is why hard disks are sealed-a good reason for not undoing them, although they still work with the top off. When the power is off on older drives, the head will rest on the surface, with obvious dangers when the computer is moved. Unfortunately, similar dangers arise when the computer is switched on, since the flow of power moves the head slightly to the right, scraping the recording medium as it does so.

To protect your data, and prolong hard disk life, it's a good idea to park the heads in a neutral area whenever the computer is switched off, so the above problems are not so apparent. This won't stop the head from scraping the surface, but at least it will do so in a safe place!

However, modern hard disk designs have the head mounted on a solenoid which is designed to spring upwards when power is turned off, so parking the heads is not so important, and may even confuse the issue. In fact, some manufacturers recommend that you don't park the heads on such drives, as the movement towards the safe area causes damage to the physical stops that prevent the head moving too far.



Dead Hard Drives
The days of reconstructing broken files with a sector editor are long gone.  I used to feel quite comfortable putting WordStar or dBase files together with Norton Utilities, but you canít do that with Office 97, so the best way out of trouble is not to get into it,  you must always have backups!

However, in case they don't work: 

Is the drive seen by your computer? 

Using the auto-detection in the BIOS will at least tell you if the machine is talking to it, but even then you may not be successful. Although manufacturers say you can use any parameters for a hard drive, up to the maximum sectors available, in practice they do like their own, as supplied by the maker. Very often, you will find a drive has been setup in a machine with any old figures and the partition on the hard drive is invisible. The quick way round this is to get your favorite sector editor and inspect the partition table. If you add 2 to the cylinder count and 1 to the heads, you will find the parameters the drive was set up with previously. All you need to do is insert those into the CMOS and you should be fine.

Does the drive spin up when power is applied? 

A C: drive error message can mean low power, so check the power supply. Seagate drives need plus or minus .15 of a volt to operate properly.

A clicking sound is quite serious, as it involves the mechanism inside, but you could try getting a circuit board from an identical drive and replacing it. IBM drives, especially portable ones, are especially prone to fuses blowing, and you can replace them with something cheap from Radio Shack. They are little black blocks right next to the power connector.



The Universal Serial Bus is a standard replacement for the antiquated connectors on the back of the average PC; computers will likely come with two USB ports as standard. It actually behaves more like a network, since one host (e.g. a PC) can support up to 127 devices, daisy chained to each other, or connected in a star topology from a hub, but this depends on the bandwidth you need. Each device can only access up to about 6 Mbps, at varying speeds to stop any one hogging the bandwidth, so Firewire (below) is a better choice for higher throughput, like DVD. A hub will have one input connector, from the host or an upstream device, and multiple downstream connectors. Otherwise, each device will have an upstream and downstream connection. The maximum distance from one device to another is 5m, and the last device must be terminated. There are three types of device:

? Low power, bus powered (100 mA).
? High power, bus powered (500 mA).
? Self powered, but may use bus power when in power save mode.

The bus complies with Plug and Play, so devices are hot-swappable, as they register automatically with the host when connected. More technically, USB is an external 4-wire serial bus with two 90 ohm twisted pairs in a token-based star network. Two lines carry signals based on Differential Manchester NRZI, one being for ground, and the other +5v. Zero/half amplitude pulses are used for control. Transmission speed is either 12Mbps with shielded wire or 1.5Mbps for unshielded. Data packets are up to 1023 bits in size, with an 8 bit synch pattern at the start of each frame.

A 1000msec frame is used, whose usage is allocated by the USB controller based on information provided by devices when logging in, which ensures that they all get bandwidth, and frequently. The controller sends data packets to the USB, from where the targeted device responds. A packet can either contain data or device control signals; the latter go one way only. When the transaction is complete, the next one in the transfer queue is executed. If more than one millisecond is needed, an extra transaction request is placed in the transfer queue for another time frame.

There is backward compatibility with ISA BIOS Code. The USB software is too much for an EPROM, so some space in the BIOS is used as well, because access to it is needed anyway (during POST, etc) for USB devices. Windows '98 has more robust USB support. Low end USB chipsets have problems switching device speeds and have signal synchronization problems. Cheap cables don't help. USB 2.0 is set to increase the data throughout to at least 120 M/bits per second, possibly higher than 240.



A similar idea to USB, but faster, originally developed by Apple, and now called IEEE 1394, or even HPSB (High performance Serial Bus). It clocks in at a minimum speed of 100 Mbps, going up to somewhere near 400. Because it also guarantees bandwidth, isochronous data, that is, needing consistency to be effective, like digital video, can be transferred properly.

There are two more connections than USB, and it only supports up to 63 devices of varying speeds on the bus. It is also complex and expensive, and could be an alternative to SCSI for hard disks, etc.


"The BIOS Companion" Home Page

Back to Articles

Weekly Tweaks Archive


Deleting Temporary Files Painlessly

Updated 02/27/12

© 2012 Trish's Escape from Hardware Hell -- Privacy Statement