Customer Support From Goldkist

[Welcome | Drivers | Jumper Settings | Suggestions ]


Q. How do I pick the right processor?

Q. How do I tell how big/fast my SIMMs are?

Q. What speed SIMMs do I need?

Q. What are "single-sided" and "double-sided" 72-pin SIMMs?

Q. How do I get a system with Parity support?

Q. Can I use Mac or PS/2 SIMMs in my PC?

Q. What do wait states and burst rates in my BIOS mean?

Q. Cache terminology, what does it mean?

Q. How do I upgrade the size of my cache?

Q. How fast do my cache RAMs have to be?

Q. Which is better, ISA/EISA/VLB/PCI/etc ?

Q. What does the "chip set" do?

Q. How do I enter the CMOS configuration menu?

Q. What is bus mastering and how do I know if I have it?

Q. Can I put an ISA cards in EISA or VLB slots?

Q. How should I configure ISA/VLB cards in the EISA config utility?

Q. What is the difference between EISA Standard and Enhanced modes?

Q. Why is my PC's clock so inaccurate?

Q. How can I automatically set my PC's clock to the correct time?

Q. What is the battery for and how do I replace it?

Q. Can I use IRQ2 or is it special?

Q. How can I tell if I have MFM/RLL/ESDI/IDE/SCSI?

Q. Do caching controllers really help?

Q. Why a multi-tasking operating system?

Q. you have talked about things like Unix, OS/2 and Windows NT, *** but what about DOS and MS-Windows?

Q. So, when would you ever want to buy a caching controller?

Q. Do IDE controllers use DMA? ADAD

Q. Why won't my two IDE drives work together?

Q. Which is better, VLB or ISA IDE?

Q. Tuning Your Harddisk ?

Q. How do I install a second controller?

Q. Which is better, SCSI or IDE?

Q. How am I suppose to terminate the SCSI bus?

Q. Can I share SCSI devices between computers?

Q. How do I swap A: and B:?

Q. My floppy drive doesn't work and the light remains on, why?

Q. Should I buy an internal or external modem?

Q. What do all of the modem terms mean?

Q. Why does my fast modem connect at a lower speed?

Q. How does the keyboard interface work?

Q. What is the CMOS/jumper setting for my hard drive?

Q. Can I use two video cards in the same system?

Q. What is 24 bit color/true color?

Q. What is the black horizontal line on my monitor?

Q. Do I need a CPU fan / heat sink?

Q. How does the front panel LED display measure the system's speed?

Q. Should I turn my computer/monitor off?

Q. Are there any manufacturers/distributers who read the net?

Q. What is Plug and Play?

Q. What size should I set my DOS partitions to be?

Q. How do I get DOS to letter my devices the way I want?

Q. Why won't my system boot from the hard drive?

Q. How do I clean my computer?

Q. Why doesn't my new device work as fast as it should?

Some others prombles in which you derectly calledup to the H/W ENG.That prombles are very simple and you can also solve it .That type of prombles are mentioned below:-

Q. Drive not ready ?

Q. Invaid media type drive ‘A’?

Q. Missing operating system ?

Q. KBD error or KBD is not working fine?

Q. System is not booted from drive ‘c’?

Q. Access denied the files & directory ?

Q. How do you connect the CDROM drive?

Q. How do you load ALICAT Card driver in your PC?

Q. How do you load the WIN95 or WIN97 in your PC?

 

How do I pick the right processor?

This is a hard question. You have tradeoffs between price, performance, compatibility, upgradebility, and power consumption.

The frequency of the CPU defines how fast its internal clock runs. This defines how fast instructions are executed. In many ways, this is meaningless, because a RISC machine (MIPS) running at 100MHz may in reality be slower than a 50Mhz i486 because a RISC system must execute more instructions to perform the same function (in some cases). Even when comparing processors in the same family, this info can be misleading. For example, an Intel486-25 is faster than an AMD386-40, since the 486 has microarchitectural advancements over the 386. The same can be said for the Pentium, where a 66Mhz Pentium is twice as fast as a 66MHz 486.

For compatibility, keep in mind that the Intel parts are the basis for all of these processors. Therefore you always run the risk that an imitator's part may not be compatible.

As far as upgradability goes, this depends on both your motherboard and the processor. If you purchase a 486DX, then you can upgrade to a DX2 and double your internal clock simply by buying an overdrive chip if your motherboard has the ZIF socket. If it doesn't then you can replace the CPU with a DX2. Many new 486 motherboards contain overdrive sockets for the Pentium chip that is pin compatible.

 

 

How do I tell how big/fast my SIMMs are?

Individual DRAMs are marked with their speed after they are tested. The mark is usually a suffix to the part number, representing tens of nanoseconds. Thus, a 511024-7 on a SIMM is very likely a 70 ns DRAM. (vendor numbering scheme table to be added)

 

 

What speed SIMMs do I need?

There is no reliable formula for deriving the required RAM speed from the clock rate or wait states on the motherboard. Do not buy a motherboard that doesn't come with a manual that clearly specifies what speed SIMMs are required at each clock rate. You can always substitute *faster* SIMMs for the ones that were called out in the manual. If you are investing in a substantial quantity of RAM, consider buying faster than you need on the chance you can keep it when you get a faster CPU.

That said, most 25 MHz and slower motherboards work fine with 80 ns parts, most 33 MHz boards and some 40 MHz boards were designed for 70 ns parts, and some 40 MHz boards and everything faster require 60 ns or faster. Some motherboards allow programming extra wait states to allow for slower parts, but some of these designs do not really relax all the critical timing requirements by doing that. It's much safer to use DRAMs that are fast enough for the no-wait or one-wait cycles at the top end of the motherboard's capabilities.

 

 

What are "single-sided" and "double-sided" 72-pin SIMMs?

