

>>>>>>>>  TEST6078


------------------------------------
TARGET
------------------------------------

IBM 5160 (IBM XT)

TEST6076_U18_32KB_SIZED.BIN goes into a suitable ROM/EPROM/EEPROM, placed in motherboard IC socket U18.
TEST6076_U19_32KB_SIZED.BIN goes into a suitable ROM/EPROM/EEPROM, placed in motherboard IC socket U19.

Suitable ROM/EPROM/EEPROM
--------------------------

If your IBM 5160 motherboard is a 64-256KB type, the TMM23256/MK37000/MK38000 ROM's can in most cases be replaced with 27C256 EPROM's,
but some brands of 27C256 may be unsuitable for the 64-256KB motherboard - see http://www.minuszerodegrees.net/5160/motherboard/5160_u18_u19_sockets.htm
     
If your IBM 5160 motherboard is a 256-640KB type, then you can use a 27C256 (or 27256) EPROM, or a Winbond W27E257.
      
For the IBM 5160, use EPROM's that are rated at 250 ns, or faster.
See http://www.minuszerodegrees.net/5160/motherboard/IBM%205160%20motherboard%20-%20ROM%20description%20from%20TR.png


------------------------------------
PREREQUISITE
------------------------------------

That TEST6055 and TEST6000 and TEST6077 successfully pass.


------------------------------------
PURPOSE
------------------------------------

To gain SOME confidence that the IBM 5160 motherboard is addressing all of the U19 ROM chip/socket okay.

If the test passes, you have that confidence.

If the test fails, do not immediately jump to the conclusion that there is an addressing problem.


------------------------------------
REQUIRED
------------------------------------

1. A parallel (LPT) port POST code reader.
   See http://www.minuszerodegrees.net/images4/Parallel%20port%20monitoring%20POST%20board.jpg

2. A parallel (LPT) port on your computer that is at one of the following I/O addresses: 378 or 278 or 3BC

3. A way of putting:
   - TEST6076_U18_32KB_SIZED.BIN into a suitable ROM/EPROM/EEPROM.
   - TEST6076_U19_32KB_SIZED.BIN into a suitable ROM/EPROM/EEPROM.


------------------------------------
WHAT DOES THE CODE DO ?
------------------------------------

- It is a crude ROM addressing test. Crude, because it does not test all addresses in U19.

- Tests between motherboard addresses F0000 and F7FFF, the address range that socket U19 of the IBM 5160 occupies.

- Outputs progress and good/bad status to parallel (LPT) ports 378, 278, and 3BC.

- Sequence:

   1. Send 00 to LPT ports
   2. Two second delay
   3. If 00 at motherboard address F0000, send 11 to LPT ports, otherwise (ERROR) send 99 to LPT ports
   4. Two second delay

   5. Send 01 to LPT ports
   6. Two second delay
   7. If 01 at motherboard address F0100, send 11 to LPT ports, otherwise (ERROR) send 99 to LPT ports
   8. Two second delay

   9. Send 02 to LPT ports
  10. Two second delay
  11. If 02 at motherboard address F0200, send 11 to LPT ports, otherwise (ERROR) send 99 to LPT ports
  12. Two second delay

  ......
  ......
  ......

  509. Send 7F to LPT ports
  510. Two second delay
  511. If 7F at motherboard address F7F00, send 11 to LPT ports, otherwise (ERROR) send 99 to LPT ports
  512. Two second delay

  513. Halt the CPU


------------------------------------
WHAT YOU SHOULD OBSERVE
------------------------------------

From start to finish, the test takes about 8 and a half minutes (@ 4.77 MHz).

If you are using the aforementioned reader (has two 14-segment displays, with the right one showing the last byte received):

