I've bought an Intel 4004 from eBay. Not a ceramic version, but this one:
so it was not that crazy expensive. Now I want to test it. Not just to make sure it is not a counterfeit, but as a fun retro computing project, too.
My idea is to use a fast microcontroller to emulate external 4001, 4002 and 4003 chips (it is even more difficult to get one of these and a custom mask programmed 4001 would not make sense at all for me).
There are two datasheets linked from Wikipedia:
One datasheet says that the CPU is available in ceramic, only. It looks like my version is the Malysia 7645 version:
Does this have the same Vdd voltage supply of -15V?
For interfacing with the microcontroller I plan to use some 40109 chips (up to 20V level shifter) for the direction from the microcontroller to the CPU, and some LM339 for the opposite direction (no need for tri-state for this direction, because I plan to use dedicated pins for output and input on the microcontroller).
Another question is about the interfacing: Am I right that only D0-D3 are bidirectional? The intel-4004.pdf datasheet says this, but the timing diagram says "Data Bus, CM (Inputs)" and "Data Bus, CM (Outputs)", which doesn't make much sense for me. It seems to be that CM is always output.
And when is it safe to drive the data bus? I read the datasheets (and the much bigger manual found at Intel) that it is safe for memory subcycle M1 and M2 for the ROM, and X2, only if one of the CM-RAM outputs are 0. If I want to send data to it, first I set phi2 to low, then I enable the 40109 output (the data bus should be floating from the CPU at this time already). Looks like at rising edge of phi2 the 4004 samples the data bus. After the hold time I can then switch off the
40109 outputs again.Sorry for my naive questions, but I want to be sure, because the chip was not exactly cheap and the magic smoke cannot be put back in :-)