All 72-pin SIMMs are 32 bits wide (36 with parity), but double-sided SIMMs have four RAS (Row Address Strobe) lines instead of two. This can be thought of as two single-sided SIMMs wired in parallel. But since there is only one set of data lines, you can only access one "side" at a time. Usually, 1Mb, 4Mb, and 16Mb 72-pin SIMMs are single-sided, and 2Mb, 8Mb, and 32Mb SIMMs are double-sided. This only refers to how the chips are wired-- SIMMs that are electrically "single-sided" may have chips on both sides of the board. Most 486 motherboards use memory in banks of 32 bits (plus parity), and may treat a double-sided SIMM as "two banks" (see your motherboard's manual for details). Some can take four SIMMs if they're single-sided, but only two if they're double-sided. Others can take four of either type. Pentium (and some 486) motherboards use pairs of 72-pin SIMMs for 64-bit memory. Since double-sided SIMMs can only access 32 bits at a time, you still need to use them in pairs to make 64 bits.

 

 

How do I get a system with parity support?

Once you've decided you want a computer that supports parity error detection, you will find that nearly all mainstream mail order systems are not available with it. Here are a few approaches that work.

Buy a corporate or server system advertised with parity support. Dell Optiplex, HP Vectra, and others are available, but usually at a "corporate" priced premium of $600 or so.

Buy from a local system builder who will provide parity support.

Purchase a system with parity support but without parity SIMMs. All intel Neptune based P5 computers have such support. Then swap out the non-parity SIMMs after replacing them with parity simms you purchased from one of the many memory vendors. Then the non-parity SIMMs can be either sold to vendors who resell, or put in a game system you may have hanging around.

 

 

Can I use Mac or PS/2 SIMMs in my PC?

Yes, just about all SIMMs are compatible, be they from another personal computer, a mainframe, or even a laser printer, though are a few some odd systems out there. There are three significant issues: speed, parity and number of pins (data width). Speed is obvious, check the rating, ie: 70ns, to make sure they meet the minimum requirements of your system. Parity either exists or doesn't exist and can be identified by an extra bit per byte, ie: 9 bits or 36 bits. If your system does not require parity, you can still use SIMMs with parity. If, however, your system does require parity, you can't use SIMMs without parity. For this case, many PC's have an option to disable the parity requirement via a jumper or BIOS setting; refer to your motherboard manual. The final issue is the number of pins on the SIMM; the two most common are 30 pins (8 or 9 bit SIMMs) and 72 pins (32 or 36 bit SIMMs); the second is physically larger thus the one can not be used in the other. A few motherboards have both types of sockets.

 

 

What do wait states and burst rates in my BIOS mean?

Modern motherboards are equipped with variable clocks and features for tuning board performance at each speed. The BIOS knows how to program the register bits which control these options.

  1. Wait states may be adjustable to allow for slower DRAMs or cache RAMs. If you don't have a motherboard manual, or it doesn't say, then you will just have to experiment.
  2. Sometimes a wait or two on a write is required with write-through cache. The programming allows for slower DRAMs. The extra wait state may cost you enough time that you would do better running at a slower clock rate where the wait state is not required.
  3. Burst rates refer to the number of wait states inserted for each longword access in the cache fill cycle.

These numbers refer to the number of clock cycles for each access of a "burst mode" memory read. The fastest a 486 can access memory is 2 clock cycles for the first word and 1 cycle for each subsequent word, so "2-1-1-1" corresponds to "zero wait states." Anything else is slower.

How fast you can go depends on the external clock speed of your CPU, the access time of your cache SRAMs, and the design of the cache controller. It can also be affected by the amount of cache equipped, since "x-1-1-1" is generally dependent on having 2 banks of cache SRAMs so that the accesses can be interleaved. With a 50MHz bus (486DX-50), few motherboards can manage "2-1-1-1" no matter how fast the SRAMs are. At 33MHz or less (486DX-33, 486DX2-66), many motherboards can achieve "2-1-1-1" if the cache SRAMs are fast enough and there are 2 banks equipped (cache sizes of 64KB or 256KB, typically).

 

 

Cache terminology, what does it mean?

Why cache improves performance ------------------------------ Today's microprocessors ("uPs") need a faster memory than can be made with economical DRAMs. So we provide a fast SRAM buffer between the DRAM and the uP. The most popular way to set it up is by constructing a "direct mapped cache," which is the only setup I'll describe here.

Generic motherboard cache architecture -------------------------------------- The direct mapped cache has three big features: 1. a "data store" made with fast SRAMs, 2 a "tag store" made with even faster SRAMs, and 3. a comparator.

The data store is the chunk of RAM you see in the motherboard price lists. It holds "blocks" or "lines" of data recently used by the CPU. Lines are almost always 16 bytes. The address feeding the cache is simply the least significant part of the address feeding main memory. Each memory location can be cached in only one location in the data store.

There are two "policies" for managing the data store. Under the "write-back" (or "copy-back") policy, the master copy of the data is in cache, and main memory locations may be "stale" at times. Under "write-through", writes go immediately to main memory as well as to cache and memory is never "stale."

The tag store mantains one "word" of information about each line of data in the data store. In a "write-back" or "copy-back" cache, the tag word contains two items: 1. the part of the main memory address that was *not* fed to the data store, and 2. a "dirty" bit.

A write-through cache doesn't need a dirty bit. The tag store is addressed with the most significant address bits that are being fed to the data store. The tag is only concerned with the address bits that are used to select a line. With a 16 byte line, address bits 0 through 3 are irrelevant to the tag.

An example: The motherboard has 32 MB main memory and 256 KB cache. To specify a byte in main memory, 25 bits of address are required: A0 through A24. To specify a byte in data store, 18 bits (A0 through A17) are required. Lines in cache are 16 bytes on 16 byte boundaries, so only A3 through A17 are required to specify a line. The tag word for this system would represent A18 through A24 (plus dirty bit). The tag store in this system would be addressed by A3 through A17, therefore the tag store would require 16 K tag words seven bits wide. The dirty bit is written at different times than the rest of the tag, so it might be housed separately, and this tag store might be built in three 16K x4 SRAMs.

What happens when it runs ------------------------- Each motherboard memory cycle begins when the uP puts out a memory address. The data store begins fetching, and simultaneously the tag begins fetching. When the tag word is ready, the Comparator compares the tag word to the current address.

If they match, a cache hit is declared and the uP reads or writes the data store location. If the hit is a write, the copy-back cache marks the line "dirty" by setting its dirty-bit in the line's tag word. The write-through motherboard simultaneously stores the write data in data store and begins a DRAM write cycle. The uP moves on.

If the tag word doesn't match, what a bummer, it's a cache miss. If the line in cache is dirty, double bummer, the line must be copied back to main memory before anything else can happen. All 16 bytes are copied back, even if the hit was a one-byte write. This data transfer is called a "dirty write flush."

On a read-miss, the motherboard has to copy a line from main memory to cache (and update the tag, the whole operation is called a "cache fill"), and the uP can stop waiting as soon as the bytes it wants go by. On a write-miss, the caches I've worked with ignore the event (that's an oversimplification) and the main memory performs a write cycle. I've heard of systems that fill on a write-miss, that is they replace the cache line whenever it misses, read or write, dirty or not. I've never seen such a system.

Terms ----- The 486, the 68020, and their descendants have caches on chip. We call the on-chip cache "primary" and the cache on the motherboard "secondary." The 386 has no cache, therefore the cache on a 386 motherboard is "primary." I like to call the DRAM array "core" for brevity. Motherboard = "mb." Megabyte = "MB."

Problems -------- I added "core" and I had to disable my secondary cache to get the board running. Or, I added core and performance took a dive. Disabling secondary cache improved it, but still real slow. What happened?

Whenever you are adding memory and you cross a power-of-2 address boundary, another address bit becomes interesting to the tag. That is, the tag does not care when you add your 8th MB (MB) but it cares a lot about the new address bit 24 when you add your 9th MB, or your 17th (bit 25). Evidently, at the low-price end of the mb market there are boards with not enough tag RAM sockets to support all the core they can hold. Most of these EL CHEAPO mbs don't even try to use cache in the region beyond the tag's coverage. Some of them don't have the logic to stay out or the BIOS doesn't know to enable it. These boards just don't run right.

Do not buy a mb if you are not sure it can cache all of core. The worst case is with core fully stuffed with whatever the board claims to hold, and the smallest cache configuration. Some motherboards ask you to add cache when you add core, so that they don't have to provide for that worst case tag width. These motherboards may ask you to move some jumpers in the tag area. The jumpers control which address bits the tag looks at. Do not buy a motherboard if you don't know how to set all the jumpers.

 

 

How do I upgrade the size of my cache?

Look in your motherboard manual. Each motherboard is different. You will have to add or replace cache RAMs and move jumpers.

 

 

How fast do my cache RAMs have to be?

 Only the person who designed your mb knows for sure. There is no simple formula related to clock rate. However, most people tell me their 33 MHz mbs' manuals call for 25 ns data store and 20 ns tag store, and their 40 and 50 MHz mbs want 20 ns data store and 15 or 12 ns tag. Tqhe tag has to be faster than data store to make time for the comparator to work. Do not buy a motherboard if you do not know what speed and size of cache RAMs it requires in all its speeds and configurations.

If you're not sure, it doesn't hurt to use faster RAMs than your manual calls for. If your manual says 20 ns for location x and you happen to have 15 ns parts, it's ok to "mix" the speeds. It's ok to "mix" RAMs from more than one manufacturer. However, the faster RAMs will not buy you more performance.

 

.

Which is better, ISA/EISA/VLB/PCI/etc ?

Here is a quick overview of the various bus architectures available for the PC and some of the strengths and weaknesses of each. Some terms are described in more detail at the bottom.

XT bus: 8 data bits, 20 address bits 4.77 MHz Comments: Obsolete, very similar to ISA bus, many XT cards will work in ISA slots.

ISA bus: Industry Standard Architecture bus (aka. AT bus) 8/16 data bits, 24 address bits (16Meg addressable) 8-8.33MHz, asynchronous 5.55M/s burst bus master support edge triggered TTL interrupts (IRQs) - no sharing low cost Comments: ideal for low to mid bandwidth cards, though lack of IRQs can quickly become annoying.

MCA bus: Micro Channel Architecture bus 16/32 data bit, 32 address bits 80M/s burst, synchronous full bus master capability good bus arbitration auto configurable IBM proprietary (not ISA/EISA/VLB compatible) Comments: Since MCA was proprietary, EISA was formed to compete with it. EISA gained much more acceptance; MCA is all but dead.

EISA bus: Enhanced Industry Standard Architecture bus 32 data bits, 32 address bits 8-8.33MHz, synchronous 32M/s burst (sustained) full bus master capability good bus arbitration auto configurable sharable IRQs, DMA channels backward compatible with ISA some acceptance outside of the PC architecture high cost Comments: EISA is great for high bandwidth bus mastering cards such as SCSI host adaptors, but its high cost limits its usefulness for other types of cards.

P-EISA: Pragmatic EISA (also Super-ISA)

VLB: VESA Local Bus 32 data bits, 32 address bits 25-40MHz, asynchronous 130M/s burst (sustained is closer to 32M/s) bus master capability will coexist with ISA/EISA slot limited to 2 or 3 cards typical backward compatible with ISA moderate cost Comments: VLB is great for video cards, but its lack of a good bus arbiter limits its usefulness for bus mastering cards and its moderate cost limits its usefulness for low to mid bandwidth cards. Since it can coexist with EISA/ISA, a combination of all three types of cards usually works best.

PCI: Peripheral Component Interconnect local bus 32 data bits (64 bit option), 32 address bits (64 bit option) up to 33MHz, synchronous (upto 66MHz PCI 2.1 option) 132M/s burst at 33MHz (sustained) (264M/s with 64 bit option) full bus master capability good bus arbitration slot limited to 3 or 4 cards typical auto configurable will coexist with ISA/EISA/MCA as well as another PCI bus strong acceptance outside of the PC architecture support for 5V and 3.3V peripheral cards moderate cost Comments: The newest of the buses, combining the speed of VLB with the advanced arbitration of EISA. Great for both video cards and bus mastering SCSI/network cards. Notes: 64 bit option was defined in the original PCI 2.0 spec. 66MHz operation is an option of the PCI 2.1 spec and is only available for the 3.3V PCI bus. PCI 2.1 compliance does NOT imply 66MHz operation.

=Terms=

Auto configurable: Allows software to identify the board's requirements and resolve any potential resource conflicts (IRQ/DMA/address/BIOS/etc).

