Interesting that you use a flash chip whereas most other breadboard CPU designs use an EEPROM instead. Any comment on this choice and what the tradeoffs are between the two?
TL;DR: I've found the available DIP flash chips to be cheaper, bigger, and faster than comparable EEPROMs. I consistently had an easier time getting my hands on chips marketed as "flash" compared to those marketed as "EEPROM". The flash variants also seem to benefit from the very mature manufacturing and economies of scale brought about by SSDs and pervasive use in mobile devices: in through-hole packages, the SST39SF010A flash chip I used (128kB) costs around $3, whereas the AT28C64/AT28C256 (8kB/32kB) likely costs around $6-$13. The terminology around flash and EEPROM is pretty fuzzy. Flash is a subset of EEPROMs, specifically EEPROMs that have been optimized for storage density and speed in some way, at the expense of awkward block-level erasure and rewrites to achieve the density. Wikipedia has a pretty good overview of this: en.wikipedia.org/wiki/EEPROM. If you use them as a read-only memory you won't deal with the parts of the chips that make them distinct (block-level erasure for flash, high programming voltages for "old" EEPROMs). In fact, most flash chips I've seen were significantly faster than their EEPROM counterparts, but that might be due to chips like the AT28C64 likely being manufactured in older technology nodes than the SST39SF010A flash. Quick look into the data sheets for read access time: - AT28C64 (EEPROM): 120 ns (ww1.microchip.com/downloads/en/devicedoc/doc0001h.pdf) - SST39SF010A (Flash): 55 ns (ww1.microchip.com/downloads/en/DeviceDoc/20005022C.pdf)
Yeah supply seems to be a bit short at the moment. You might be able to score one from AliExpress, although chances are you'll be getting some knock-off or rejected part that won't meet the spec.
Is the chip really 1Mbit, it has 19 address pins, which means it has 2^19 = 524288 different address or in other words 512 kilobytes of data, 512 kilobytes is 4096 kilobits and therefore 4 Mbits. You may actually be using SST39SF040. And the pin outs are similar enough, that minipro works without errors.
The nice thing about the SST39SF series is that they all have the same pinout. It's just that the smaller versions have some of the address lines disconnected. If you check page 5 of the datasheet (ww1.microchip.com/downloads/en/DeviceDoc/20005022C.pdf), you'll see that the "*010" part only goes up to A16, while "*020" also has A17 and "*040" also includes A18.
I also got mine off of AliExpress. I'm pretty sure it's not a genuine part -- hard to tell with the plethora of lookalikes and rip-offs. It's a pretty simple device though, just a few level shifters and IOs with a microcontroller, so chances are if you pay around $25-$50 for one that claims to be a "TL866II" or "TL866II-compatible" you're going to get one that will work with minipro. I've never been able to find a "genuine" TL866II in the wild and the website seems a bit dodgy and doesn't help a lot (www.autoelectric.cn/en/tl866_main.html).
I might have actually gotten a genuine one. The seller claims to be "XGECU Official Store" (www.aliexpress.com/store/1101313990 ). This is the one I had ordered: www.aliexpress.us/item/2251832810188780.html