Propper EPROM Addressing? - Page 1
Forum section: electronics / projects

author: VintageTech
author_rank: Contributor
timestamp: September 02, 2015, 10:11:23 pm
content: Recently, I began a project to build a Z80 computer. I have plenty of MCU and microproccesor programming experience and lots of electronics experience. The intention of the project is to help me understand the electrical intricacies of computers by building one from scratch. I am also trying to build a DIY EPROM/EEPROM programmer for that project. I discovered that It's by far cheaper to build my own. I intend to open source the entire project for others to use when it is finished. Today however, I hit a road block.A little background before I get into specifics.I am interested in the 27256 because I already have 3. Two I've had for over 7 years, both contain some sort of Firmware for a Westinghouse elevator from 1988. To my surprise, both have retained their data and still work. The third one I picked off a broken, ancient and very crusty IBM printer's PCB (with permission) That I found at my high school (I'm not sure why it was there). I plan to get lots more for testing the system so I don't have to worry about accidentally cooking one of the three that I need to recover the data from.My problem arises with the addressing system of these (E)EPROMS. A read through the Intel data sheet gave frustratingly little system description, I have attached a screenshot from the data sheet, It appears as if there are X and Y Address inputs. This just added to my confusion. I quickly realized that I had absolutely no idea how to address them. Simply put, is it good practice to address these EPROM's with a 15 bit binary number? Or is there another, better way to handle addressing?The current system design is greatly inspired by the MEEPROMMER, A project by Mario Keller. I have been tossing the idea for the project around in my head over the last year or so. When I started, I was inexperienced with Arduino and Looked to his code for help. Much of his original code is still in my version and I am incredibly grateful that he has released it open source.I will post the code and finished project pictures soon. Thank You for your Help!-Vintage TechLink to the MEEPROMMER project:http://www.ichbinzustaendig.de/dev/meeprommer-en27256 Datasheet:http://www.cpu-galaxy.at/cpu/ram%20rom%20eprom/other_intel_eproms/other_intel_erpom-Dateien/D27256-1_Datasheet.pdf

author: T3sl4co1l
author_rank: Super Contributor
timestamp: September 02, 2015, 10:23:52 pm
content: They show what the address pins map to, but without a spec on propagation delay (if it's different at all, for changes in different address pins), it's only trivia. Treat all the address lines as equivalent and interchangeable (which is actually true: you don't need to know what the address is inside the chip, as long as you use the same pins for programming and reading).For a Z80, hook up the data and address pins, and use the upper address pins from the CPU to operate an address decoder (usually a 74LS138, 154 or something like that) which drives the \CS pin. You also want to take IORQ/MEMRQ and RD/WR through the appropriate logic (using the decoder's inputs, or more gates, however it works out).You can compare the timing diagrams; you should find they are quite compatible, and the timings work out nicely without wait states. If you have period DRAM, you will need more decoding logic (RAS/CAS strobes) and a few wait states to insert for strobe/access delays. A DRAM controller might provide these for you (as well as refresh, DMA or other possible features).Tim

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: September 02, 2015, 10:26:06 pm
content: Quote from: VintageTech on September 02, 2015, 10:11:23 pmOnly if you put zero value on your time.Eprom programmers cost peanuts these days. Used ones even less.

author: grumpydoc
author_rank: Super Contributor
timestamp: September 02, 2015, 10:31:09 pm
content: There is no need to worry about the row and column addressing which is internalThe processor address lines A0through A14connect directly to the address pins on the EPROMYou can then just drive CE and OE from A15, MREQ and a couple of gates.I did some notes a while ago inthis thread

author: Macbeth
author_rank: Super Contributor
timestamp: September 02, 2015, 10:33:00 pm
content: I wouldn't be so sure of cheaper, especially with all the adapters and things taken into account. I was going to roll my own but found it a complete PITA and you reallycan't beat the ebay TL866 with the gubbinsAs for the old 8 bit Z80 with 16 bit address space, typically with a 256 (32K) ROM you would put it in one half of the address space and your 32K RAM in the other half - just use bit A15 from the CPU to enable the RAM or ROM with some .... ah, already answered

author: knks
author_rank: Regular Contributor
timestamp: September 10, 2015, 10:45:47 pm
content: Gents, his intention is to "understand the electrical intricacies of computers by building one from scratch". Building DIY programmer would be a nice addition to this understanding. IMHO

author: Macbeth
author_rank: Super Contributor
timestamp: September 11, 2015, 12:17:44 am
content: Quote from: knks on September 10, 2015, 10:45:47 pmWell in that case why did he state "I discovered that It's by far cheaper to build my own", when clearly it really isn't?