Expect to see the following sequence (with about 2 seconds between changes in display):

   [xx][00]  Ignore this
   [00][11]  Good: 00 then 11   (would be [00][19] if error)
   [11][01]  Ignore this
   [01][11]  Good: 01 then 11   (would be [01][19] if error)
   [11][02]  Ignore this
   [02][11]  Good: 02 then 11   (would be [02][19] if error)
   [11][03]  Ignore this
   [03][11]  Good: 03 then 11   (would be [03][19] if error)
   [11][04]  Ignore this
   [04][11]  Good: 04 then 11   (would be [04][19] if error)
   [11][05]  Ignore this
   [05][11]  Good: 05 then 11   (would be [05][19] if error)
   [11][06]  Ignore this
   [06][11]  Good: 06 then 11   (would be [06][19] if error)
   [11][07]  Ignore this
   [07][11]  Good: 07 then 11   (would be [07][19] if error)
   [11][08]  Ignore this
   [08][11]  Good: 08 then 11   (would be [08][19] if error)
   [11][09]  Ignore this
   [09][11]  Good: 09 then 11   (would be [09][19] if error)
   [11][0A]  Ignore this
   [0A][11]  Good: 0A then 11   (would be [0A][19] if error)
   [11][0B]  Ignore this
   [0B][11]  Good: 0B then 11   (would be [0B][19] if error)
   [11][0C]  Ignore this
   [0C][11]  Good: 0C then 11   (would be [0C][19] if error)
   [11][0D]  Ignore this
   [0D][11]  Good: 0D then 11   (would be [0D][19] if error)
   [11][0E]  Ignore this
   [0E][11]  Good: 0E then 11   (would be [0E][19] if error)
   [11][0F]  Ignore this
   [0F][11]  Good: 0F then 11   (would be [0F][19] if error)

   [10][11]  Good: 10 then 11   (would be [10][19] if error)
   [11][11]  Ignore this
   [11][11]  Good: 11 then 11   (would be [11][19] if error)
   [11][12]  Ignore this
   [12][11]  Good: 12 then 11   (would be [12][19] if error)
   [11][13]  Ignore this
   [13][11]  Good: 13 then 11   (would be [13][19] if error)
   [11][14]  Ignore this
   [14][11]  Good: 14 then 11   (would be [14][19] if error)
   [11][15]  Ignore this
   [15][11]  Good: 15 then 11   (would be [15][19] if error)
   [11][16]  Ignore this
   [16][11]  Good: 16 then 11   (would be [16][19] if error)
   [11][17]  Ignore this
   [17][11]  Good: 17 then 11   (would be [17][19] if error)
   [11][18]  Ignore this
   [18][11]  Good: 18 then 11   (would be [18][19] if error)
   [11][19]  Ignore this
   [19][11]  Good: 19 then 11   (would be [19][19] if error)
   [11][1A]  Ignore this
   [1A][11]  Good: 1A then 11   (would be [1A][19] if error)
   [11][1B]  Ignore this
   [1B][11]  Good: 1B then 11   (would be [1B][19] if error)
   [11][1C]  Ignore this
   [1C][11]  Good: 1C then 11   (would be [1C][19] if error)
   [11][1D]  Ignore this
   [1D][11]  Good: 1D then 11   (would be [1D][19] if error)
   [11][1E]  Ignore this
   [1E][11]  Good: 1E then 11   (would be [1E][19] if error)
   [11][1F]  Ignore this
   [1F][11]  Good: 1F then 11   (would be [1F][19] if error)

   [20][11]  Good: 20 then 11   (would be [20][19] if error)
   [11][21]  Ignore this
   [21][11]  Good: 21 then 11   (would be [21][19] if error)
   [11][22]  Ignore this
   [22][11]  Good: 22 then 11   (would be [22][19] if error)
   [11][23]  Ignore this
   [23][11]  Good: 23 then 11   (would be [23][19] if error)
   [11][24]  Ignore this
   [24][11]  Good: 24 then 11   (would be [24][19] if error)
   [11][25]  Ignore this
   [25][11]  Good: 25 then 11   (would be [25][19] if error)
   [11][26]  Ignore this
   [26][11]  Good: 26 then 11   (would be [26][19] if error)
   [11][27]  Ignore this
   [27][11]  Good: 27 then 11   (would be [27][19] if error)
   [11][28]  Ignore this
   [28][11]  Good: 28 then 11   (would be [28][19] if error)
   [11][29]  Ignore this
   [29][11]  Good: 29 then 11   (would be [29][19] if error)
   [11][2A]  Ignore this
   [2A][11]  Good: 2A then 11   (would be [2A][19] if error)
   [11][2B]  Ignore this
   [2B][11]  Good: 2B then 11   (would be [2B][19] if error)
   [11][2C]  Ignore this
   [2C][11]  Good: 2C then 11   (would be [2C][19] if error)
   [11][2D]  Ignore this
   [2D][11]  Good: 2D then 11   (would be [2D][19] if error)
   [11][2E]  Ignore this
   [2E][11]  Good: 2E then 11   (would be [2E][19] if error)
   [11][2F]  Ignore this
   [2F][11]  Good: 2F then 11   (would be [2F][19] if error)

   [30][11]  Good: 30 then 11   (would be [30][19] if error)
   [11][31]  Ignore this
   [31][11]  Good: 31 then 11   (would be [31][19] if error)
   [11][32]  Ignore this
   [32][11]  Good: 32 then 11   (would be [32][19] if error)
   [11][33]  Ignore this
   [33][11]  Good: 33 then 11   (would be [33][19] if error)
   [11][34]  Ignore this
   [34][11]  Good: 34 then 11   (would be [34][19] if error)
   [11][35]  Ignore this
   [35][11]  Good: 35 then 11   (would be [35][19] if error)
   [11][36]  Ignore this
   [36][11]  Good: 36 then 11   (would be [36][19] if error)
   [11][37]  Ignore this
   [37][11]  Good: 37 then 11   (would be [37][19] if error)
   [11][38]  Ignore this
   [38][11]  Good: 38 then 11   (would be [38][19] if error)
   [11][39]  Ignore this
   [39][11]  Good: 39 then 11   (would be [39][19] if error)
   [11][3A]  Ignore this
   [3A][11]  Good: 3A then 11   (would be [3A][19] if error)
   [11][3B]  Ignore this
   [3B][11]  Good: 3B then 11   (would be [3B][19] if error)
   [11][3C]  Ignore this
   [3C][11]  Good: 3C then 11   (would be [3C][19] if error)
   [11][3D]  Ignore this
   [3D][11]  Good: 3D then 11   (would be [3D][19] if error)
   [11][3E]  Ignore this
   [3E][11]  Good: 3E then 11   (would be [3E][19] if error)
   [11][3F]  Ignore this
   [3F][11]  Good: 3F then 11   (would be [3F][19] if error)

   [40][11]  Good: 40 then 11   (would be [40][19] if error)
   [11][41]  Ignore this
   [41][11]  Good: 41 then 11   (would be [41][19] if error)
   [11][42]  Ignore this
   [42][11]  Good: 42 then 11   (would be [42][19] if error)
   [11][43]  Ignore this
   [43][11]  Good: 43 then 11   (would be [43][19] if error)
   [11][44]  Ignore this
   [44][11]  Good: 44 then 11   (would be [44][19] if error)
   [11][45]  Ignore this
   [45][11]  Good: 45 then 11   (would be [45][19] if error)
   [11][46]  Ignore this
   [46][11]  Good: 46 then 11   (would be [46][19] if error)
   [11][47]  Ignore this
   [47][11]  Good: 47 then 11   (would be [47][19] if error)
   [11][48]  Ignore this
   [48][11]  Good: 48 then 11   (would be [48][19] if error)
   [11][49]  Ignore this
   [49][11]  Good: 49 then 11   (would be [49][19] if error)
   [11][4A]  Ignore this
   [4A][11]  Good: 4A then 11   (would be [4A][19] if error)
   [11][4B]  Ignore this
   [4B][11]  Good: 4B then 11   (would be [4B][19] if error)
   [11][4C]  Ignore this
   [4C][11]  Good: 4C then 11   (would be [4C][19] if error)
   [11][4D]  Ignore this
   [4D][11]  Good: 4D then 11   (would be [4D][19] if error)
   [11][4E]  Ignore this
   [4E][11]  Good: 4E then 11   (would be [4E][19] if error)
   [11][4F]  Ignore this
   [4F][11]  Good: 4F then 11   (would be [4F][19] if error)

   [50][11]  Good: 50 then 11   (would be [50][19] if error)
   [11][51]  Ignore this
   [51][11]  Good: 51 then 11   (would be [51][19] if error)
   [11][52]  Ignore this
   [52][11]  Good: 52 then 11   (would be [52][19] if error)
   [11][53]  Ignore this
   [53][11]  Good: 53 then 11   (would be [53][19] if error)
   [11][54]  Ignore this
   [54][11]  Good: 54 then 11   (would be [54][19] if error)
   [11][55]  Ignore this
   [55][11]  Good: 55 then 11   (would be [55][19] if error)
   [11][56]  Ignore this
   [56][11]  Good: 56 then 11   (would be [56][19] if error)
   [11][57]  Ignore this
   [57][11]  Good: 57 then 11   (would be [57][19] if error)
   [11][58]  Ignore this
   [58][11]  Good: 58 then 11   (would be [58][19] if error)
   [11][59]  Ignore this
   [59][11]  Good: 59 then 11   (would be [59][19] if error)
   [11][5A]  Ignore this
   [5A][11]  Good: 5A then 11   (would be [5A][19] if error)
   [11][5B]  Ignore this
   [5B][11]  Good: 5B then 11   (would be [5B][19] if error)
   [11][5C]  Ignore this
   [5C][11]  Good: 5C then 11   (would be [5C][19] if error)
   [11][5D]  Ignore this
   [5D][11]  Good: 5D then 11   (would be [5D][19] if error)
   [11][5E]  Ignore this
   [5E][11]  Good: 5E then 11   (would be [5E][19] if error)
   [11][5F]  Ignore this
   [5F][11]  Good: 5F then 11   (would be [5F][19] if error)

   [60][11]  Good: 60 then 11   (would be [60][19] if error)
   [11][61]  Ignore this
   [61][11]  Good: 61 then 11   (would be [61][19] if error)
   [11][62]  Ignore this
   [62][11]  Good: 62 then 11   (would be [62][19] if error)
   [11][63]  Ignore this
   [63][11]  Good: 63 then 11   (would be [63][19] if error)
   [11][64]  Ignore this
   [64][11]  Good: 64 then 11   (would be [64][19] if error)
   [11][65]  Ignore this
   [65][11]  Good: 65 then 11   (would be [65][19] if error)
   [11][66]  Ignore this
   [66][11]  Good: 66 then 11   (would be [66][19] if error)
   [11][67]  Ignore this
   [67][11]  Good: 67 then 11   (would be [67][19] if error)
   [11][68]  Ignore this
   [68][11]  Good: 68 then 11   (would be [68][19] if error)
   [11][69]  Ignore this
   [69][11]  Good: 69 then 11   (would be [69][19] if error)
   [11][6A]  Ignore this
   [6A][11]  Good: 6A then 11   (would be [6A][19] if error)
   [11][6B]  Ignore this
   [6B][11]  Good: 6B then 11   (would be [6B][19] if error)
   [11][6C]  Ignore this
   [6C][11]  Good: 6C then 11   (would be [6C][19] if error)
   [11][6D]  Ignore this
   [6D][11]  Good: 6D then 11   (would be [6D][19] if error)
   [11][6E]  Ignore this
   [6E][11]  Good: 6E then 11   (would be [6E][19] if error)
   [11][6F]  Ignore this
   [6F][11]  Good: 6F then 11   (would be [6F][19] if error)

   [11][70]  Ignore this
   [70][11]  Good: 70 then 11   (would be [70][19] if error)
   [11][71]  Ignore this
   [71][11]  Good: 71 then 11   (would be [71][19] if error)
   [11][72]  Ignore this
   [72][11]  Good: 72 then 11   (would be [72][19] if error)
   [11][73]  Ignore this
   [73][11]  Good: 73 then 11   (would be [73][19] if error)
   [11][74]  Ignore this
   [74][11]  Good: 74 then 11   (would be [74][19] if error)
   [11][75]  Ignore this
   [75][11]  Good: 75 then 11   (would be [75][19] if error)
   [11][76]  Ignore this
   [76][11]  Good: 76 then 11   (would be [76][19] if error)
   [11][77]  Ignore this
   [77][11]  Good: 77 then 11   (would be [77][19] if error)
   [11][78]  Ignore this
   [78][11]  Good: 78 then 11   (would be [78][19] if error)
   [11][79]  Ignore this
   [79][11]  Good: 79 then 11   (would be [79][19] if error)
   [11][7A]  Ignore this
   [7A][11]  Good: 7A then 11   (would be [7A][19] if error)
   [11][7B]  Ignore this
   [7B][11]  Good: 7B then 11   (would be [7B][19] if error)
   [11][7C]  Ignore this
   [7C][11]  Good: 7C then 11   (would be [7C][19] if error)
   [11][7D]  Ignore this
   [7D][11]  Good: 7D then 11   (would be [7D][19] if error)
   [11][7E]  Ignore this
   [7E][11]  Good: 7E then 11   (would be [7E][19] if error)
   [11][7F]  Ignore this
   [7F][11]  Good: 7F then 11   (would be [7F][19] if error)





