Last edit October 15 2009, reformatted Feb 2010 - Herb Johnson In October 2009, Lee Hart began to update his prior design for the 1802-based Membership card. Here's his correspondence with me about that work. See the Web page "http://www.retrotechnology.com/memship/memship.html" for more information. - Herb Johnson > I'll take one membership board set, and most likely the 1802 series chips for them, let > me know the costs. I may have a stock of CMOS UVPROMS; tell me some part numbers you'd >use and I can see what pulls I have. Same with CMOS static RAMs. OK, I'll order 3-5 boards to get the ball rolling. I breadboarded the design, but made a few "improvements" after that -- so I want to start with a few [boards] to be sure it works. The errors are more likely to be assembly problems (hole sizes, parts that hit, etc.) [As for loading RAM via the parallel port,] I'll probably write an example in QuickBASIC. I think I sent you the Membership board schematic? It can be operated by a PC's parallel port. To load a program into the 1802's memory, and run it, [these PC parallel port lines must be operated as follows:] - set INIT (pin 16) low (resets the 1802) - set AUTOFEED (pin 14) low (puts the 1802 in LOAD mode) - set SELECTIN (pin 17) high to enable writes into 1802 memory - set D0-D7 (pins 2-9) to the byte to write into 1802 memory - pulse STROBE (pin 1) low to write the byte and increment the address - set AUTOFEED high to end load mode (INIT still low, so 1802 is reset) - set INIT high, and the 1802 runs the program you loaded. To read the contents of the 1802's memory [via the parallel port]: - set INIT low (resets 1802) - set AUTOFEED low (puts 1802 in load mode) - set SELECTIN low to make 1802 memory read-only - set STROBE low to read 1802 low nibble: Q0 is on SELECT (pin 13) Q1 is on PAPER (pin 12 Q2 is on ACK (pin 10) Q4 is on BUSY (pin 11) - set STROBE high to read 1802 high nibble: Q5 is on SELECT (pin 13) Q6 is on PAPER (pin 12 Q7 is on ACK (pin 10) Q8 is on BUSY (pin 11) - set STROBE low to increment to next address and read its contents While the 1802 is in RUN mode: - D0-D7 are inputs that get read by the 1802's IN5 or IN7 instruction - Q0-Q7 are outputs written to by the 1802's OUT5 or OUT7 instruction - the 1802 Q output can be read on ERROR (pin 15) - the 1802 /EF4 flag input can be set by STROBE The Membership board has one 28-pin socket. It can be jumpered for a 2716, 2732, 2764, 27128, or 27256 EPROM; or 6116, 6264, or 62256 RAM [with battery backup to hold the contents.] > I like the battery and CMOS RAM deal, a lot of the guys who will buy this, have > SRAM chips around. Help them identify which are "low power" by brand and model > number - all I know is to look for the C in the name. The "C" in the number gives you a hint, but it's a hodge-podge. NMOS memory chips draw 50-100ma. Some CMOS memory chips draw 5-10ma; others draw essentially nothing when static (their only power is consumed during edges, like CMOS logic). > And I assume you will provide the diode and connections for the battery backup. Yes, they are on the board. There's a 0.047 farad memory backup supercapacitor and diode. There's a pot that sets the RC oscillator's clock speed. With a good memory chip, if you used two AA cells for power (3v), and set the clock speed to 500 KHz, I'm guessing it would draw under 1ma running, and something way down in the microamps when held in reset. The plan is that you'd plug in the PC parallel port, load the program, halt the board, unplug the Membership card from the PC, and then connect it to whatever power supply your gadget will use. The supercapacitor will hold the program during the time to move from one power supply to the other. > You may want to see, if the old 8th can be adapted to your new board. That could be adapted pretty quickly. I have HEX files with 8TH in it. It uses Q for serial output and EF4 for serial input -- maybe the PC can read/write using it as-is. Membership board parts list: [updated Oct 15 2009 2PM] Membership board parts list: C1 100pf NPO ceramic capacitor, 0.1" lead spacing C2-4 0.1uF Z5U or X7R ceramic capacitor, 0.1" lead spacing C5 0.047 farad 5.5v memory backup capacitor, 0.465" dia, 0.2" lead spacing D9,10 signal diode, 1N4148 etc. D11 zener diode, 5.1v 1N5231B etc. J1 30-pin header, 0.025" square pins on 0.1" centers J3-6 jumpers to short pins in P2 and P3 (configuration for U2) P2 5-pin header, 0.025" square pins on 0.1" centers P3 4x2 pin header, 0.025" square pins on 0.1" centers (2 removed) R1 trimpot, Bourns 3266W or eq, 0.25" square, 0.1" lead spacing R2 10k 5% 1/4w resistor R3,6 100k 5% 1/4w resistor R4 470k 5% 1/4w R5 100k x 8, 9-pin SIP, one side bussed R7 1meg 5% 1/4w resistor U1 CMOS CPU, CDP1802 U2 2k-32k CMOS RAM (6116, 6264, 62256) or EPROM (27C16-27C256) U3,7 CMOS octal latch, 74HC373 U4 CMOS quad 2-input NAND gate, schmitt trigger, 4093 U5 CMOS dual D flip-flop, 4013 U6 CMOS octal buffer, 74HC244 Front panel board: C6 0.1uF Z5U or X7R ceramic capacitor, 0.1" lead spacing D0-D8 LED, T1-3/4 high brightness J2 DB25F female connector, PC mount P1 30-pin female top entry socket for J1, Molex KK series Molex 22-18-2101 (10-pos; use 3) P4 4-pin header, 0.025" pins on 0.1" centers R8-10 100k 5% 1/4w R11 1k x 9, 10-pin SIP, one side bussed R12,R13 100k x 7, 8-pin SIP, one side bussed S1-10 SPDT toggle switch, C&K T101 series S11 SPDT pushbutton switch U8 CMOS quad 2-input OR gate, 4071 U9 CMOS quad data selector, 74HC257 -- The two boards plug together, with the front panel board on top, and *should* fit in an Altoids case (about 2" x 3.25" x 0.75") if you don't use sockets on the computer board. I've considered making a third blank PC board, that just has the holes to serve as a template to drill the holes for the LEDs and switches in the Altoids case. But that's not done yet. - Lee Hart [Lee added later, some discussion about choice among LED's:] I designed the Membership front panel for T 1-3/4 (0.2" dia.) LEDs; but you can clearly use smaller ones if you have them, or like them better. I have lots of red, yellow, and green LEDs from a 1000-piece purchase for my Christmas tree PCBs. They cost me [pennies] each. But they are just ordinary standard-brightness parts. They need at least 1ma for usable brightness. I have about 30 ultra-bright blue LEDs left over from a project. They were [well under $1] each, but easily 10 times brighter at a given current than the above cheap LEDs. I only have a few ultra-bright red LEDs. The 1k series resistor was a compromise between power and brightness. I did a quick test: with a 3v supply: blue 0.25ma dim red 1.37ma very dim red ultrabright 1.35ma dim with a 5v supply: blue 1.97ma extremely bright red 3.35ma normal brightness red ultrabright 3.5ma very bright Obviously, there are a lot more choices. Herb Johnson and Lee Hart wrote: > Please write an example in QuickBASIC, when you are testing again. OK; will do as soon as I get the PC boards to play with. > Now that you are working on the "membership" card again, I've created a NEW > Web page, only about the membership card (and your BASYS and 8th work): > http://www.retrotechnology.com/memship/memship.html Excellent work! I looked, and it is quite good. Strangely, I even enjoyed my own writing (I had forgotton much of it). Are you ready for me to publish the location of this latter web page on the COSMACELF group? >> You may want to see, if the old 8th can be adapted to your new board. >> That could be adapted pretty quickly... > Again, Lee - your 8th hex files, and now the PDF of the 8th manual, are on > my membership Web page. See if you can get some help to hand-write that source > PDF back to an assembly language file. OK, maybe someone has a good scan-to-text program, or enough time. > [the text is dot-matrix on greenbar, too hard to OCR] What I'd really like to do is have 8TH be able to compile itself. We wrote a program to do that on the old HMDS development system. As I recall, it was about 8k of code. We didn't have that much memory in any of our BASYS boards, so [an 1802 assembler] was easier. > > Membership board parts list: [parts given] > > front panel board: [parts given] > > Lists added to the membership Web page. Are they different from the previous > lists there? I didn't compare them. The last rev. date on my DEV2.SCH is 9/16/08, so there may be some minor changes. > Lee, everyone I've met with ANY interest in old computers, [likes front > panels with switches and LED's.] So anything you do to make things toggle > and blink is a good thing. Agreed. They get tired of them soon enough, but it's a great way to start. Then the lights and switches become an easy way to monitor an output port, or manually set bits for an input port to test programs. > I'm not sure why you'd need a PC board as a template, instead of say just > laser-printing a template. I'd consider drilling out a piece of Lexan or > other transparent material instead If you want a nice looking front panel, the holes for the switches and LEDs need to be accurately positioned. It's hard to drill an Altoids tin (or other front panel) neatly without good tools. So, the idea was to make a PC board with no copper on it; just the holes for the LEDs, switches, and D connector, and silkscreening to label them. The builder would drop this board *inside* the Altoids case cover, and use the holes as guides to drill the steel cover. Then move the board to the outside of the case, and attach it with the nuts that go on the toggle switches. > Consider Lexan [for a better look] at the hardware. Or someone will put a > black mask behind it, maybe with little legends, like the IMSAI. > Certainly, considering the looks of the "front panel" is good marketing. - Herb Johnson That's true. With color printers so common, I'm guessing that people can come up with some pretty clever ones. Retro ones with plain old red LEDs and toggle switches, Steampunk designs with brass and rivets and LEDs that look like neon lights, or something futuristic with blue LEDs and Star Trek logos. :-) - Lee Hart [Over the next few days, Lee posted in cosmacelf and got some interest and discussion there...] Oct 12th 2009: The cosmacelf list has continued to discuss itty-bitty micros and the membership board. [Source code and schematic for a simple PIC 1802 emulator were posted and discussed.] I worked on the circuit of my Membership board some more. (I think) I've fixed the problem of keeping a program safe in RAM when the board is plugged or unplugged. I also fiddled with the layout some more, to add this and make a number of small improvements. I asked others on the cosmacelf list if anyone wants a "beta" board to play with, and have a few takers. So if all goes well, I'll order 5-6 boards on Monday. :-) - Lee Hart