Bus master support: Capable of First Party DMA transfers.

Full bus master capability: Can support any First Party cycle from any device, including another CPU.

Good bus arbitration: Fair bus access during conflicts, no need to back off unless another device needs the bus. This prevents CPU starvation while allowing a single device to use 100% of the available bandwidth. Other buses let a card hold the bus until it decides to release it and attempts to prevent starvation by having an active card voluntarily release the bus periodically ("bus on time") and remain off the bus for a period of time ("bus off time") to give other devices, including the CPU, a chance even if they don't want it.

16Meg addressable: This limits first party DMA transfers to the lower 16 Meg of address space. There are various software methods to overcome this problem when more than 16 Megs of main memory are available. This has no effect on the ability of the processor to reach all of main memory.

Backward compatible with ISA: Allows you to place an ISA card in the slot of a more advanced bus. Note, however, that the ISA card does not get any benefit from being in an advanced slot, instead, the slot reverts to an ISA slot. Other slots are unaffected.

 

 

What does the "chip set" do?

The motherboard "chip set" contains all the logic that's not in the microprocessor ("uP") and its coprocessor, or the memory. These functions always include: * Address decoding and "memory mapping" * keyboard interface controller (which includes reset generator) * Direct Memory Access (DMA) channels * interrupt controller * bus controller(s) * battery-powered "real time" clock/calendar circuit * crystal-controlled clock oscillator(s) * main memory controller They almost always include: * controller for cache external to the uP * "turbo" switch logic * programmable "wait state" logic

and some of them include: * controller(s) for PCMCIA slots * "green" power-conservation logic * video display logic for CRT, LCD, or both * serial ports, parallel ports, floppy, SCSI and/or IDE, etc. controllers * network interface controllers (for Ethernet)

Some people consider the BIOS ROM part of the "chip set."

Sometimes part of an EISA or VLB bus controller is implemented in an optional, socketed integrated circuit. A motherboard like that can be sold with the socket empty, and you have to go back and buy the "bus mastering option" later when you find out you need it.

"Chip sets" are usually a set of highly integrated, special purpose integrated circuits. The keyboard interface controller is usually in a 40-pin dual-inline pin (DIP) package compatible with the Intel 8048 single-chip microcomputer which was used for that function in the IBMPC-AT. The rest of the logic often fits in a single IC. In the trade, you may see this single IC referred to as "the chipset," even though the keyboard interface and other logic is external. The Asian data sheets often call the high-integration chips "LSIs."

The word "ChipSet" is a trademark of Chips and Technologies Inc. (San Jose, California), which introduced a 5-chip set of LSIs for AT-clone motherboards in early 1985. CTI may also own "chipset" and "Chipset"; I don't know. CTI was very successful at promoting the term "ChipSet," but less successful at associating it in the public mind with their particular brand. People use the word to refer to any high integration chip used in PCs. For example, you'll hear people talk about the "ET4000 video chipset." The ET4000 is a single chip which integrates most of an SVGA controller. The word "ASIC" (application-specific integrated circuit) would be more appropriate.

Single, high-integration ICs are not very good at driving heavily loaded signals, like the ones in the memory array and the expansion slots. Better motherboards use buffer chips external to the LSI for this electrical function. It may not show up in "WinMark" comparisons, but it shows in electrical compatibility. Well-buffered motherboards are less likely to require SIMM "cherry-picking," and are more likely to work at high ambient temperatures. The 74F245, which costs about 15 cents in high volume, is often used for this electrical buffering.

 

 

How do I enter the CMOS configuration menu?

AMI BIOS Del key during the POST

Award BIOS Ctrl-Alt-Esc

DTK BIOS Esc key during the POST

IBM PS/2 BIOS Ctrl-Alt-Ins after Ctrl-Alt-Del

Phoenix BIOS Ctrl-Alt-Esc or Ctrl-Alt-S

Some 286 machines don't have a CMOS configuration menu in the BIOS. They require a software CMOS setup program.

 

 

What is bus mastering and how do I know if I have it?

Bus mastering is the ability of an expansion (ISA/EISA/VLB/MCA/etc) card to directly read and write to main memory. This allows the CPU do delegate I/O work out to the cards, freeing it to do other things. For all of the above busses, bus mastering capability is assumed. Unless specifically stated otherwise, you should assume each slot has this capability. For cards, this is not assumed. If you want a bus mastering card, you should specifically request it and expect to pay more. Note that some cards (RLL/MFM/IDE/com) are not available in bus mastering versions.

 

 

Can I put an ISA cards in EISA or VLB slots?

Yes, you can put ISA cards in both EISA slots and VLB slots, as both buses were specifically designed to be 100% ISA compatible. ISA cards will not directly effect the performance of EISA/VLB cards; a well balanced system will have both. Note, however, that the total bandwidth of the bus will be split between all cards, so there is a strong advantage to using EISA/VLB cards for the high bandwidth devices (disk/video).

 

 

How should I configure ISA/VLB cards in the EISA config utility?

Only EISA cards matter in the ECU; ISA and VLB entries are only place markers. While this is a good way to keep track of IRQ, DMA and BIOS conflictions, ISA and VLB need not be placed in the configuration at all, nor should it be assumed that the settings for them match the actual card settings. If you wish to add them, you can use the "Generic ISA Card" configuration file for either. Do not expect card vendors to supply them.

 

 

What is the difference between EISA Standard and Enhanced modes?

Many EISA cards support both Standard (ISA) and Enhanced (EISA) modes. In Standard mode, the card will appear to be an ISA card to the OS; it will generate edge triggered interrupts and only accept ISA addressing (for bus mastering cards), for instance. An important thing to note is that the card may still do EISA specific things like 32-bit data bus mastering and EISA configuration setup as this functionality is hidden from the OS.

 

 

Why is my PC's clock so inaccurate?

Usually this means that the clock crystal is not adjusted properly, or that it needs a new battery. The interrupt-based "DOS time" can also be affected by programs that disable interrupts for too long. If your clock is just running at the wrong speed, you can compensate for it in software by measuring the drift rate and applying a correction factor. In the long run, this can be *very* accurate. One such program for DOS is adclk100.zip. An alternative is to run a program that periodically sets your clock to another one that's known to be accurate (see the question on setting your clock). If your clock is more erratic (eg, it stops when the machine is turned off, or the date gets scrambled), try replacing the battery (but remember to write down your CMOS settings first!). The CMOS RAM takes considerably less power than the clock, so it may keep working even though the battery is too weak to run the clock (see the question on replacing the battery for details). A typical cheap quartz watch is rated at +/- 15 sec per month (3 minutes per year) which is about 5.7 ppm (parts per million). Dallas Semiconductor rates their encapsulated clock modules for +/- 1 min per month, or 22.8 ppm. Clocks with external crystals can be "fine-tuned" with a trimmer capacitor-- if the motherboard designer included one (Note: there may be more than one crystal on the motherboard). The crystal's frequency will change slightly over time as the crystal "ages". The original IBM AT used the Motorola MC146818, which is a real-time clock plus 50 bytes of CMOS RAM. This chip is discussed in the book "The Undocumented PC", from Addison-Welsey. The Dallas Semiconductor DS1285 is a drop-in replacement for the MC146818, and the DS1287 is the same chip encapsulated with its own battery and clock crystal. Other variants include larger amounts of CMOS RAM. Most software accesses the clock through the BIOS. Before the AT, there were various types of aftermarket clock cards, and some of them may still be available (even though every PC sold in the last several years "already has a clock"). Given the number of times this comes up on the net, there should be a market for accurate clock cards. On the other hand, most people don't seem to care whether their computers have anything close to the correct time. If your machine doesn't keep time correctly, and you think it should, you might consider complaining to the manufacturer about it.

 

 

How can I automatically set my PC's clock to the correct time?

