Last updated Sept 22 2016. This is about operating the serial hardware the COSMAC 1802 Membership Card with DC power borrowed from a terminal or PC serial port. Also discussed is a ROM monitor/BASIC provided by Chuck Yakym; but the circuit described only needs a serial connection. Work done and reported by Lee Hart, edited by Herb Johnson, copyright 2016 on portions written by Lee Hart.
For more information on Membership Card and low power operation, see Low power operation of the Membership Card and Low power, solar-cell, operation of the M/S card. Another Web page shows a simple kit for ROM RAM and a serial interface. Note: many TTL to USB "cables" can provide 5-volt power, so this circuit isn't necessary for sourcing DC power with those adapters. - Herb
Sunday, May 1st 2016 - Lee Hart So this weekend I tried out Chuck Yakym's monitor. He gave me a programmed EPROM last time I was in Michigan. It's about time I stuck it in a board and fired it up. I also wanted to test some things with the RS-232 interface. I learned a lot along the way.
I built a little adapter that uses an RS-232 port to both power the
board, and provide the serial interface. There's nothing to it but a
25-pin male D-connector (to plug onto the 1802MC Front Panel), a 9-pin
female D-connector (plugs into a PC serial port), wire, and two 1N4148 diodes.
PC DB9 1802MC DB25 RX 2 _____________________ 15 TXD TX 3 _____________________ 20 RXD DTR 4 _________|\|_________ 18 POWER -->to supercap |/| | | RTS 7 _________|\|___| |/| ____ 19 GND GND 5 ________________|____ 21 GND
Your terminal [or terminal] program needs to set DTR and/or RTS high. This is what powers the 1802MC via the diodes. Windows Hypertext seems to do this by default. I haven't figured out how to get a linux terminal program to set DTR or RTS.
It takes a few minutes for the limited current available from an RS-232 port to charge up the supercapacitor. But once it does, it works! VDD was about 4.3v to 4.75v, depending on which PC I used. [Note: operate the front panel to display no data LED's, as they consume milliamps of current. - Herb]
I configured RAM for 0-32k, and EPROM with the monitor at 32-64k. The
clock speed was 1.780 MHz (i.e. the resonator on this board). Serial was
set for Normal (non-inverted) data [on transmit and on recieve?].
Use the front panel switches to load
a 3-byte branch to 8000 (C0 80 00). Run it, and hit Lee used 1N4148 diodes, a common fast-switching silicon diode. Other small silicon diodes should work, all will drop some voltage across them. The 1N4148 at 1mA typically drops .6 volts; a common 1N4001 would drop .9 volts. While in principle a germanium diode might drop less voltage, it's not much different at milliamp currents; they are scarce and expensive; and "new" ones may be fakes. - Herb Johnson
Q: how do you set up the DC power connector on the front-panel
board? It normally has jumpers from 1-2 and 3-4 to connect the front panel
to CPU power.
A: Here's the scoop:
Get two shorting jumpers. Use one to short P4 pins 1-2 (VDD to RUN; this enables the clock). Use the other one to short P4 pins 3-4 (LED to GND; this enables the LEDs). But if you're running on RS-232 power, it helps to remove the 3-4 LED jumper. This lets the supercap charge up a lot faster.
Set all the front panel switches DOWN when powering up. This too will minimize the supply current.
My own Membership Cards have the LEDs replaced with high-efficiency (white or blue) ones, and the series resistor SIP for them changed to 3.3k or 4.7k. The LEDs are still bright enough, and it greatly reduces supply current.
VDD needs to reach about 4.3v for the oscillator to be able to "lock in" at 1.8 MHz. While it works at lower voltages and lower baud rates, the RC oscillator isn't stable enough for reliable serial communication unless you have a regulated power supply.
One surprise: The negative idle voltage on the RS-232 input (coming from
the PC, to the 1802MC's [receive circuits] is being clamped at -1v to -2v.
It turns out that
Q5 (the FJN3307 NPN transistor+resistors) is current-limiting at 20ma.
The RS-232 line can't supply this much, so it sits at -1v to -2v. It
works; but looks "wrong" [when compared to voltages on a normal serial
connection].
[Front-panel boards rev.G and earlier with recieve circuits],
had a 3.3k series resistor in the receive input. [Here's a Tech Note on similar serial interface circuits.] That worked fine -- it neatly limited the current to
I = -12v/3.3k = 3.6ma which is no problem for an RS-232 driver. I'm
going to look into it and see if I can improve the Rev H2 or later designs so the
negative idle voltage is better.
[Chuck Yakym's V 1.5 monitor in hex form, is available from the
cosmacelf
Yahoo group in their "files" section, in the folder by "The Eagle", folder
"Membership Card Serial Monitor Program". - Herb]
Chuck's monitor does indeed work at 9600 baud. Also anything down to at
least 1200 baud (I didn't try it any lower). It seems pretty solid (no
crashes). Tiny BASIC works; but it overwrites the 3-byte Branch
instruction, so it will have to be re-entered if you need to reset.
I don't know which version of Tiny BASIC he used. It isn't
the TMSI version,
because the USR function doesn't seem to work, and the built-in USRs to
peek, poke, input, output, and call the monitor aren't there. It may be
in his docs.
- Lee Hart
This page and edited content is copyright Herb Johnson (c) 2016.
Contact Herb at www.retrotechnology.com, an email address is available on that page..
Diodes
DC power connector
RS-232 negative voltages
Example of use: Chuck Yakym's BASIC/monitor program
Contact information:
Herb Johnson
New Jersey, USA