home *** CD-ROM | disk | FTP | other *** search
-
-
-
- MEMORY DIAGNOSTICS
-
- This routine uses a machine language subroutine to perform a thorough
- checkout of up to 832 KB of contiguous expansion located at absolute addresses
- in the range of 64K to 640K and 768K to 960K. A cyclic redundancy algorithm is
- used for maximum reliability. Initially, the memory check routine will display
- a menu of expansion memory options to be checked. Select the option which
- conforms to the total amount of memory which is installed on expansion boards
- only. Do not include the system board memory which is installed on the PC
- motherboard when calculating this figure. For instance, if you have a 64K IBM
- PC with a 256K Quadboard and a 192K expansion memory board, you would select
- option 7, which will test 448K expansion memory, even though your total system
- memory is 512K.
-
- After selecting the correct expansion memory checking option, a line
- similar to the following will be displayed:
-
-
-
-
- 64K 128K 192K 256K 320K 384K 448K
- PASS 1
-
- This display will be used to show which memory is currently under analysis.
- If memory errors occur, an error code will be printed in the column under the
- heading of the 64K block in which the error occurs. If no errors occur in a
- block, four dots ("....") will be printed in the column. If there are more 64K
- blocks to be tested, the routine will move on to the next column. Otherwise,
- PASS 2 will be printed, and memory testing will be repeated starting from the
- first 64K block. For the example cited above, the display would then look as
- shown below, providing that all memory tests are passed:
-
- 64K 128K 192K 256K 320K 384K 448K
- PASS 1 .... .... .... .... .... .... .... TOT ERRS=0
- PASS 2
-
- TOT ERRS is an accumulative figure which will keep track of all memory
- errors which occur during the entire memory testing procedure.
-
- You may allow the memory test to complete several passes before returning
- to the diagnostics main menu.
-
-
-
- MEMORY ERRORS
-
- Create a hard copy of the errors that occur by handwriting the display on a
- scratch pad, or by pressing shift-PrtSc, if you have a printer connected.
- Notice the column under which the error code is displayed. This shows which
- 64K block of your expansion PCB the memory error is in. The block diagram in
- your expansion PCB manual shows the physical location of each 64K block.
-
- Error codes are printed in hexadecimal. An error code which contains hex
- digits in the range A to F may indicate an addressing error. This is usually
- caused by having incorrectly set dip switches or by trying to test a non-
- existant block of expansion memory. Check your expansion board manual for the
- proper settings of the dip switches on your expansion board and on the IBM PC
- motherboard, and be sure to select the correct memory test for the amount of
- expansion memory installed.
-
- Nine LSI chips are used for each 64K block of memory installed on your
- expansion board. If you get an error code in the range of 100 to 180 hex, the
- last two digits of that error code can be used to determine which chip in a 64K
- block is producing the errors, according to the following table:
-
- 180 - D7
- 140 - D6
- 120 - D5
- 110 - D4
- 108 - D3
- 104 - D2
- 102 - D1
- 101 - D0
- 100 - Parity Check
-
- If parity checking is turned off, the initial digit in the code will
- not be returned. The error code would consist only of the last two digits.
-
- The table is arranged in the order that the chips are placed on a
- Quadboard, i.e., the parity chip is at the bottom of a 64K block, and the D7
- chip is at the top. For the Quad 512+ board and the Quadram 192K board, the
- chips are arranged in rows rather than columns. The Quadram 192K memory
- axpansion board has its chips arranged within the rows in the same order as for
- the Quadboard. The Quad 512+ board has two 64K blocks in each row. The chips
- in a single row of the Quad 512+ board are arranged as shown below:
-
- D0 D1 D2 D3 D4 D5 D6 D7 Parity D0 D1 D2 D3 D4 D5 D6 D7 Parity
-
- If you get an error code which is not in the table shown above, you may
- have more than one bad chip in a single 64K block. Isolate the bad chip by
- swapping out the lowest numbered chip from the bad block with a chip from a
- good block and move up the block chip by chip until you get error codes in both
- blocks. These error codes should then be found in the table. You may be able
- to make a temporary fix on your board by turning off parity checking and
- replacing bad chips with parity chips.
-
- The Quadtest memory check routine will do a graphical display of any bad
- memory chips found on Quadboard, Quad 512+, or the Quadram 192K board,
- providing that those memory boards are started as the first expansion memory
- board addressed in the memory space. Press the F10 function key after the
- completion of a pass in which errors have been detected to see the memory
- board display. The Quadboard display is used for the 192K board as well,
- since the placement of the chips is the same. Rotate the 192K board 90
- degrees counterclockwise to orient the rows of chips like the columns on the
- Quadboard.
-
- The display routine can be operated in standalone mode. Assign to XM%
- a value from 1 to 8 representing the total # banks of memory chips installed
- on your memory expansion board. Then enter GOSUB 60300.
-
- Replace defective memory chips, and repeat the memory diagnostics checks.