Not just that,
the programming algorithm is different to most
other EPROMs. IIRC you have to program all locations in sequence,
giving each one a 1ms (IIRC) programming pulse, and repeat that
50 times.
Any bit in any byte can be individually programmed from 1 to 0.
There are no sequence requirements, the programming pulse is one
pulse of 50ms per location programmed.
Well, I'll admit that I was working from memory last night, but I've just
checked the Intel 1977 Data Catalog :
Under '2708/2704 family programming it says :
'The circuit is set up for programming operation by raising the CS/WE
input (pin 20) to +12V. The word address is selected in the same manner
as in read mode. Data to be programmed are presented, 8 bits in parallel,
to the data output lines (O1--O8). Logic Levels for address and data
lines and the supply voltages are the same as for the read mode. After
address and data set up, one program pulse per address is applied to the
program input (pin 18). One pass through all addresses is defined as a
rpgoram loop. The number of loops (N) requirded is a function of the
program pulse width (t_PW) addording to N * t_PW >= 100ms.
The width of the program pulse is from 0.1 to 1 ms. The number of loops
(N) is from a minimum of 100 (t_PW = 1ms) to greater than 1000 (t_PW =
0.1ms). There must be N successive loops through all 1024 addresses. It
is not pwemitted to apply N program pulses to an address and then chenage
to the next address to be programmed.
...'
You can't
program odd locations like you can in later EPROMs.
You can, it's EPROM microcontrollers like the 68705 that need to
be programmed in sequence.
Maybe other manufactures had simpler algorithms for their 2708s, but the
Intel data book makes it very clear you do have to program all locations.
(It gives examples where only some locations are to be changed. The
unchanged ones have to be reprogrammed with their existing contents, you
can't skip over them.
-tony