If you're on the internet, you can use ntp (network time protocol) to set your clock to another machine that's known to be accurate (see RFC 1129, Internet Time Synchronization). ACTS, the Automated Computer Time Service, is available by modem at (303)494-4774 (note this is NOT a toll-free call). There are programs that will dial this number and set your clock automatically. This service is run by NIST (the National Institute of Standards and Technology, formerly the National Bureau of Standards). In Germany, the Physikalisch-Technische Bundesanstalt (PTB) broadcasts a coded time signal on 77.5 kHz from a transmitter near Frankfurt, and inexpensive receivers are available that can plug into a serial port (this signal should cover most of Europe). In the US, NIST runs a similar station (WWVB) on 60 kHz, but the data is encoded differently and receivers are expensive and hard to find. Other coded time signals are available from WWV and WWVH on 2.5, 5, 10, 15, and 20 MHz (shortwave), and from the GOES and GPS satellites. CHU Canada on 3.33, 7.335, and 14.670 MHz broadcasts time codes using Bell 103 FSK (300 baud modem tones) during seconds 31 through 39 of each minute. If you don't have a shortwave receiver, the WWV audio time announcement can be heard by dialing (303)499-7111 (again, this is NOT a toll-free call). NIST publishes a 30-page booklet (NIST Special Publication 432) that explains all of their time services in detail. They also have a partial list of companies that make receivers, but it appears to be somewhat out of date. Both are available from: NIST/Radio Station WWV 2000 East County Road 58 Fort Collins, CO 80524-9499 You may have heard about Heathkit's "Most Accurate Clock", which decodes the time signal from WWV and has a serial port. Heath no longer sells kits, but they still sell the factory-built version of the clock (it's not cheap, though). Their address is P.O. Box 1288, Benton Harbor, MI 49023.

 

 

What is the battery for and how do I replace it?

 The battery maintains power to the CMOS RAM and the real-time clock when your PC is turned off. You may have a small lithium "coin" battery soldered to the motherboard, or a larger external one plugged into a connector. Some motherboards have a jumper to select either type, and a few have a NiCd battery that recharges automatically, or a lithium battery encapsulated in the clock chip. NOTE: Always write down your CMOS settings before you mess with the battery! In fact, you should write them down now anyway, in case the battery fails later. The batteries that are soldered in or encapsulated with the clock chip are supposed to last 10 years or more, but your mileage may vary. Some people find that the external type has to be replaced every couple of years. Self-recharging NiCds that get power from a disk drive cable are available as aftermarket items. A few people have tried to save money by substituting 4 alkaline AA batteries for the expensive external lithium battery, but they have to be replaced more often. If you need to replace a soldered-in battery, have a repair shop install a socket (you shouldn't attempt this yourself, unless you're experienced at soldering on expensive multi-layer circuit boards). If the battery is encapsulated in the chip, there is no way to replace it without replacing the chip-- again, consult a repair shop if it's not socketed. These chips can be "turned off" via software to extend battery life during storage, and are shipped from the factory that way.

 

 

Can I use IRQ2 or is it special?

IRQ2 is used to cascade the second programmable interrupt controller (PIC) on AT machines. The IRQ2 line on the old XT bus has been renamed to IRQ9. This has one and only one side effect: from a software point of view, IRQ2 = IRQ9. You can freely use IRQ2 on any hardware device, provided you are not already using IRQ9. Your associated software driver can be set to IRQ2 or IRQ9, which ever it happens to prefer. Note that many video cards have an IRQ2 enable jumper for very, very old backward compatibility reasons; you should disable this before attempting to use the IRQ for something else. There are no unexpected side effects.

 

 

How can I tell if I have MFM/RLL/ESDI/IDE/SCSI?

The most reliable way to tell what type of drive you have is to call the manufacturer with the model number and ask.

That aside, the first thing to check is the number of pins on the drive's connector(s). The second thing to check is the CMOS setup, assuming, of course, that it is in a working system.

SCSI = 1 cable: 50 pins (note 1,2) usually set up as "not installed" in the CMOS

IDE = 1 cable: 40 pins no reliable way to tell from the CMOS RLL = 2 cables: 34 pins & 20 pins always has 26 sectors per track

MFM = 2 cables: 34 pins & 20 pins always has 17 sectors per track (note 3)

ESDI = 2 cables: 34 pins & 20 pins (note 4) usually set up as type #1 in the CMOS and auto-configured at boot time

If you've narrowed it down to RLL/MFM or ESDI but it isn't in a working system, there's no easy way to narrow it down any further just by looking at the drive.

 

 

Do caching controllers really help?

The short answer, is that if you are using a multi-tasking operating system with a good memory manager, caching controllers should be ignored. If you are running DOS or Windows, then *maybe* they will help, but I am not sure that they are a good buy.

There are lots of people who have said "I put a caching controller in my computer, and it runs faster!". This is probably true, but they never have measured the speed increase compared to putting the same memory into main memory instead. More importantly, the caching controllers cost more money than non caching controllers, so you should be able to add _more_ main memory instead of buying a caching controller.

 

 

Why a multi-tasking operating system?

A multi-tasking operating system can allow the application to continue immediately after it does a write, and the actual disk write can happen later. This is known as write behind. The operating system can also read several blocks from the file when the application requests just part of the first block. This is known as read ahead. When the application requests the block later on, the block will already be there and the OS can then schedule some more reads.

A multitasking operating system is required because these operations can cause interrupts and processing when control has been given back to the application.

Basically, operating systems such as DOS, MS-Windows, MacOS and such do not allow true preemptive multitasking and can not do the read a heads and the write behinds. For these systems, the latency of a disk drive is the most important thing. The application does not regain control until the read or write has finished.

Yes, this really is a multi-processor system, but multi-processors are not always faster than uni-processors. In particular, multi-processor systems have communication overhead. In this case, you are communicating with the controller using a protocol that is fairly expensive, with outb instructions and interrupts and such. The overhead of communicating with this other processor is greater than the overhead of just checking the cache on main cpu, even if the main cpu is very slow.

The multi-processor aspect just doesn't help out when you are talking about managing a cache. There is just too much communication overhead and too little processing for it to be a win.

 

 

You have talked about things like Unix, OS/2 and Windows NT, *** but what about DOS and MS-Windows?

Well, here things get a lot grayer. First, older versions of DOS have notoriously bad disk cache programs. Since neither DOS nor MS-Windows are preemptive multi-tasking systems, it is much harder to do read ahead. Also, since DOS/MS-Windows users are used to being able to power off their computers at any time, doing write behind is much more dangerous. DOS and MS-Windows also can crash much easier than these other OS's, so people might reboot for many reasons.

Caching controllers usually leave the hard disk light on when they have data that hasn't been written out, and people don't usually power their computer off until that light goes out. This lets the controllers do write behind fairly safely. (But you can still loose power, so this isn't risk free.) They also do crude read a heads by prereading entire tracks.

DOS also runs in real mode and real mode can only access 640K of memory. This mean that a disk cache can be real helpful. Unfortunately, to do a software based disk cache, the cpu has to be switched into protected mode in order to access memory beyond the 640K boundary and then you have to switch back into real mode. Intel, however forgot to make it easy to switch back to real mode. All in all, this switching back and forth ends up being real expensive. This _might_ be more expensive than just using a caching controller, I don't know.

So, it is possible that if you configure DOS to not use a cache, and get a caching controller, then you might be a head. I really don't know much about this area. I have not done any real timings of this.

 

 

So, when would you ever want to buy a caching controller?

The answer is not too often, but there are a few cases that I can think of:

* You have filled up all your SIMM slots on your motherboard and in order to add more memory you would have to throw some out. This is a real shaky reason. You can always sell your old memory, or move it to another computer. The jump from 4 1MB SIMMs to 4 4MB SIMMs is large, but you will be much better off in the long run with more main memory.

* You have maxed out your memory and you need it all for programs and data. If you can't put any more memory on the mother board, then you don't have many choices.

* If you have a bunch of slow (100ns-120ns) memory left over from say a 286 or something and you can't use it on your motherboard because it is too slow, then maybe adding it to a caching controller will help. Be careful however, if your hit rates on the caching controller are too low, then you may be just adding overhead without getting any benefits.

* If you are stuck with a bad OS because that's what your applications run on, then you might be better off with a caching controller.

 

 

Do IDE controllers use DMA? ADAD

No, they do not. This is a rumor that keeps popping up. This may change on the next revision of the standard.

 

 

Why won't my two IDE drives work together?

Assuming that the drives are attached to the same controller and they work properly when attached one-at-a-time, you probably don't have them configured properly for Master/Slave operation.

When operating 2 IDE drives, one must be designated as "Master" and the other as "Slave." There are jumpers on every IDE drive to configure this. Check your hard drive manuals for the jumper settings for your drives. In general, it doesn't matter which is which - just pick one as master, and make the other slave.

In your CMOS configuration, Drive 1 should have the parameters (heads, cylinders, etc.) that match the drive you set as "Master" and Drive 2's parameters should match those of the "slave" drive. In operation, the Master will appear as drive C: and the slave as drive D:.

Because not all hard drive manufacturers follow the IDE specifications closely enough, drives from 2 different manufacturers may not work well together. In this case, changing master -> slave and slave -> master (along with the appropriate CMOS changes) may help. If it doesn't, then trying two drives from the SAME manufacturer is the only avenue you have left.

 

 

Which is better, VLB or ISA IDE?

If a simple answer is what you want, then yes, in general VLB IDE controllers are better than ISA ones. If you are purchasing or putting together a computer, the relatively small price difference makes the choice for a VLB controller a sensible one.

However, if you already have an ISA controller and are wondering whether it's worth upgrading to VLB, it's not that easy. VLB may be faster in principle, the question is if you're going to notice it.

  1. Raw data transfer from the drive platter. To find out what this rate is, you need the spec sheet for your drive. Remember that it is dependent on the cylinder, so a single drive can give different results depending on where on the drive you're testing. Anyway, this transfer rate is 1 to 2 MB/s on most IDE drives, depending on data density and rotational speed.
  2. The data has to be digested by the drive's onboard controller, which not only mediates between the drive hardware and the IDE bus, but also manages the buffer cache. Let's hope it's both fast and intelligent (not always the case *sigh*).
  3. Data transfer over the IDE/ATA bus (2-3MB/s with standard timing). The actual speed depends on the timing used; some drives and controllers support faster timing. Enhanced IDE (IDE-2) can transfer up to 11 MB/s.
  4. Transfer from the interface to the CPU (ISA: max 5 Mb/s, VLB: 10-80 MB/s depending on CPU clock, wait states, interface...) A generic IDE interface is usually not able to get the most out of the ISA and IDE bandwidths (3 and 4); a typical upper limit is about 2 MB/s if you use block transfers (see below), 2.5 MB/s if you're willing to push the ISA bus clock a little (more about that later on).

Still, it's clear that on all but the fastest drives the raw data transfer rate to/from the drive platter (1) will determine the maximum performance you're going to get. If you're getting transfer rates near this limit, you can't significantly improve your throughput whatever you do.

 

 

Tuning Your Harddisk ?

Suppose your harddisk throughput is lower than you think is possible with your drive. How can you tune your system to improve hard disk performance? I'll go through points 1-4 again and indicate what you can do to widen up the bottlenecks a little.

  1. Drive platter to head transfer. - Sorry, there's nothing you can do short of getting a new drive.
  2. The drive controller. - Many modern drives understand "block transfer", also known as multi-sector I/O or read/write multiple. Although the newest BIOSes have this feature built in, most of us will have to use a driver. More about that at the end of this section. What is block transfer? Normally, for each sector the computer wants to read from or write to the drive, it has to issue a separate command. When you're transfering 2 MB/s, that means you're sending the drive 4,000 commands each second. Each command has to be issued by the CPU, transferred over the ISA and IDE buses, interpreted and acted upon by the drive's onboard controller. Every such command takes a little time. By using block transfer mode, it is possible to read or write more than one sector (usually 4 to 32) using a single command. This greatly cuts down command overhead, as you can imagine, and may very well have a dramatic effect on a badly performing system. In most cases, it will improve performance by 5-20%. Unfortunately some older drives have inferior support of this feature and actually slow down... or in exceptional cases even hose your data.
  3. The IDE bus. - With most drives you can use faster IDE bus timing, but your interface has to support this. Modern IDE interface chips often have completely programmable timing; these can be exceptionally fast if the software supports this feature and, of course, if the drive can keep up. Some controllers use jumpers to configure timing.
    The last word in IDE bus bandwidth is of course the Enhanced IDE bus, which allows exceedingly fast transfers if both drives and interface support it.
    If you cannot use improved timing with a new VLB interface, the IDE bus will prove to be as much as a bottleneck as the ISA bus was.
    Not all interfaces are created equal, some are better engineered. With the current VLB hype, there's bound to be a friend who has an old (ISA) interface gathering dust; try that one.
  4. The ISA bus. - The official speed of the ISA bus is about 8 MHz, but most cards, especially modern ones, will work fine on 11 MHz or more (some will even take as much as 20 MHz). If you don't mind experimenting, it may be worthwhile to see if your ISA cards run reliably at a higher bus clock. This is especially interesting if your drive nears the 2MB/s mark.

 

 

How do I install a second controller?

The following should solve about 95% (9.5?) of second controller problems, if only to tell you it can't be done! Generic Second Controller Installation:

  1. Normally the MFM/IDE/RLL controller is set up as the primary, and the ESDI/SCSI as the secondary; One reason for this is because the ESDI/SCSI controller cards are usually more flexible in their set up and secondly this method seems to work (probably due to reason one).
  2. Your primary controller is set up using all the normal defaults: - Floppy at primary address(3F0-3F7). - Hard disk enabled, at primary addresses (1F0-1F7), BIOS address C800 and interrupt 14.
  3. Your secondary controller is set up as: - Floppy drives disabled - Hard disk controller enabled, secondary address(170- 177) and interrupt 15. - NOTE: onboard bios set to D400, or D800 can be used, if there is a conflict.
  4. Computer BIOS Setup: - Any drive(s) on the primary controller (MFM/IDE), should be entered in the BIOS setup as usual. - You DO NOT enter the drive types for the hard disks on the secondary controller, even if there are only two drives in the entire system i.e., if one drive on each controller you only enter the drive type of the hard disk on the primary controller -- the 2nd drive type is left as not installed (0). Operating System: If you do the above steps you now have the hardware setup correctly; your only other problem may be with the operating system. Different OSs handle secondary controllers differently; as well, different controllers handles same OSs differently (scared yet?). For example: with DOS you may require a device driver (available from the manufacture or through third party companies, such as Ontrack Computer Systems -- more on Ontrack later). Some flavors of UNIX handle a mixture of controllers better than others (e.g., IA 5.4 had probs mixing ESDI and SCSI controllers under certain conditions). Procedure: You should verify that your secondary controller, and associated hard drives, are working properly (you can try this by installing it as the primary system -- removing existing system first!). Follow above steps 1 to 4, pray, and turn on system! If it still won't work you may need additional drivers. First check with the supplier or manufacture (I know, for example, a DTC ESDI controller comes with the DOS drivers included, and it works perfectly). I am not sure of operating systems supported by Ontrack Data Systems. I know that their DOS driver can assist secondary controllers, even allowing two IDEs to co-exist. Likewise, the drivers can also install virtually any drive, regardless of what is supported by the BIOS. BIG NOTE: The features required in a secondary controller are normally not found on a $30.00 IDE controller. The best thing to do it, if possible, is to get a guarantee from the supplier/manufacture that if it doesn't work (and they can't make it) then they will take it back. Ontrack supplies a complete range of hard disk products and services -- from driver software, data recovery services, to media and data conversions (including tape backups). The product I know them from is DiskManager. Disk Manager is a utility for hard disk management. It will allow you to setup and install virtually any hard disk, regardless of disk's layout and BIOS options available. Disk Manager (version greater than 5.2.X, or there abouts) includes a driver for co-resident controllers. For driver to work the co-res board must be able to hit the above addresses and must be WD1003 AT command set compatible (this includes most IDE and ESDI boards). DM contains a number of features, including full diagnostics. You may not need to know the disk's geometry, as there are numerous layouts stored internally. All you need to do is select the correct model and DM does the rest. To contact Ontrack: U.S. (800)-872-2599; UK 0800-24 39 96 this is either an address or phone number! outside U.K. (but NOT U.S.) 44-81-974 5522

 

 

Which is better, SCSI or IDE?

IDE vs SCSI

Non-issues: 1) SCSI and IDE devices cost approximately the same for the same features (size, speed, access time). Shop around for good prices.

Advantages of IDE: 1) faster response time (low request overhead) 2) hard drive interface is compatible with RLL/MFM/ESDI: any driver for one (including the main system BIOS) will run the other. 3) IDE controllers are considerably cheaper ($150 and up) than SCSI host adapters. 4) Will always be the boot device when mixed with SCSI.

