COSMAC ELF (Membership Card)

I have to publicly Thank Mr. Lee Hart and Mr. Herb Johnson for all their kindness and advice and most of all their patience.

CDP 1802 Manual

cdp1802.pdf

Membership Card Rev. J Schematic

mem_revJ_sch.pdf

2018-06-21 I have always wanted to get one of these so recently I purchased it from Lee Hart. You can get them from his site at http://www.sunrise-ev.com/membershipcard.htm. I got the full kit with the cover card which was about $98. The day I got it I immediately began building, populating all of the resistors and capacitors. I should have made some images before I started and while I was adding components but I didn't seem to have the time.

2018-06-21-001-membrship.jpg

Today I started soldering the sockets onto the board (there are only two, the one for the 1802 CPU and the one for the RAM/ROM. So far the only difficult thing has been getting the 30-pin header (P1) properly installed. It would have been easier if I had a 30-pin female connector but I did not so I ended up with header pins askew and having to be physically re-aligned a few times.

2018-06-25 I am making progress. This was before I soldered all the front-panel stuff. I am stalled waiting for my 32-ram chip to arrive so I can have 64K ram installed. I ordered same from Mouser. 727-CY7C199D-10VXI CY7C199D-10VXI Cypress SRAM US HTS:8542320041 ECCN:EAR99 COO:CN

2018-06-25-003-membrship.jpg

The front panel is very cool. I also cut out some insulating paper to put under the bottom circuit board after it is installed into the Altoids tin. There is no way it won't short out unless you protect it. The paper is only temporary as I locate some plastic insulation sheets.

2018-06-25-002-membrship.jpg

**2018-07-10* I finally obtained the right DIP package and was able to install U8 (32K Static RAM) last night.. It still does not fit into the Altoids case well and protrudes a bit so I am going to work with it outside a case for now. I might find a way to mount it in some kind of acrylic design.

2018-07-06 I am still waiting for the CY7C199 (U8) I keep ordering the wrong DIP package. I checked most of the well-known electronics stores and they are all out of stock an marked obsolete. I found 5 of them on eBay and just ordered them yesterday.

2018-07-09 I finally got the right DIP package version of the CY7C199 and I soldered it in tonight.

2018-07-09-001-membrship.jpg

There is not much space here around U2 and U8.

2018-07-09-002-membrship.jpg

This is what it looks like and I understand that this DIP package format for U2 is quickly becoming unobtainium.

2018-07-09-003-membrship.jpg

Not much more left to do until I start testing. I hope I haven't made any mistakes. I am trying to locate a molex connector to power up the card safely.

2018-07-10 I ran across the schematic for Rev. J cards so here it is:

I am ready to power up the 1802 but discovered I had no molex connectors that fit so I am ordering a few from Mouser. The connector body is Molex part number 22-01-2061 and the pins are 08-55-0102.

I sacrificed some male-female jumpers and added one of those SparkFunm USB cards for power.

2018-07-11-01-membership.jpg

2018-07-15

I finally had a chance to work on the 1802 card today and I replaced J1 (all the headers removed and a new header installed.) This time I opted to leave the plastic strip attached and do not care about fitting it into an Altoids tin. I loaded a few test programs but need to write some custom code to test upper memory (65K)

2018-07-18 I finally got the Molex connector and pins needed for the P4 connector. The Mouser P/N for the plastic body is 538-22-01-2061 MFG P/N 22-01-2016. The Mouser P/N for the pin inserts is 538-08-55-0102 MFG P/N 08-55-0102.

I obtained the version of A18 from the GitHub repo maintained by the person who ported A18 to unix (Mark Sherman). I tried Herb Johnsons' version and it won't even come close to compiling with gcc on linux. See https://github.com/carangil/A18 I have a link to a zip file made from a pull on 2018-07-18. See A18-master.zip

Here is the sample output from test18.asm

:20010000000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1FEF
:20012000202122232425262728292A2B2C2D2E2F30003100320033003400350036003700AB
:20014000380039003A003B003C003D003E003F00404142434445464748494A4B4C4D4E4F4B
:20016000505152535455565758595A5B5C5D5E5F6061626364656667696A6B6C6D6E6F7087
:200180007172737475767778797A7B7C007D007E7F00808182838485868788898A8B8C8DFC
:2001A0008E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACAD8F
:2001C000AEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC00100C10100C20100C30100C4C5B7
:2001E000C6C7C80100C90100CA0100CB0100CCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDD57
:20020000DEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F800F900FA0022
:09022000FB00FC00FD00FEFF00E4
:200300006800680168026803680468056806680768086809680A680B680C680D6820010049
:20032000682101006822010068230100682401006825010068260100682701006828010051
:2003400068290100682A0100682B0100682C0100682D0100682E0100682F0100683E00687C
:200360003F006860686168626863686468656866686768686869686A686B686C686D686E1D
:20038000686F687468766877687C00687F006880010068810100688201006883010068848C
:2003A00001006885010068860100688701006888010068890100688A0100688B0100688CB1
:2003C0000100688D0100688E0100688F01006890689168926893689468956896689768985B
:2003E0006899689A689B689C689D689E689F68A068A168A268A368A468A568A668A768A875
:2004000068A968AA68AB68AC68AD68AE68AF68B068B168B268B368B468B568B668B768B854
:2004200068B968BA68BB68BC68BD68BE68BF68C0010068C1010068C2010068C3010068C4EA
:20044000010068C5010068C6010068C7010068C8010068C9010068CA010068CB010068CC10
:20046000010068CD010068CE010068CF010068F468F768FC0068FF00F801B2F800A2FF000C
:05048000010000FFFF78
:05048000010000FFFF78
:090495004558504C4F53494F4E9D
:00049E015D

2018-07-20

I have a couple sets of firmware (IDIOT) coming for my first two membership cards and also some BASIC firmware to try out. I need a few basic tools before I can actually use the system for what I want to do.

I want to initially use the system as a controller for hardware that I will either build or other devices I need to monitor.

I really like the low-power consumption of the system and I am beginning to like it's I/O design very straightforward.

I was able to design a way to create memory-mapped I/O too by adding an address decoder that sits on the address bus and carves out a chunk of memory for whatever expansion hardware you wanted. You would have to probably add another card below the cpu card with double-sided headers for J1 to stack another card. I have been thinking about doing that for some kind of stationary membership card in some kind of chassis so I could break out the address lines to start breadboarding some new I/O devices.

By just writing a value to a "memory location" that is decoded by a new output buffer circuit sitting on the third card that you just built and then the sky is the limit as you add further addresses to handle configuration registers and voila suddenly you have something really useful. It will have been created using assembler and solder.

for using something like the MCP23017.