Discussion of a second run of Membership Card prototypes. Last revision Oct 1 2010, edited by Herb Johnson. Contents (C) copyright Lee Hart except for content posted by others who retain copyright. ----------------- On 16 july 2010, Lee responded to a cosmacelf post "are there any 1802 kits around?" Content below taken from his posts at that Yahoo discussion group: http://groups.yahoo.com/group/cosmacelf/ Check the Membership Web page at the link below, for the current status of the Membership Card kit: http://www.retrotechnology.com/memship/memship.html#status Notes on the "revision B" Membership card are on this WEb page: http://www.retrotechnology.com/memship/mem_revB.html ------------------------- Lee said July 16: I'm about ready to do another run of my Membership boards. This is a little Elf that fits in an Altoids box. At present, we built half a dozen, which people are testing. There are a few small issues that I want to see working before I order more boards. Todd Decker posted in reponse: > I can vouch for Lee's membership card! I have mine up and running > and have been programming it with fun "blinkenlight" programs. Need > to put a front panel label, take some pics and vids, then post the > info to the group. It's a sweet little set-up. All thru hole and > very easy to obtain parts. I made a little Altoids battery pak for > it too and will post pics. - Todd Lee responds: Thanks! This is as far as I know the smallest and cheapest way to build an Elf. :-) The small board size keeps the cost low, and I used only inexpensive generic parts. The next order will probably be for 25-50 boards, which should get them under $10 each. There are just a few issues I want to resolve before ordering: 1. I need a program to allow operation via a PC's parallel port. I'm writing one in QuickBASIC (because I'm familiar with it), but most people are likely to want some GUI megabyte program that runs under Windows. 2. The present design selects the memory chip for the entire bus cycle. This was necessary with old slower chips. But with today's faster chips, this results in higher power consumption (they draw power as long as they are chip selected). So I have designed a change that only chip selects during TPB (1/8th of the time). I need to see if this works. 3. The output port presently latches data on the falling edge of TPB. This turns out to be too late for modern memory chips; they deselect faster than the latch can capture. We fixed this by changing the latch from a 74C373 to a 74HC374 (latches on the rising edge of TPB rather than the falling edge). But I need a different solution for the new board, which doesn't enable the memory chip until the rising edge of TPB. I'll be posting a notice here [in cosmacelf] when the issues I mentioned are resolved and I'm ready to order. - Lee Other 1802 developers also posted in cosmacelf about their projects. Some appear to be personal or one-off projects, a few could offer boards as follows: Bob Armstrong, Spare Time Gizmos posted in July 16 2010: FWIW, I'll order more PCBs if somebody wants to buy them from me in qty 25 or more. That's the smallest number I can order - way back when I would have ordered them in batches of 50 or 100. Recently I'd only been selling 1 Elf2K/month or less, and I'm not really interested in holding on to the 5-10 years of inventory that such an order would represent. - Bob http://www.sparetimegizmos.com/Hardware/Elf2K.htm [A few people cosmacelf are considering such purchases, of different cards. Check that Yahoo group for more information. - Herb] Mike Riley posted this proposal on July 20 2010: Another possibility for PCBs is my Micro/Elf or Pico/Elf. Both of these boards are smaller than the Elf2k, so would be cheaper and there are also no programmable chips, all the components are easily obtained. But I would have the same conditions as Spare Time Gizmos, 25 boards would have to be ordered in order to make it affordable and worth doing. - Mike http://www.elf-emulation.com/hardware.html [Check that Yahoo group for more information. - Herb] A few members discussed costs of PC boards from various vendors. Lee commented on costs with volume: It will depend on the PC board supplier, but they all have a price schedule so the more you order, the cheaper it gets. I like using Advanced Circuits for my boards. Here are some sample prices for a 6" x 8" board I just ordered from them: 5 pieces, $80.42 each 10 pieces, $45.82 each 50 pieces, $22.42 each 100 pieces, $16.82 each These are all for 4-week delivery; the price is higher if you want it sooner. Also, there is a $149 tooling charge if any special operations are required, like gold plating an edge connector or an unusual material or shape. By keeping the board small and avoiding special operations, the price is lower. I paid $30.18 each for my 6 Membership board [pairs], for example (it's 3.5" x 2"). - Lee Hart ----------------------- August 2010 On August 5th, Lee Hart contacted me about his second prototype run of 6 cards. On August 12, Lee said: A RAM data sheet normally says it will disable its output in 50ns from /OE going high. 1802 /MRD going high both disables the RAM (sets /OE high) and resets the 4013 to make the Enable of the '373 go high (latching the data). The 4013 data sheets spec a propagation delay of 70-200nsec. Mine must have been fast enough to pull the 373's enable high before the RAM removed the data from the bus. Changing the '373 between C, HC, or LS shouldn't affect this; all of them latch the data essentially immediately when Enable goes low. It's mainly the 4013 delay that's the issue. If there was a 74HC4013, it would have solved the problem by being much faster than 50ns; but there aren't any. I changed to the '374 because it latches on the *rising* edge, rather than the trailing edge. The rising edge occurs when TPB goes high (plus the propagation delay of the 4013). This unconditionally works with the existing board, because the RAM is selected well before TPB. On the new design, I select the RAM on the rising edge of TPB (to reduce power consumption). This means the 4013 must have a propagation delay equal to or greater than the RAM's access time. To guarantee that this is always true, I added a capacitor on the Q output of the 4013. On a sample of one, 82pf was plenty (though I may readjust this later when I have more chips to test). On-board sockets ---------------- In August, Lee Hart has considered reducing the height of the cards, by changing the boards to accomodate individual socket "pins" which act as sockets. These call for larger PC board holes, and the pins must be pressed into place and make good contact with those through-plated holes. For a short run of boards, it's possible to specify a the larger holes, even if sockets are used in some cases. - Herb Johnson On August 16th, Lee said: I changed the Membership board layout as follows: - use 0.040" holes for all the ICs, so these pins will fit - changed I/O port from 5 to 4 (same as original Elf) - added a hole to each switch, so a standard switch should fit as well as the ones I have with a wider-spaced pin - added jumper option for 1804/5/6 - misc. "twiddling" to increase spacing on solder-side pads to reduce chances of solder shorts - (plus the changes previously done, such as changing R8-R10 from 100k to 470k, change U7 from 74HC373 to 74HC374, add MOSFET Q1 to reduce memory chip active time, and add C7 to tweak output port latch timing to match memory access time) - Lee Hart Lee at that point was reviewing quotes and costs for these changes. On Sept 10th, Lee said in retrospect: Man, that's a tight board! I increased the hole size from 0.035" to 0.040", which required increasing the pad from 0.055" to 0.060", which required tightening the closest trace spacings from 0.015" to 0.0125". It's pretty tight to get a trace between two of these socket pins. I stuck with my rules of no traces on the solder side between IC pins. This is avoid the risk of shorts when soldering. There are actually a bunch of rules I followed, in an attempt to make it easier to build. - no surface mount - no custom, special, or single-sourced parts (the 1802 is the hardest part to get) - minimize plated-thru holes - no traces less than 0.015" wide - no traces any closer than 0.045" to a solder pad on the bottom side (had to change this to 0.040" on the rev.B board for the socket pins) - no traces any close to each other than 0.015" (reduced to 0.0125" on the rev.B board) - largest pads possible with the above limits (for easier soldering) [For a good price on socket pins,] I can change all the ICs to use them. They are cheaper than high quality regular socket (though more than el-cheapo sockets). The main drawback is that the holes are then a little sloppy if you directly solder in the chips or use some other kind of socket. [Regarding use of 1804's with their internal ROMs of unknown content] What would be ideal is if the ROM in these 1804's was somewhere other than 0-2k. Then you could put an EPROM on the Membership board with your program, and use the 64-byte RAM in the 1804 (wherever it turns out to be) for a small amount of RAM. Hm... scheming and dreaming... DMA still works on the 1804, same as the 1802. What if the 1804 is reset, then DMA-OUT is pulled low, then the 1804 goes to RUN mode? It won't be able to fetch the first instruction from internal ROM because DMA takes precedence. R0 will step ahead, skipping the first instruction. So, hold DMA low until some event signals that you are out of the internal ROM. For example, that the /EMS pin goes low, indicating that R0 has stepped to an address outside the 1804's internal memory. Now let DMA-OUT go back high. The 1804 should then skip the internal ROM until it gets to an address like 0800h (top of a 2k internal ROM addressed at 0-07FFh). Your external memory then gets control. - Lee Hart Sept 10 2010 document edited by Herb Johnson (C) Herb Johnson 2010