Advantages of SCSI:

  1. Supports up to 7 devices per host adapter. This saves slots, IRQ's, DMA channels and, as you add devices, money.
  2. Supports different types of devices simultaneously the same host adapter (hard drives, tape drives, CDROMs, scanners, etc).
  3. SCSI devices will work in other systems as well (Mac, Sparc, and countless other workstations and mainframes). If you change platforms in the future, you will still be able to use your SCSI devices.
  4. Automatically configures device type, geometry (size), speed and even manufacturer/model number(SCSI-2). No need to look up CMOS settings.
  5. Busmastering DMA (available in all but a few cheap SCSI host adapters) decreases amount of CPU time required to do I/O, leaving more time to work on other tasks (in multitasking OS's only).
  6. Software portability - drivers are written for the host adapter, not the specific device. That is, if you have a CDROM driver for your host adapter, you can purchase any brand or speed SCSI CDROM drive and it will work in your system.
  7. Will coexist with any other type of controller (IDE/RLL/MFM/ESDI) or host adapter (other SCSI cards) without any special tricks. SCSI host adapters do not take up one of the two available hard drive controller port addresses.
  8. greater bandwidth utilization (higher throughput) with multiple devices. Supports pending requests, which allows the system to overlap requests to multiple devices so that one device can be seeking while the second is returning data.
  9. Ability to "share" devices between machines by connecting them to the same SCSI bus. (note: this is considerably more difficult to do than it sounds).
  10. Bridges are available to hook RLL and ESDI drives to your SCSI host adapter. (note: these tend to be prohibitively expensive, though).

Warnings:

  1. With otherwise equal drives, IDE will perform better in DOS due to low command overhead. SCSI, however, will perform better in multitasking OS's (OS/2, Unix, NT, etc). If you see speed comparisons (benchmarks), make sure you know what OS they were run under.
  2. Most benchmarks only test one aspect of your system at a time, not the effect various aspects have on each other. For instance, an IDE drive may get faster throughput but hurt CPU performance during the transfer, so your system may actually run slower. Similar confusions arise when comparing VLB and EISA host adapters.
  3. When comparing two systems, keep in mind that CPU, memory, cache, and bus speed/type will all effect disk performance. If someone gets great I/O performance with a particular controller/drive combination on his Pentium, you should not expect your 386SX-25 to get such I/O performance even with the exact same controller/drive combination.
  4. Similarly sized or even priced drives may not perform equally, even if they're made by the same manufacturer. If you're going to compare two drives, make sure they have the exact same model number. (IDE drives usually have an 'A' and SCSI drives usually have an 'S' appended to their model number).

 

 

How am I suppose to terminate the SCSI bus?

Some basic rules on termination:

    1. The SCSI bus needs exactly two terminators, never more, never less.
    2. Devices on the SCSI bus should form a single chain that can be traced from the device at one end to the device at the other. No 'T's are allowed; stub length should be kept as short as possible.
    3. The device at each end of the (physical) SCSI bus must be terminated, all other devices must be unterminated.
    4. All unused connectors must be placed _between_ the two terminated devices.
    5. The host adapter (controller) is a SCSI device.
    6. Host adapters may have both an internal and external connector; these are tied together internally and should be thought of as an "in" and "out" (though direction has no real meaning). If you have only internal or external devices, the host adapter is terminated otherwise it is not.
    7. SCSI ID's are logical assignments and have nothing to do with where they go on the SCSI bus or if they should be terminated.

Just because your incorrectly terminated system happens to work now, don't count on it continuing to do so. Fix the termination.

 

 

Can I share SCSI devices between computers?

There are two ways to share SCSI devices. The first is removing the device from one SCSI host adapter and placing it on a second. This will always work if the power is off and will usually work with the power on, but for it to be guaranteed to work with the power on, your host adapter must be able to support "hot swaps" - the ability to recover from any errors the removal/addition might cause on the SCSI bus. This ability is most common in RAID systems.

The second way to share SCSI devices is by connecting two SCSI busses together. This is theoretically possible, but difficult in practice, especially when disk drives are on the same SCSI chain. There are a number of resource reservation issues which must be resolved in the OS, including disk caching. Don't expect it to 'just work'.

 

 

How do I swap A: and B: ?

To swap A: and B: drives :

  1. open up your machine to see if look at the cable that interconnects the 2 drives.
  2. if the cable is twisted, there is no problem, just switch the connectors from 1 drive to the other.And change the bios-setup.
  3. if the cable isn't twisted (which is very,very rare), it's a little harder: leave the cables as they are, but change the jumpers on the drive. (this sounds a lot tougher, but it can usually be done without to much hassle. When the cable connecting the 2 drives is just a flat one (like the harddisk cable) then you must play with the jumpers on the drives: Most of the time, there is a jumper with 4 pins, with the following layout: _ |1| |2*3| ---

Where the * is the 4th unnumbered pin. Normally the A: drive will have a jumper on pin 2 & 4 and the B: drive on 1 & 4. Just change these jumpers around, (i.e. new A: 2&4, new B: 1&4) and change the BIOS configuration. 4) Don't panic if it doesn't work, just make sure all cables are conected properly and if that doesn't work just restore everything to its old state. PS. By twisted cable, I mean that between the A: and B: drive, a few wires of the flat cable are turned around.

I have found two ways to do this: I originally switched their positions on the cable attached to the controller, and changed the BIOS to reflect this. I recently got a gsi model 21 controller for my IDE drive, and this controller allows you to specify which drive is A: and B: in software (it lights the LEDs in turn and asks which is A: and which is B:). This did not require a cable change (but I still changed by BIOS).

 

 

My floppy drive doesn't work and the light remains on, why?

If you've played around with the floppy cables at all, chances are you put one of them on backwards. In general, floppy cables aren't keyed to prevent this. Carefully find pin 1 on all floppy drives and the floppy controller and make sure they all line up with pin 1 on the cable.

 

 

Should I buy an internal or external modem?

While low speed modems are often only produced as an internal PC card, most modem manufacturers provide two versions of their higher speed modems:

1: internal ISA bus card, specially designed to work with the standard PC bus. You just plug it in and configure it to use on port.

2: external modem that has to be connected to the serial ports of your PC (com 1-4), using a serial RS232 cable.

In most cases the functionality of these two is equal. There are however some differences in using, maintaining and buying these modems. It is very difficult to give an definite answer as to which one is better, it completely depends on your own situation. Some of the points that are in favor of an external modem are:

* It has lights showing the status of the connection, this can be useful in those (rare) cases that you have problems with the connection.

* It can be used on a wide range of systems. External modems are connected using a RS232 cable, a standard that most computer systems support. So you can as easily use your external modem on a Mac, Amiga or Unix box as on your PC.

* It doesn't consume power inside the PC (it uses a normal net adapter), and doesn't produce any heat inside your PC.

On the other hand the internal modem has also a couple of advantages compared to an external modem: * It is always cheaper, Somewhere in the order of 10% less compared to the same external modem.

* It doesn't need special serial hardware since it has already been integrated on the board, which will make it even more cheaper. So basically if portability of your modem is an issue, you are better of with an external modem. But if you only intend to use the modem with your PC and don't have any power problems, an internal modem is the best choice.

 

 

What do all of the modem terms mean?

A modem (MOdulator-DEModulator) is a device capable of converting digital data from your computer into an analog signal that is suitable for transmission over low band width telephone lines. A modem thus makes it possible to connect two computers over a telephone line and exchange data between them.

Basically a modem picks up the phone, and dails a number. A modem on the other side will pick up the phone and the two modems will negotiate which protocol to use. When they agree the actual transmission of data can begin.

The major feature of a modem is the speed that it can achieve connecting to other modems. This speed is often expressed in baud or bits per second. The first is a feature of the line and specifies how much of the bandwidth of the phone channel is used and is fixed to 2400 baud. A baud is defined as the number of lines changes per second. Bits per second is the actual amount of data transmitted in one second. Most modems are capable of sending more than one bit per line transition by using very intelligent signal modulation techniques. So the bps can be eight times higher compared to trhe baud rate.

The modulation techniques that a modem uses are standarized by the ITU-T ( former CCITT), so that modems of different brands can connect to each other as they use the same modulation schemes. These standards are often incorporated in a protocol definition that is referred to by the letter V followed by a number. The most common protocols are:

V21: (300 baud) V22bis: (2400 baud) V32: (9600 baud) V32bis: (14400 baud)

A modem is often advertised only by its fastest protocol, most of these modems "speak" slower protocols as well.

There are also standards on using data compression by the modem, such as MNP5 and V42bis, and error control protocols (V42 and MNP4). These standards can reduce the transmitted data by a factor four, by using advanced compression techniques.

To give you an idea a how fast fast is in modem technology: V32bis transmits somewhat like 1600 characters per second (that is ~33% of 1 page of text). Transferring a file of 1Mb takes about 12 minutes. Using V42bis can speed up transmission to 4000 characters per second for uncompressed data.

Apart from these standardized protocols there are also faster protocols which are supported by some modem manufacturers. But remember anything faster than 14k4 is *not yet* standarized, and often different manufacturers use their own modulation scheme that allows only their own modems communicate at that speed. The most common high speed protocols are:

V32 terbo (19200 baud) V34 (28800 baud) or Vfast.

The standard for V34 is being worked on, it will be released somewhere in 1994. Some modem manufacturers already sell modems with the (prelimenary) V34 standard. If you are serious about buying a fast modem, upgradability to this standard should be provided by the manufacturer.

When you use your modem it is important to differentiate between command status and connect status of your modem. When you are connected to an another modem everything you send to the modem, will be transmitted to the other modem. In command mode everything you type will be recieved and interpreted by the modem. Command mode allows you to change the default settings for youyr modem.

In command mode it is likely that your modem will respond to the Hayes AT command set. "AT commands" all have prefix AT, and can be used to change the (default) settings of your modem. To check if your modem works, fire up a terminal program (such as kermit), connect to your modem (in kermit c [ENTER]) and issue AT [ENTER], if your modem works it should respond with OK. For a list of all "AT commands" see the manual of your modem, as most AT commands are modem specific.

If you buy a fax-modem, you should pay attention to a couple of things. First the modem must support Class 2 fax commands, furthermore automatic fax mode selection is a big pro. That means if you receive a call the modem is capable of detecting a fax message or a modem connection and act properly (start up a fax receiving program or spawn something like a login process on the connection).

Finally there is no best modem to get, brands and qualities change very fast, as do the prices. If you are interested in buying one, subscribe to the newsgroup comp.dcom.modems, most postings in this group are very brand oriented and you will recognize fast enough which users are satisfied over their modems and which are not.

 

 

Why does my fast modem connect at a lower speed?

For 28.8 modems that connect at lower speeds such as 22, 24 or 26.4, this is perfectly normal. The usable channel capacity of the telephone system with a ideal connection is just over 28.8k. In reality, you'll very rarely see a 28.8k connection so don't expect it. When the two modems connect, they will evaluate the connection quality and pick a corresponding speed. If you have your modem set up correctly, it will retrain every once in a while and increase or decrease your connection speed based on the current line quality.

For modems that connect at considerably lower than expected speeds (such as 2400 for a 9600+ modem), there are two possibilities. The first possibility is that the remote modem can't handle the higher speed. There is nothing you can do about this except call a faster modem. The other possibility is that you have your serial port / comm software set up incorrectly.

When you connect your PC to another machine through modems, there are actually three connections being made: PC1 to modem1, modem1 to modem2 and modem2 to PC2. The speed of the modem (2400,9600,14.4,28.8) is the rate (more or less) at which the modem1 will speak to modem2. The PC to modem connections are based on the speed your COM port is set to. If you set the COM port speed to 2400, the modem to modem speed will drop accordingly. For this reason, you want to set the COM port speed at least as high as the modem to modem speed. In actuality, the modem to modem protocol may support compression and achieve data transfers faster than the connection speed so you want to set your COM port higher than your modem to modem connection. For a 28.8 modem, set the COM port to 38.4k, 57.6k, or 115k. While higher is always (potentially) better, some software/operating systems have trouble with very high COM port speeds, so start with 38.4k and see how it goes.

 

 

How does the keyboard interface work?

The IBM keyboard is connected to the computer through a serial interface similar to a COM port. When you press a key, the keyboard sends a "scan-code" for that key to the computer. When you release the key, the keyboard sends a release code to the computer. If you hold down one key and press and release another key, the computer will receive the scan-code for the held key and a scan and release code for the other key. Since the release code for the held key was not received, the computer knows that the held key was down while the other key was pressed. In this way, the computer can handle the Shift, Alt and Ctrl keys (and any key could work like a shift key, since all keys work alike). The ROM BIOS in the computer buffers the data from the keyboard, translates the scan-codes to ASCII and handles the operation of the shift and lock keys. The keyboard itself also has a small buffer and there is hardware flow-control for preventing overruns. All of this seems simple and quite elegant, but by the time we get to the AT keyboard the details of the implementation are so complicated as to ruin an otherwise ideal keyboard.

The XT keyboard's interface almost captures the above elegance (indeed it is the only elegant thing about the XT, IMHO). The interface uses a 5-pin DIN connector with these signal assignments:

1 CLK/CTS (open-collector) 2 RxD 3 RESET 4 GND 5 +5V

When the keyboard has a byte to send to the computer, it shifts 9 bits out to the data line (RxD) with nine clock pulses on the CLK line. The data format is 1 start bit, followed by 8 data bits. The baud rate is roughly 2000 bits per second and is not precisely defined. Once a byte is completely transmitted, the computer holds the Clear-To-Send (CTS) line low to prevent the keyboard from sending any more bytes until the keyboard interrupt handler reads the current one. Usually a simple 9-bit clearable TTL shift register is used to receive keyboard data. The 9th bit of the shift register is used to drive an open-collector buffer connected to the CTS line. When the start-bit gets all of the way through the shift register, it holds the CTS line low itself. Once the CPU reads the assembled byte, it has only to clear the shift register to release the CTS line and allow another byte to be received. Three TTL chips or a single PAL can implement an entire XT keyboard interface.

The data bytes which the XT sends are also simple. Codes 0-127 are the scan-codes. Codes 128-255 are the release codes- they're the same as the scan codes, but with the high bit set. The XT keyboard has only 84 keys, so not all of the scan-codes are used.

The only problems with the XT keyboard are the lock-status lights (Caps-lock, Scroll-lock and Num-lock) and the key repeat mechanism. The lock-status lights can get out of sync with the computer's idea of which lock keys are activated, but this only happens if someone resets the keyboard by unplugging it temporarily. When you hold a key down long enough, the keyboard starts repeating the scan-code for that key. The release code is still only transmitted once, when the key is released. The problem here is that the delay to the start of the repeats and the repeat rate were made too slow. Of course, the keyboard really doesn't have to handle repeat at all, since the computer knows when keys are pressed and released and has a timer itself. Old XT keyboard TSRs allowed you to adjust the repeat delay and rate by duplicating the key repeat mechanism in the computer.

Once IBM found that it had a nearly perfect keyboard it, of course, decided that it had to be almost completely redesigned for the AT. The keyboard didn't have to be redesigned- there were enough extra scan-codes for the AT's 101 key keyboard and the repeat mechanism could simply have been moved to the BIOS. But no, they had to redesign everything. Sigh.

The AT uses a 5-pin DIN and the PS/2 uses a smaller connector with the same signals:

1 CLK/CTS (open-collector) 2 RxD/TxD/RTS (open-collector) 3 Not connected or Reset 4 GND 5 +5V

Now the interface is bi-directional. When the computer wants to send a byte to the keyboard, it asserts RTS and releases CTS. If you're lucky, the keyboard isn't deciding to transmit at the same time and it responds by giving 10 clock pulses (at about 10000 baud) on the CLK line. The computer shifts a frame out on TxD on rising clock edges. The frame format is now 1 start bit, 8 data bits and 1 odd parity bit. The keyboard takes RTS being held low as the first start bit, and the first data bit should be sent on TxD after the first clock edge is received. Yes, now you need a full UART for the keyboard interface since you have to both transmit and receive and generate and check parity (but it's still not RS-232- that would have been too logical). Why do you need parity checking on a three foot long keyboard cable? Because collisions can occur since the lines are so overloaded with signals with different meanings and parity provides the means for detecting these collisions.

The AT documentation says that pin 3 is "reserved", so the keyboard has to provide its own reset. But on the original AT, pin 3 was still Reset and IBM's own keyboards at that time needed Reset (original AT keyboards won't work on some old clones because of this). Don't ask me... I don't understand why they did this.

The protocol on the keyboard interface is now much more complicated. These bytes are defined: Commands

ED <byte> Set leds depending on byte bit 0 is Scroll lock bit 1 is Num lock bit 2 is Caps lock

EE Echo EE (for testing?) F0 <mode> Select mode 1, 2 or 3 F2 Send keyboard I.D. F3 <byte> Set repeat delay and rate byte is: 0ddbbaaa delay is (dd+1)*250 msec rate is (8+aaa)*2^bb*4 msec

F4 Clear buffer F5 Restore default settings and wait for enable F6 Restore default settings FA Acknowledge FE Error- please retransmit FF Reset keyboard

Status returns

00 Buffer overflow AA Self-test passed F0 <scan-code> Release code FA Acknowledge last command FD Self-test failed FC Self-test failed FE Last command in error; re-send E0 scan/release code Extended keys in Mode 2

The computer and keyboard must acknowledge each command and key code with either FA if there was no error, or FE if the last command/key-code should be re-sent. There are three modes of operation for the keyboard, depending on which scan code assignments you want (these can often be set by a switch on the back of keyboard, except that if mode 1 is selected from the switch, the protocol is eliminated an the keyboard works exactly like an original XT keyboard- newer keyboards only support modes 1 and 3). In mode 1, the keyboard gives XT scan-codes. The keyboard handles the cursor keypad (which didn't exist on the XT) by simulating pressing or releasing a shift key (depending on whether shift or num-lock are pressed) and sending codes from the numeric keypad. Mode 2 works like mode 1, except that when the keyboard does the weird stuff with the numeric keypad it prefixes everything with E0 and the release codes are the scan-codes prefixed with F0. In mode 3, each key gets a unique code and the release codes work as in mode 2: the release are the scan-codes prefixed by F0.

When the AT keyboard is first reset it's supposed to send an AA if its self-test passed or FD or FC if it failed. But before it does this, it sends a continual stream of AAs with the parity incorrect. Once the computer sends an FE to indicate that there is a parity error, the keyboard stops sending bad AAs and sends a correct AA or an FD or FC. This sounds like someone made a quick fix in the keyboard firmware for mis-matched reset timing (the keyboard always finishes resetting before the computer so the computer could miss the AA/FD/FC).

 

 

What is the CMOS/jumper setting for my hard drive?

Configuration of IDE Harddisks ==============================

There is explicitly NO WARRANTY that the given settings are correct or harmless. (I only collect, I do not check for myself!!!). There is always the possibility that the settings may destroy your hardware!

Since I hope however that only well-minded people undergo the effort of posting their settings the chance of applicability exists. If you should agree or disagree with some setting, let me know immediately in order to update the list.

If you possess a HD not mentioned here of which you know BIOS and/or jumper settings, please mail them to me for the next update of the list!

Only IDE (AT-Bus) Harddisks will be accounted for. If not specified the Landing Zone should be set equal to the number of cylinders. If not specified the 'Write Precompensation' should be set 65535. (There are BIOSes that don't even ask for it). On most IDE disks these values are dummies, relicts from old MFM times.

The capacity given here is sometimes in Megabytes (1000000 bytes) and sometimes in MB (1048576 bytes). Don't worry! The only right way to calculate the capacity is cyl * heads * sec/tr * 512 which gives the capacity in bytes! Dividing by 1000000 or 1048576 gives the capacity in Megabytes or MB respectively.

If you get problems when installing 2 HD's with correct BIOS and jumper settings, try to swap drive 1 and 2, often that helps.

Please don't flame me because of the 'layout' of the list. Since the available information is so strongly varying I often only pack _YOUR_ mail to me into the list. If someone feels encouraged to improve this, I would be glad to receive a 'lifted' version. But there should be all info contained!

Since the list is rather long, I give here a summary of all drives described therein.

 

 

Can I use two video cards in the same system?

In the past, the only way to do this was to use one Hercules-type monochrome card and one color card (CGA, EGA, or VGA), because the color cards all used the same address space. Most DOS software will only use one at a time (you can switch between them with the 'mode' command), but debuggers and CAD programs often support this type of dual-display system. You may have to change a setting on your VGA card to make it run in 8-bit mode in order for this to work. Windows can also be set up this way. Include the line DualDisplay=TRUE (or ON) in your SYSTEM.INI file, in the 386enh section. If you open a DOS shell window and type MODE MONO, the shell will appear on the monochrome monitor. There are now other types of video cards that don't share the VGA address space, but these combinations don't seem to be supported by software. Some types that have been suggested include TIGA, 8514A, Hercules InColor, and a few other "accelerated" cards. Many EISA video cards have fully addressable video apertures, and come with the appropriate drivers. A few cards contain more than one VGA chipset and come with special drivers that make it behave like a single VGA card, but they may be expensive and hard to find. If you just want to display the same image on several monitors, there are (expensive) signal splitters that will do this (try vendors that specialize in things like cables and switchboxes). Signal splitters for EGA/CGA are somewhat cheaper.

 

 

What is 24 bit color/true color?

The color of a pixel is formed by mixing three colors: Red, Green and Blue. The amount of each of these colors ranges from 0 to 255, an 8 bit value. So, the total number of unique colors available is 16.7 million (2 ^ 24).

With a "normal" SVGA video card, you can pick any 256 of these colors (called a palette) to display on the screen at a time. If your picture has more than 256 unique colors, various methods can be used to come up with the 256 closest colors.

A 24 bit color (aka 'true color') card doesn't have this limitation, it can display any of the 16.7 million possible colors at a time. Since it doesn't have to use close colors, it displays the true picture colors, thus the name 'true color'. Note that many picture formats, including GIF, also have the 256 color limitation, so a true color card won't improve the picture viewing at all. More recent picture formats, such as JPEG, support 24 bit color.

 

 

What is the black horizontal line on my monitor?

The thin black horizontal line visable about two thirds of the way down some displays is a restraining wire characteristic of Trinitron screens. Most PC monitors use 'shadow mask' grills with tri-dots through which the coloured phosphors emit their light (this is where dot pitch comes from- a measure of the proximity of these dots). Trinitron monitors- more commonly sold with Macs- used a vertical wire grill instead (the proximity of the wires to each other being the strip pitch). This technology produces a conical screen shape, which appears flatter to the eye than does the spherical shape typical of shadow mask monitors. The 'cost' of this screen flatness is however the visable restraing wire. In practice it is usually only noticable against a white background.

 

 

Do I need a CPU fan / heat sink ?

This is highly debatable. In general, if you buy from a good, self-respecting company, any additional cooling requirements would have been taken care of before your system was delivered to you. I'm responsible for PC maintenance at my site, and I don't worry about additional cooling in any of the pre-packaged systems we receive. All rebuilt and/or upgraded 486-33 (or higher) systems do, however, receive additional cooling because older cases may not provide adequate ventilation for today's technology. Additional cooling on the infamously-hot Pentium (586) is always added.

So, do YOU need a CPU fan in YOUR system? Probably not for "ready to run out of the box systems." If you are _REALLY_ worried that your system is suffering from too much heat, consult with a reputable service center. They will not only answer your questions, but they can also install any additional cooling systems that may be needed. A good rule of thumb, though - "don't try to fix what isn't broken." In other words, if your system is working, don't look for trouble.

 

 

How does the front panel LED display measure the system's speed?

It doesn't. The only useful information going to these displays is if you are in turbo mode. They have jumpers or dials behind the display which you can use to set them to show any two arbitrary numbers (for turbo and non-turbo modes).

 

 

Should I turn my computer/monitor off?

Turning a device on/off causes thermal stress. Leaving it on causes wear and tear (even on non moving parts). The only thing you shouldn't do is quickly power cycle the computer. If you turn it on/off, leave it that way for at least a few seconds. Other than that, it's up to you.

 

 

Are there any manufacturers/distributers who read the net?

Yes, it is known that Zeos, Gateway 2000, Dell, Adaptec, HP and others all read the net to some extent. However, for best results, use the support phone numbers.

 

 

What is Plug and Play?

Plug and Play is the name of a technology that lets PC hardware and attached devices work together automatically, reducing end-user complexity. Plug and Play technology is implemented in hardware, in operating systems, and in supporting software such as drivers and in the systemboard's BIOS. Microsoft will support Plug and Play starting with Windows "Chicago" and Windows NT "Cairo". Today there is a solution for MS-DOS and Microsoft Windows 3.x using software from Intel which works with the Plug and Play hardware. There are a variety of Plug and Play technologies, today including BIOS, ISA cards, SCSI, IDE CD-ROM, PCMCIA, drivers.

The Compuserve Plug and Play forum (GO PLUGPLAY) is available for technical support issues regarding hardware and driver design issues.

Microsoft is starting a "Plug and Play Hardware Catalog" to showcase Plug and Play hardware, entries are being accepted for the initial issue. Send hardware and company information to: Plug and Play Catalog c/o Microsoft Corporation Hardware Vendor Relations Group, building 6 One Microsoft Way Redmond, WA 98053-6399 USA

 

 

What size should I set my DOS partitions to be?

This depends on what cluster size you want. A smaller cluster size is better, because a small file takes up a whole cluster if there is even one byte in it; the leftover space is called "slack." If you have N files on your drive, and your cluster size is S bytes, then you can expect to lose N*S/2 bytes to slack space on the average.

The table below shows the maximum partition size to get clusters of a given size. You cannot format a hard drive under DOS with a cluster size less than 2K.

+-------------------+-----------+-------+ | Cluster size | Partition | FAT | Notes | | size | type | +-------------------+-----------+-------+ | 4K (4096 bytes) | 16 MB | FAT12 | | 2K (2048 bytes) | 32 MB | FAT16 | (DOS versions < 4.0) | 2K (2048 bytes) | 128 MB | FAT16 | (DOS versions >= 4.0) | 4K (4096 bytes) | 256 MB | FAT16 | | 8K (8192 bytes) | 512 MB | FAT16 | | 16K (16384 bytes) | 1 GB | FAT16 | | 32K (32768 bytes) | 2 GB | FAT16 | | 64K (65536 bytes) | 4 GB | FAT16 | +-------------------+-----------+-------+

Another consideration is backup. If you backup to tape, you should have disk partitions smaller than the capacity of a single tape for ease in backup.

The 32 MB limit actually didn't have anything to do with the cluster size or FAT it was because the number of sectors in the partition was stored in boot record as a 16 bit number.

 

 

How do I get DOS to letter my devices the way I want?

The first floppy drive will always be A:, the second floppy drive will always be B:. If there is no second floppy, B: will also point to A:.

DOS will assign drive letters C: and up in the following order:

Primary DOS partition on each BIOS supported drive (Master, Slave, EIDE ch2 Master, EIDE ch2 Slave) All logical drives in the Extended DOS partition on each BIOS supported drive (Master, Slave, EIDE ch2 Master, EIDE ch2 Slave) Device drivers in CONFIG.SYS, in order, unless over ridden Device drivers in AUTOEXEC.BAT, in order, unless over ridden

This table can be used to add drives without reordering drive letters. For instance, if you have a Master drive with a Primary and Extended DOS partition and you add a second (Slave) drive with a Primary DOS partition, all of your extended partitions will be re-lettered. If, however, you only place an extended partition on the new drive, all partitions on the Master will be assigned letters first.

Some device drivers, such as MSCDEX, have command line switches to specify an unused drive letter rather than the next open one. It is usually a good idea to set these to a higher drive letter right off rather than having to reinstall all of your software after adding another drive.

 

 

Why won't my system boot from the hard drive?

If you can boot from a floppy and see the files on your hard drive, then chances are there's something wrong with your MBR (Master Boot Record) / partition table. The first thing you should try is: "FDISK /MBR". This will fix the master boot record without effecting the contents of your disk. If this doesn't work, the next thing to try is verifying that you have your Primary DOS Partition set active. To do this, enter "FDISK" and chose "Set active partition" (usually the second option) then pick "Primary DOS Partition". Then exit and reboot. This too will not effect the contents of your disk.

The next thing to try is replacing the files required for DOS to boot; they may have been corrupted or deleted. To do this, run "SYS C:". This may or may not be possible as DOS versions before 5.0 required these files be located at a certain place on your hard drive and that spot may no longer be available. Either way, this will not otherwise effect the contents of your disk.

If neither of these things work, then the next thing to try is reformatting your hard drive (FORMAT C: /SYS). Note that this will erase all of the files on your hard drive, so back up anything you want to save first!!! If all three of these suggestions fail, then chances are you have a more serious problem.

 

 

How do I clean my computer?

Clean the outside with a damp (not wet) cloth with a mild dish washing detergent after unplugging the system. Let it dry completely before plugging your system in. Do not clean the inside - computer components are not susceptible to common house hold dust. Unless you have special equipment, you will more likely cause more harm than help to your computer if you try.

 

 

Why doesn't my new device work as fast as it should?

The performance of individual components in your system are highly dependent the rest of your system. For instance, the transfer rate of drives, usually measured in megabytes per second, can depend on the drive controller, bus type and OS. Video card speed, sometime measured in Winmarks, highly depends on the speed of your main CPU as well as the OS. When ever you see a statement on the speed of the device, be sure to check the small print to determine what type of system and under what conditions the speed was measured. Don't be fooled by benchmark numbers. Another important corollary of this is *never* post benchmarks - they offer little to no information for comparison with other systems. Benchmarks are only useful for comparison purposes when run in a controlled environment, and even then to a limited degree.