1802 Membership Card serial bugs, /EF3 & /EF4 monitoring Lee Hart, Feb 25 2017 cosmacelf Yahoo post Additional notes from Chuck Yakym, added Apr 27 2017 This document is obsolete; the new document is: serial_fixes_revI.txt -------------------------------------- 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, has noted that his ROM monitors /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 which disusses Lee's diode fix as below. 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.