CMOS Flash Memory + arduino

Hi everyone!
I salvage this:

Its CMOS Flash Memory PM39F010-70JC datasheet PM39F010-70JC pdf, PM39F010-70JC Description, PM39F010-70JC Datasheet, PM39F010-70JC view ::: ALLDATASHEET ::: . I'm wondering is here any chance to use it with Arduino? If yes, I have some questions:
-In datasheet says: 'The devices can be programmed in standard EPROM programmers as well.' So does it mean it should work with standart EEPROM library?
-If yes, how to wire it? It has 32 pins. 6 page in datasheet explains pins, but I cant understand pins Address Inputs and pins Data Inputs/Outputs. Do I really need use all of them?

Ps. I salvage this from old CD-ROM.

Do I really need use all of them?

Yes.
The device is designed to be used in a micro computer system with an address bus and a data bus. On an arduino you would have to simulate these bus signals with shift registers, So while it could be made to work it would be slow to access and you could only store data in it not program code.

So does it mean it should work with standart EEPROM library?

No.

Thanks for replay Grumpy_Mike.

so... how hard it would be? I think to use it for store some data in my head :slight_smile: and make it work. I read datasheet few times but.. I really need some help, guidance. This chip can:

DEVICE OPERATION:
-READ OPERATION - would like to do this;
-PRODUCT IDENTIFICATION - not important, plus it involves 12v;
-BYTE PROGRAMMING - I'm guess it is writing to chip, would like to do this;
-CHIP ERASE - would like to do this;
-SECTOR AND BLOCK ERASE - would be nice to do this;
-I/O7 DATA# POLLING - need explanation what is it, what is it good for;
-I/O6 TOGGLE BIT - need explanation what is it, what is it good for;
-HARDWARE DATA PROTECTION - not important;

Pins:

-WE#, CE#, OE# = 3 pins (pinMode OUTPUT);

-I/O 0 to 7 = 8 pins (I guess should be INPUT and OUTPUT, does shift registers can read( be INPUT) ??? Dtasheet says: 'Data Inputs/Outputs: Input command/data during a write cycle or output data during a read cycle. The I/O pins float to tri-state when OE# are disabled.' What does text in bold means?

-A 0 to 16 = 17 pins. Datasheet says: 'Address Inputs: For memory addresses input. Addresses are internally latched on the falling edge of WE# during a write cycle.' How does they work? I guess answer hides from page 15.I have two guesses:
-they work like some sort of communication protocol data link(feels like I just said completely nonsense, but maybe...);
-they enables sectors in the chip (chip has two blocks, each block has 16 sectors). Still hard to believe.

All together 3+8+17=28 digital pins. Guess UNO is no good... unless all address inputs connect through shift registers, then instead 17 pins I would use min 3 max 5 ( according to youtube video 'How Shift Registers Work' by user Kevin Darrah). Then 14 pins, I think UNO is good for this.

Any Help Is Welcome!

All together 3+8+17=28 digital pins

Which is 28 /8 = 4 shift registers.
But the 8 data pins are inputs and outputs so you need another input shift register to cope with that.

I do think that this project is beyond you especially if you are having to ask such fundamental questions about how shift registers work.
Next you have the problem of how you are going to wire that chip up to the shift registers. Forget a solderless bread board you are going to have to use a PCB or be very good with strip board and the "dead bug" wiring technique.

-I/O7 DATA# POLLING - need explanation what is it, what is it good for;

When a byte is being written or erased on flash you give it the waveform to set it going, then the chip will busy itself trying to write. You only know it has finished by looking at ( that is polling ) the I/O pin for data 7. You should not try to set it writing something else until it has finished doing what you set it to do. The toggle bit ( I/O bit 6 ) keeps changing from 0 to 1 while internal operations is going on and can be used in a similar way to bit 7 to tell when it has finished.

does shift registers can read( be INPUT)

It is another sort of shift register for inputs. So basically no, you need both types.

The I/O pins float to tri-state when OE# are disabled.' What does text in bold means?

Tri-state means a high impedance state, rather like an input so it is not a logic one or logic zero, it is like it has been disconnected.

First. Thank you for all information you gave me. It helped a lot. Thanks. Next.

I do think that this project is beyond you especially if you are having to ask such fundamental questions about how shift registers work.

I didn't ask...well I did ask Google some time ago. I put note just in case if someone need it. And yes this project will be hard for me to succeed, cause my work, education and profession is not related to Arduino in any way. I'm carpenter. So believe I did ask more way more fundamental questions. I do need start learn some ware. Google is good place. But Google is huge and some times is hard to find right information. So it's why I asking here in forum.

Next you have the problem of how you are going to wire that chip up to the shift registers. Forget a solderless bread board you are going to have to use a PCB or be very good with strip board and the "dead bug" wiring technique.

I was thinking of using plcc32 adapter like this http://www.ebay.ie/itm/370860093062?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649 . Or use prototyping board and make my own dip32 'dead bug'.

does shift registers can read( be INPUT)

It is another sort of shift register for inputs. So basically no, you need both types.

Is it possible for I/O pins use Arduino pins (without shift register) ? Or it will be way to complicated?

Some more questions:
-What about -A 0 to 16 = 17 pins. What are they used for? And most important how?
-Shift registers, which I should buy? Which spec is important? I guess.. current it handles.. shifting speed maybe...
-Wiring it. Does chip needs some extra components to make it work? like resistors , capacitors..?

Is it possible for I/O pins use Arduino pins (without shift register) ? Or it will be way to complicated?

Some more questions:
-What about -A 0 to 16 = 17 pins. What are they used for? And most important how?
-Shift registers, which I should buy? Which spec is important? I guess.. current it handles.. shifting speed maybe...
-Wiring it. Does chip needs some extra components to make it work? like resistors , capacitors..?

Yes you can use the arduino's I/O pins but there are not enough of them.
The lines A0 to A17 are the address lines, they determin what cell or memory address you are accessing, with out them you can not specify diffrent locations to store things in.
Look at the shift in and the shift out tutorials for what shift registers to get.
You just need the usual supply decoupling capacitors on the power supply.