Parent 

Background

Refer to the parent web page at here.

Unlike some 27C256, NEC's 27C256 (the µPD27C256) is unsuitable as a replacement for the Mostek MK37000 series and MK38000 series ROM's on an early IBM 5160 motherboard.
That fact was reported by member mrmanse of the VCFF.


Investigation

Member modem7 of the VCFF subsequently verified the unsuitability of the µPD27C256 fitted to an early IBM 5160 motherboard.
   
According to the data sheet of the MK38000, the MK38000 could be supplied in two different pin configurations; A14 on on 1, or A14 on pin 27 (see here).  On sockets U18 and U19, pins 1 and 27 are connected to each other (diagram), possibly to cater for the two possible configurations of MK38000.
   
On a 27C256, pin 1 is the Vpp pin.  As proven by member modem7 of the VCFF, the NEC µPD27C256 requires that its Vpp pin (pin 1) be high (+5V) for data reading:

Vpp pin tied high:   Good.  Expected data read back.
Vpp pin then tied low:   Bad.  Data bytes read were always 00

A good read was also obtained by simply disconnecting the Vpp pin (pin 1) of the µPD27C256 from the reading device, i.e. pin is 'floating' high, but pin floating is considered poor practice.


Cause

The ROM sockets on early IBM 5160 motherboards take pin 1 low when the first half of the ROM is addressed, and high for the second half.
That violates the requirement of the NEC µPD27C256 that pin 1 (Vpp) always be high for data reading.


NOTE: Certain other makes of 27C256 do not have the same requirement.



But I find that the NEC µPD27C256 works for me !!!

It will come down to what you put into the µPD27C256.

Example

Here, the code for the Ruud's diagnostic ROM is being put into the µPD27C256.  The code is 8 KB sized, and so gets quadrupled for the µPD27C256 (32 KB sized).

Quarter Content Comment
First 8 KB Copy #1 of Ruud's code  
Second 8 KB Copy #2 of Ruud's code  
Third 8 KB Copy #3 of Ruud's code  
Fourth 8 KB Copy #4 of Ruud's code  On a 5160 motherboard, this copy is what will get executed.


Because of the aforementioned problem, what the early 5160 motherboard will 'see' is:

Quarter Content Comment
First 8 KB All zeroes  Because pin 1 of µPD27C256 is low.
Second 8 KB All zeroes  Because pin 1 of µPD27C256 is low.
Third 8 KB Copy #3 of Ruud's code  
Fourth 8 KB Copy #4 of Ruud's code  On a 5160 motherboard, this copy is what will get executed.

So in this case, the aforementioned problem has no impact on what gets executed.