1802 Membership Card serial bugs, /EF3 & /EF4 monitoring Lee Hart, Feb 25 2017 cosmacelf Yahoo post Additional notes from Chuck Yakym, added Apr 28 2017 On Mar 1 2017, Lee Hart found that some ROM monitors, examine /EF3 before sending on Q, or connect the 1802 interrupt to /EF3. Chuck Yakym, who produces a BASIC and monitor ROM, noted later in March that his ROM monitor checks /EF4 (the serial input) "as a break input". Here's discussion from both persons on the subject. Also see the Rev I support page for the Rev I schematic and manual, and more discussion: http://www.retrotechnology.com/memship/mem_revI.html#engineering Lee Hart, Feb 25 2017 cosmacelf Yahoo post My new rev.I Front Panel board is out. It expands connector P4 from 4 pins to 6 pins. The two extra pins are TTL-level serial input and output, and the pinouts match the Sparkfun #9718 USB-serial cable (and other USB-serial adapters). This means you can plug the Membership Card directly into a PC USB port to get both power and serial data. :-) In checking it out with RCA's BASIC3 and Chuck Yakym's serial drivers, I ran into a little problem. Chuck's code checks the level of the EF3 pin. If low, it assumes that low is the idle level, and uses that for both EF3 and Q serial data. If high, it assumes that high is the idle level, and uses *that* for both EF3 and Q. This work fine with an RS-232 terminal connected to the 25-pin D-connector. But, it didn't work with the new TTL-level pins on the P4 connector. Why not? Because, when you have *nothing* connected to the serial pins of the DB25 connector, the circuit echoes the Q level back into the EF3 pin. Since Q=0 after power-on or reset, this makes EF3=0. That's the *wrong* level for the TTL idle state. So Chuck's program sets itself up for inverted data, which doesn't work. The "fix" is easy. Add a diode (D15 = 1N4148 etc.) across [4.7uF] capacitor C8. Anode to the junction of C8-D13-R14; cathode to ground. [The diode body will have a line near the cathode pin, which matches the vertical line in the diode circuit symbol.] Everything works the same for RS-232, except that the level of Q won't get echoed back into EF3 if nothing is connected to the RS-232 input. The fix is documented in the rev.I manual. See page 10 (how to install) and page 21 (schematic) at [the Membership Card Rev I support page]. The fix actually applies to *all* revisions D thru I; but the problem wouldn't be noticed because most programs don't pay any attention to the level of EF3 when controlling the Q output. But if you want to run Chuck's monitor or BASIC3 with TTL-level serial I/O, you'll need to add this fix. - Lee Hart, edits in []'s by Herb Johnson --------------------------- Mark Abene, post in cosmacelf Yahoo group, Apr 25 11:58 PM I figured out the problem!...It was /EF4, which [Chuck's monitor/BASIC] uses for the Input key. Chuck's monitor polls /EF4 as a physical break key, and I had left it floating. the-eagle[Chuck Yakym], post in cosmacelf Yahoo group, Apr 26 3:37 PM You are correct, if the /EF4 floats then Tiny Basic may see it as a break input. If /EF4 is held LO then the software will wait until it goes HI then continues onward. - Chuck Yakym Chuck suggests there's notes about his ROM monitor on the cosmacelf Yahoo Web site at https://beta.groups.yahoo.com/neo/groups/cosmacelf/files/The%20Eagle/ which is "the-eagle" file folder. In private email, Chuck added: "The 1802 reacts like any other digital IC as far as having a "floating" input. The IC may see it as a LO or HI and it may change state on its own at any time even through nothing has changed in its circuit. Generally speaking, most unused (no pull-up or pull-down resistor) inputs are at a HI logic level, but it could also see a LO logic level, depending on the IC."