Loading ...
Sorry, an error occurred while loading the content.

Pocket ELF UI - 9 switches, 9 bi-color LEDs

Expand Messages
  • mikemclaren6502
    Here s a concept for using a PIC as a switch/LED front panel interface to the 1802. Comments, criticism, suggestions welcome, but, please keep in mind that
    Message 1 of 22 , Mar 8, 2014
    Here's a concept for using a PIC as a switch/LED front panel interface to the 1802.  Comments, criticism, suggestions welcome, but, please keep in mind that the idea here is to come up with a simple, elegant, intuitive, and economical alternative to the relatively expensive toggle switches used in a "more authentic" ELF design.  

    1802 data out is displayed in green.  Switch input is displayed in red, but only when in "load" mode.  For example, enter switch data which is displayed in red, then press <IN> to write memory and the 1802 output from the write operation is displayed in green. Press and hold the <IN> key for about one second (a "long press") to display or edit mode settings which are displayed in yellow.

    Regards, Mike
  • joshbensadon
    Hi Mike, It looks good so far, but I don t quite understand the whole concept. I m a little confused with the various emails (it s not you, it s me).
    Message 2 of 22 , Mar 8, 2014
    • 0 Attachment
      Hi Mike,

      It looks good so far, but I don't quite understand the whole concept.  I'm a little confused with the various emails (it's not you, it's me). 
      Questions:
      Are those 9 push buttons? How does someone toggle a bit on/off?
      Is that a PIC chip that is toggling the switch?
      Is the PIC chip also emulating an 1802 or just replacing the switch & LED I/O registers?

      PS. I wouldn't let criticism stop me from doing something because it's "the hard way" or whatever...  my endeavours in this hobby are for my pleasure and fun. 
    • joshbensadon
      Mike, I went to look at all your uploaded pictures and understand now that those switches are the little square through hole type push button switches as shown
      Message 3 of 22 , Mar 8, 2014
      • 0 Attachment
        Mike,

        I went to look at all your uploaded pictures and understand now that those switches are the little square through hole type push button switches as shown in the example picture of what looks to be a clock.

        Regards,
        Josh
      • mikemclaren6502
        Hi Josh, I ll be using PCB mount momentary contact push buttons but I suppose you could use cap touch keys if you wanted. Press a push button to toggle a bit
        Message 4 of 22 , Mar 8, 2014
        • 0 Attachment
          Hi Josh,

          I'll be using PCB mount momentary contact push buttons but I suppose you could use cap touch keys if you wanted.  

          Press a push button to toggle a bit (LED) from on-to-off or from off-to-on.  For example, let's say you just entered a byte of data.  After pressing the <IN> key the display shows 1802 data in green, which is what you had just entered.  Now you're ready to enter the next byte.  As you press a push button to enter the first bit of a new byte the green display of the previous byte disappears and the bit you're entering lights up in red.  Subsequent push button presses will toggle the corresponding LEDs from off-to-on or from on-to-off, also in red, until you press the <IN> key to write the byte into 1802 memory.

          I'm attempting to build an ELF clone much like Lee's Membership Card but the expense of the toggle switches in his design (and the original ELF) is beyond my meager budget.  That's why I'm researching alternative front panel designs.  I'd like to use a real 1802 in my design but while I'm waiting for a pair of 1802 chips to show up from China I may build a simple two chip design using a PIC (emulating an 1802) and a 64K RAM IC in order to test and characterize the front panel interface.

          Regards, Mike
        • Lee Hart
          ... This could work. There are pushbuttons with built-in LEDs, too; that would keep it small. You don t need a PIC, but could use one if you like. If I was
          Message 5 of 22 , Mar 8, 2014
          • 0 Attachment
            mikemclaren6502@... wrote:
            > [Attachment(s) <#TopText> from mikemclaren6502@... included
            > below]
            >
            > Here's a concept for using a PIC as a switch/LED front panel
            > interface to the 1802. Comments, criticism, suggestions welcome, but,
            > please keep in mind that the idea here is to come up with a simple,
            > elegant, intuitive, and economical alternative to the relatively
            > expensive toggle switches used in a "more authentic" ELF design.
            >
            > 1802 data out is displayed in green. Switch input is displayed in
            > red, but only when in "load" mode. For example, enter switch data
            > which is displayed in red, then press <IN> to write memory and the
            > 1802 output from the write operation is displayed in green. Press and
            > hold the <IN> key for about one second (a "long press") to display or
            > edit mode settings which are displayed in yellow.

            This could work. There are pushbuttons with built-in LEDs, too; that
            would keep it small.

            You don't need a PIC, but could use one if you like. If I was going to
            use a micro, I think I'd have it emulate the 1802 and its memory and I/O
            as well. The one that did an entire Elf in an 8-pin PIC was pretty
            clever. Or, it could be a one-chip design, if the micro has enough I/O
            pins. You wind up building your own Arduino.

            To me, it's interesting to have a micro that doesn't require a PC to do
            all the heavy lifting. An Arduino is totally useless without a PC. But,
            give it a little keypad, display, and internal software and it could
            actually *do* something. Imagine something as easy to use as a
            programmable calculator that also has programmable user I/O! :-)

            Back to the all-hardware approach: Your pushbuttons that toggle between
            1 and 0 don't require a micro. A single inverter per bit is all it
            takes. A hex inverter handles 6 bits with one chip. The circuit looks
            like this (view with a fixed-width font like Courier):

            VCC (+5v)
            | CMOS hex inverter, Schmitt
            > Ra R1 trigger inputs (40106, 74HC14)
            > 22k 22k |\
            |___________/\/\_______| \o_______output
            | | | | / |
            > Rb | | |/ > R1
            > 22k | S1 / > 220k
            | | |__________|
            | Ca _|_ _|_
            | 0.1uF ___ ___ C1
            | | | 0.1uF
            gnd gnd gnd

            Ra, Rb, and Ca bias the input of all inverters at 1/2 the supply
            voltage. Only one set are needed for all inverters.

            The Schmitt trigger inverter's input has to rise to about 2/3 of VCC for
            its output to go low. It has to fall to about 1/3 VCC of for its output
            to go back high. Between these two (like at 1/2 VCC), the output simply
            stays at its last level. Thus, it functions as a latch.

            The voltage on C1 moves to whatever the output voltage is. Let's say it
            is low. When pushbutton S1 is pressed, it forces the input low. This
            makes the output go high. When you release the button, it stays high
            because the input goes back to 1/2 of VCC. R1 no charges C1 high. So the
            next time you press the button, it forces the input high, the output
            goes low, and stays there when the button is released.

            CMOS has such a high impedance that you can also easily make touch
            switches. A very straightforward setup would be to have one pad for
            "on", and one for "off". They go to the inputs of a 2-gate set/reset
            latch (made with 2 sections of an octal inverter, like a 74HC240). Like
            this:
            |\
            ____/________| \o______
            | set | | / |
            gnd R1 > |/ |
            10meg > |
            |________ |
            ________|_|
            R2 | |
            10meg > |
            > |\ |
            ____/____|___| \o_|____
            | reset | /
            gnd |/

            The Set and Reset switches are just pairs of pads; a grounded copper
            rectangle, with a copper label (like "1") in the middle that's connected
            to the other side of the "switch". When you touch it, skin resistance
            connects the two sides to change the state of the latch.
            --
            Obsolete' Ob.so.lete (adjective) - simple, reliable, readily available,
            inexpensive, easy to use, and well understood.
            --
            Lee Hart's EV projects are at http://www.sunrise-ev.com/projects.htm
          • Lee Hart
            ... It would be useful to mock this up (maybe with a software emulator), and see how well it works. It seems like it will take a lot of button presses; but if
            Message 6 of 22 , Mar 8, 2014
            • 0 Attachment
              mikemclaren6502@... wrote:
              > Press a push button to toggle a bit (LED) from on-to-off or from
              > off-to-on. For example, let's say you just entered a byte of data. After
              > pressing the <IN> key the display shows 1802 data in green, which is
              > what you had just entered. Now you're ready to enter the next byte. As
              > you press a push button to enter the first bit of a new byte the green
              > display of the previous byte disappears and the bit you're entering
              > lights up in red. Subsequent push button presses will toggle the
              > corresponding LEDs from off-to-on or from on-to-off, also in red, until
              > you press the <IN> key to write the byte into 1802 memory.

              It would be useful to mock this up (maybe with a software emulator), and
              see how well it works. It seems like it will take a lot of button
              presses; but if the buttons are particularly easy to use (like QWERTY
              keyboard switches) it would be fine.

              > I'm attempting to build an ELF clone much like Lee's Membership Card but
              > the expense of the toggle switches in his design (and the original ELF)
              > is beyond my meager budget.

              I was stuck with the subminiature switches by the (self-imposed) desire
              to put it in an Altoids case. It fits; but you don't really want to use
              an entry device this small any more than you have to.

              There are many more "fun" ways to do it. We've brainstormed a lot of
              them in the past (hex keypads, touchscreens, etc.) Think of ergonomic
              ways to *easily* enter data into a device that also happen to require a
              minimum of space, hardware, and software. Maybe like Apple's clickwheel?

              For instance, do you really need 8 keys for 8-bit data. Why not enter it
              serially, with just a 1 and a 0 key. To enter 7A hex (0111 1010), you
              would press 0 1 1 1 1 0 1 0. It could load automatically when you hit
              the 8th key. Or have a separate IN key. Similarly, a single button could
              be the MODE key, that cycles between CLEAR, LOAD, and RUN. With only 4
              keys, they could be much larger and easier to use.

              As an old amateur radio "ham", I rather like the idea of morse code for
              data entry. One single switch can do everything! With practice, you can
              send morse code pretty fast with a good key.

              The other approach is to build a bigger front panel, with more
              conventional (and cheaper) switches. I've always liked front panels that
              used big lever switches, with a wide flat actuator somewhat like a piano
              key (DEC PDP-8, IMSAI 8080, etc.)

              Just food for thought! :-)
              --
              ICEs have the same problem as lightbulbs. Why innovate and make
              better ones when the current ones burn out often enough to keep
              you in business? -- Hunter Cressall
              --
              Lee Hart's EV projects are at http://www.sunrise-ev.com/projects.htm
            • Andrew Wasson
              I think this idea of momentary latching push buttons is a good one. I d rather see it done with hardware as illustrated by Lee s approach an email or two back
              Message 7 of 22 , Mar 8, 2014
              • 0 Attachment
                I think this idea of momentary latching push buttons is a good one. I'd rather see it done with hardware as illustrated by Lee's approach an email or two back but I really do like the concept and it would be great if it could still maintain the MC Altoids box "form factor".

                Mike, where are you located? I'm sure one of us could send a spare 1802 chip your way to help keep up the momentum with your project.

                Andrew





                On 2014-03-08, at 11:12 AM, Lee Hart <leeahart@...> wrote:

                 

                mikemclaren6502@... wrote:
                > Press a push button to toggle a bit (LED) from on-to-off or from
                > off-to-on. For example, let's say you just entered a byte of data. After
                > pressing the <IN> key the display shows 1802 data in green, which is
                > what you had just entered. Now you're ready to enter the next byte. As
                > you press a push button to enter the first bit of a new byte the green
                > display of the previous byte disappears and the bit you're entering
                > lights up in red. Subsequent push button presses will toggle the
                > corresponding LEDs from off-to-on or from on-to-off, also in red, until
                > you press the <IN> key to write the byte into 1802 memory.

                It would be useful to mock this up (maybe with a software emulator), and
                see how well it works. It seems like it will take a lot of button
                presses; but if the buttons are particularly easy to use (like QWERTY
                keyboard switches) it would be fine.

                > I'm attempting to build an ELF clone much like Lee's Membership Card but
                > the expense of the toggle switches in his design (and the original ELF)
                > is beyond my meager budget.

                I was stuck with the subminiature switches by the (self-imposed) desire
                to put it in an Altoids case. It fits; but you don't really want to use
                an entry device this small any more than you have to.

                There are many more "fun" ways to do it. We've brainstormed a lot of
                them in the past (hex keypads, touchscreens, etc.) Think of ergonomic
                ways to *easily* enter data into a device that also happen to require a
                minimum of space, hardware, and software. Maybe like Apple's clickwheel?

                For instance, do you really need 8 keys for 8-bit data. Why not enter it
                serially, with just a 1 and a 0 key. To enter 7A hex (0111 1010), you
                would press 0 1 1 1 1 0 1 0. It could load automatically when you hit
                the 8th key. Or have a separate IN key. Similarly, a single button could
                be the MODE key, that cycles between CLEAR, LOAD, and RUN. With only 4
                keys, they could be much larger and easier to use.

                As an old amateur radio "ham", I rather like the idea of morse code for
                data entry. One single switch can do everything! With practice, you can
                send morse code pretty fast with a good key.

                The other approach is to build a bigger front panel, with more
                conventional (and cheaper) switches. I've always liked front panels that
                used big lever switches, with a wide flat actuator somewhat like a piano
                key (DEC PDP-8, IMSAI 8080, etc.)

                Just food for thought! :-)
                --
                ICEs have the same problem as lightbulbs. Why innovate and make
                better ones when the current ones burn out often enough to keep
                you in business? -- Hunter Cressall
                --
                Lee Hart's EV projects are at http://www.sunrise-ev.com/projects.htm


              • mikemclaren6502
                ... I m working on it, Lee. I have PICs and switches but it may be awhile before I have money to buy a handful of 2-pin bi-color LEDs. Hang in there. ...
                Message 8 of 22 , Mar 8, 2014
                • 0 Attachment
                  >It would be useful to mock this up (maybe with a software emulator), and
                  >see how well it works.

                  I'm working on it, Lee.  I have PICs and switches but it may be awhile before I have
                  money to buy a handful of 2-pin bi-color LEDs.  Hang in there.

                  >I was stuck with the subminiature switches by the (self-imposed) desire
                  >to put it in an Altoids case. It fits; but you don't really want to use
                  >an entry device this small any more than you have to.

                  Everyone loves the solution you came up with.

                  As for other entry methods...  I really like the idea of eight switches, like in the
                  original ELF and your Membership Card.

                  Mike...
                • mikemclaren6502
                  ... It s only really necessary because, unlike toggle switches, there s no easy way to remember what you ve toggled in (lol). Whatever method we use, the 1802
                  Message 9 of 22 , Mar 8, 2014
                  • 0 Attachment
                    >I think this idea of momentary latching push buttons is a good one.

                    It's only really necessary because, unlike toggle switches, there's no easy
                    way to remember what you've toggled in (lol).

                    Whatever method we use, the 1802 still needs to be able to read switch
                    states and update the LED display...
                  • mikemclaren6502
                    Lee, none of your ASCII art made it through on my end...
                    Message 10 of 22 , Mar 8, 2014
                    • 0 Attachment
                      Lee, none of your ASCII art made it through on my end...
                    • Lee Hart
                      ... Heck, just use separate LEDs for breadboarding. :-) ... Well, I wouldn t say loves . That toggle switch front panel is really more for the sake of
                      Message 11 of 22 , Mar 8, 2014
                      • 0 Attachment
                        mikemclaren6502@... wrote:
                        >> It would be useful to mock this up (maybe with a software emulator), and
                        >> see how well it works.

                        > I'm working on it, Lee. I have PICs and switches but it may be awhile
                        > before I have money to buy a handful of 2-pin bi-color LEDs. Hang in there.

                        Heck, just use separate LEDs for breadboarding. :-)

                        >> I was stuck with the subminiature switches by the (self-imposed) desire
                        >> to put it in an Altoids case. It fits; but you don't really want to use
                        >> an entry device this small any more than you have to.

                        > Everyone loves the solution you came up with.

                        Well, I wouldn't say "loves". That toggle switch front panel is really
                        more for the sake of nostalgia than for regular use. It will teach the
                        kiddies how "real men" had to program in the stone age. :-)

                        When I was a kid, we had to walk to school... 10 miles...
                        each way... in the snow... all year... and it was uphill
                        both ways!

                        > As for other entry methods... I really like the idea of eight switches,
                        > like in the original ELF and your Membership Card.

                        Joe Weisbecker was a genius. Much of the design of the 1802 system is
                        brilliant. But I've always considered it odd that his Microtutor / Elf
                        had toggle switches for input (about the simplest and most primitive
                        input device imaginable), but then used those expensive high-tech
                        alphanumeric LED displays. Maybe HP gave him a box of free samples?

                        I think a more ergonomic and synergetic solution would use either toggle
                        switches and individual LEDs (like I did on the Membership Card) -- or a
                        hex keypad and alphanumeric display (like the Quest and Netronics Elf).
                        Or if the 1861 is used, a video output and very simple QWERTY keyboard
                        (like the Timex/Sinclair ZX80, for example).

                        I think a fun project would be an RCA VIP clone in an Altoid can. Flip
                        open the lid, and there's a 2" x 3" LCD screen in the lid, and a 40-key
                        ZX80-like keyboard in the lower part. :-)

                        --
                        ICEs have the same problem as lightbulbs. Why innovate and make
                        better ones when the current ones burn out often enough to keep
                        you in business? -- Hunter Cressall
                        --
                        Lee Hart's EV projects are at http://www.sunrise-ev.com/projects.htm
                      • kriceslo
                        I m confused. $5/ea. doesn t seem expensive at all. Well, not since turning 18 in 1986. Do I have the price correct? Because engineering a $25 solution to
                        Message 12 of 22 , Mar 8, 2014
                        • 0 Attachment
                          I'm confused.

                          $5/ea. doesn't seem expensive at all. Well, not since turning 18 in 1986.

                          Do I have the price correct? Because engineering a $25 solution to replace a $50 solution seems rather extraordinary outside of mass production. Unless production is the goal. I've spent hundreds on a single front panel before.
                        • bill_rowe@rogers.com
                          Mike: Very clean. I have a couple of thoughts: 1) You cold make the serial connector 6 pins to fit a standard ftdi cable. 2) I think the mode setting stuff
                          Message 13 of 22 , Mar 9, 2014
                          • 0 Attachment
                            Mike: Very clean.  I have a couple of thoughts:
                            1) You cold make the serial connector 6 pins to fit a standard ftdi cable. 
                            2) I think the mode setting stuff would confuse me and the "long press" seems fraught with potential error. Maybe a separate button or leds or something.
                            3) Is there an SBC like the 3 chip 6502 one below this somewhere?  Where is the PIC that's driving it?
                            4) I'm intrigued by your expansion bus - that's a lot of capability.  FYI, olduino uses OUT/IN 6 to write/read the SPI bus, OUT 4 for parallel(which would include chip selects for SPI), and OUT/IN 7 for serial to the PC.  
                            5) The olduino loads by mimicking the bootloader of an arduino so avrdude can load a hex file to it at full speed.  It's a treat to be able to compile a C program and punch it down to the 1802 in seconds.  You could consider something similar.

                            I liked your 6502 single board computer when I saw it on Hack-a-day http://hackaday.com/2014/02/12/the-three-chip-retrocomputer I experimented with having an atmega drive the 1802 before i built the olduino but I couldn't quite get the speed up far enough.  My avr skills have progressed since then but I'll watch this with interest.  It's neat to think about doing a set of these - i vote for the Z80 next!

                            I think builds like this are important to keep the older micros accessible.  I think emulation is neat but for a kid coming up and wanting to tickle the wires of an old micro, using a modern one to provide the environment is going to make a lot more sense.



                            Bill Rowe
                            Olduino - An Arduino For the First of Us
                            www.olduino.wordpress.com
                          • joshbensadon
                            Hi Mike, That sounds like a good interface. Inexpensive yet very durable. I believe those little buttons are rated for hundreds of thousands of operations,
                            Message 14 of 22 , Mar 9, 2014
                            • 0 Attachment
                              Hi Mike,

                              That sounds like a good interface.  Inexpensive yet very durable.  I believe those little buttons are rated for hundreds of thousands of operations, perhaps even millions?  You might have an LED failure before the switch fails and we all know how reliable those LED's are.  I remember when LED's started being popular in the local surplus shops.

                              Do you mind if I through some idea's your way?  When entering any byte, holding a button down for longer than a quick press might preset the whole byte to a specific value.  eg, Holding switch 0 turns off all bits, switch 1 turns on all bits (sometimes faster to turn off 1 or 2 bits from "FF"), switch 2 might set the code "F8" which is a very common instruction to Load Accumulator Immediate.  "30" is also a very popular instruction.  I'll leave it to you to choose/research other more popular instructions (or ask others on this forum).  These presets can even be a default, then by holding the switch for a significantly longer period (say 10 seconds), you may allow the user to reconfigure these presets?  My advice on this would be to do it like they did it on the old Car Radios.  eg.  Toggle the byte you want to "save", press and hold the button which to save it to, after 1 second, it might set the display to the previous saved value, but after 10 seconds it recalls your new choice and saves it hence forth.

                              If you are looking for some 1802's, I've got some I can sell, I'm sure many others here have extra's to sell too.
                              I'm in Canada, so shipping will be a little more pricey.  Name your location and ask the group for someone near you.  PS. Make sure they are tested 1802's, and be very weary about the stuff that comes from China.  I've been burned literally by some of them.  I batch of 10 MAX232 chips got so hot, it taught me not to forget the "wet finger" test.

                              Regards,
                              Josh
                            • joshbensadon
                              ... ..odd that his Microtutor / Elf had toggle switches for input (about the simplest and most primitive input device imaginable), but then used those
                              Message 15 of 22 , Mar 9, 2014
                              • 0 Attachment
                                ---In cosmacelf@yahoogroups.com, <leeahart@...> wrote :
                                >Joe Weisbecker was a genius.
                                ..odd that his Microtutor / Elf  had toggle switches for input (about the simplest and most primitive input device imaginable), but then used those expensive high-tech alphanumeric LED displays. Maybe HP gave him a box of free samples?

                                That was a deal breaker for me until I saw his PART 2 were he showed how to used LED's and the 4508 chip (ignore the typo in the article, it's written as 4058 on the schematic).  I wonder if PART 2 was driven by feedback on those HP displays?

                                Josh

                              • bill rowe
                                When entering any byte, holding a button down for longer than a quick press might preset the whole byte to a specific value. eg, Holding switch 0 turns off
                                Message 16 of 22 , Mar 9, 2014
                                • 0 Attachment
                                  "When entering any byte, holding a button down for longer than a quick press might preset the whole byte to a specific value.  eg, Holding switch 0 turns off all bits, switch 1 turns on all bits (sometimes faster to turn off 1 or 2 bits from "FF"), switch 2 might set the code "F8" which is a very common instruction to Load Accumulator Immediate.  "30" is also a very popular instruction.  I'll leave it to you to choose/research other more popular instructions (or ask others on this forum).  These presets can even be a default, then by holding the switch for a significantly longer period (say 10 seconds), you may allow the user to reconfigure these presets?  My advice on this would be to do it like they did it on the old Car Radios.  eg.  Toggle the byte you want to "save", press and hold the button which to save it to, after 1 second, it might set the display to the previous saved value, but after 10 seconds it recalls your new choice and saves it hence forth."

                                  Josh: brilliant!



                                  To: cosmacelf@yahoogroups.com
                                  From: joshbensadon@...
                                  Date: Sun, 9 Mar 2014 10:38:55 -0700
                                  Subject: [cosmacelf] RE: Pocket ELF UI - 9 switches, 9 bi-color LEDs

                                   
                                  Hi Mike,

                                  That sounds like a good interface.  Inexpensive yet very durable.  I believe those little buttons are rated for hundreds of thousands of operations, perhaps even millions?  You might have an LED failure before the switch fails and we all know how reliable those LED's are.  I remember when LED's started being popular in the local surplus shops.

                                  Do you mind if I through some idea's your way?  When entering any byte, holding a button down for longer than a quick press might preset the whole byte to a specific value.  eg, Holding switch 0 turns off all bits, switch 1 turns on all bits (sometimes faster to turn off 1 or 2 bits from "FF"), switch 2 might set the code "F8" which is a very common instruction to Load Accumulator Immediate.  "30" is also a very popular instruction.  I'll leave it to you to choose/research other more popular instructions (or ask others on this forum).  These presets can even be a default, then by holding the switch for a significantly longer period (say 10 seconds), you may allow the user to reconfigure these presets?  My advice on this would be to do it like they did it on the old Car Radios.  eg.  Toggle the byte you want to "save", press and hold the button which to save it to, after 1 second, it might set the display to the previous saved value, but after 10 seconds it recalls your new choice and saves it hence forth.

                                  If you are looking for some 1802's, I've got some I can sell, I'm sure many others here have extra's to sell too.
                                  I'm in Canada, so shipping will be a little more pricey.  Name your location and ask the group for someone near you.  PS. Make sure they are tested 1802's, and be very weary about the stuff that comes from China.  I've been burned literally by some of them.  I batch of 10 MAX232 chips got so hot, it taught me not to forget the "wet finger" test.

                                  Regards,
                                  Josh
                                • mikemclaren6502
                                  Bill Rowe says; 1) You cold make the serial connector 6 pins to fit a standard ftdi cable. That s a good alternative. If you replace the connector on the
                                  Message 17 of 22 , Mar 9, 2014
                                  • 0 Attachment
                                    Bill Rowe says;
                                    >>1) You cold make the serial connector 6 pins to fit a standard ftdi cable.

                                    That's a good alternative.  If you replace the connector on the cell phone end of a clone Nokia CA-42 USB-to-serial cable (less than $3, including shipping) with a 3.5mm plug, you can use a 3.5mm stereo jack on the PCB.  I'm sure there are plenty of other alternatives for the serial connection.
                                     
                                    >>2) I think the mode setting stuff would confuse me and the "long press" seems fraught with potential error. >>Maybe a separate button or leds or something.

                                    I thought that having a button for each real 1802 mode, Run, Pause, Reset, and Load, as well as a Read or View button for the write-protect function, might be a little more intuitive for new users.  The switches control the /WAIT and /CLEAR inputs but the toggle switches on other designs are often labeled something else, such as "LOAD" and "CLEAR".  Having a button for each mode makes the transition from "RUN" to "PAUSE" to "CLEAR" to "LOAD", or from "LOAD" to "CLEAR" to "VIEW", or from "LOAD" to "CLEAR" to "LOAD", when you make a mistake and need to start over, much simpler.

                                    Performing a "long press" on the <IN> switch to display and/or change Mode settings, is not unlike performing a "long press" on one of the station preset buttons on your car radio.  After doing it a couple times, it should become intuitive.

                                    Using separate switches and LEDs for the Mode switches is still an option.

                                    >>3) Is there an SBC like the 3 chip 6502 one below this somewhere?  Where is the PIC that's driving it?

                                    The drawing I posted is just a layout to help me visualize the front panel space required.  The electronics are not shown.  Sorry.

                                    >4) I'm intrigued by your expansion bus - that's a lot of capability.  FYI, olduino uses OUT/IN 6 to write/read the >SPI bus, OUT 4 for parallel(which would include chip selects for SPI), and OUT/IN 7 for serial to the PC.  

                                    I don't know exactly how I will provide the 1802 with direct access to the PIC Serial and SPI modules yet.  I thought I might use one 1802 I/O address to set a target PIC register address and a second 1802 I/O address for read or write the target register.  This would require a lot more operations than would be required if you had memory mapped I/O.  So, why not implement memory mapped I/O?  That is, map a single page into 1802 address space that provides the 1802 with direct access to the PIC special function registers.

                                    >>5) The olduino loads by mimicking the bootloader of an arduino so avrdude can load a hex file to it at full >>speed.  It's a treat to be able to compile a C program and punch it down to the 1802 in seconds.  You could >>consider something similar.

                                    The ability to copy a ROM image into PIC flash memory via serial port and copy the image into 1802 RAM during startup is a "must have" feature, as far as I'm concerned.

                                    Thank you for all the great suggestions and comments...  Mike

                                  • Lee Hart
                                    mikemclaren6502@yahoo.com wrote: ... Obviously, us humans can get used to anything, even truly horrible user interfaces. But I do find gadgets with lots of
                                    Message 18 of 22 , Mar 9, 2014
                                    • 0 Attachment
                                      mikemclaren6502@... wrote:
                                      Bill Rowe wrote:
                                      >> 2) I think the mode setting stuff would confuse me and the "long
                                      >> press" seems fraught with potential error. Maybe a separate button
                                      >> or leds or something.

                                      Obviously, us humans can get used to anything, even truly horrible user
                                      interfaces. But I do find gadgets with lots of modes to get confusing
                                      real fast. It's especially bad if I don't use them every day.

                                      Try to fully explain your user interface in words. If you find the
                                      explanation is getting long and full of exceptions, or you can't clearly
                                      explain all the permutations, that's a hint that there are problems.

                                      mikemclaren6502@... wrote:
                                      > I thought that having a button for each real 1802 mode, Run, Pause,
                                      > Reset, and Load, as well as a Read or View button for the write-protect
                                      > function, might be a little more intuitive for new users.

                                      Could be, though it gets to be a lot of buttons. At some point, there
                                      are enough buttons that you may as well provide a hex keypad.

                                      > why not implement memory mapped I/O? That is, map a single page into
                                      > 1802 address space that provides the 1802 with direct access to the PIC
                                      > special function registers.

                                      That could work. It could be done with the 1802's DMA, too. The 1802
                                      BASYS board I designed did this. 20 bytes of RAM were mapped as I/O (10
                                      input, and 10 output). It turned out to take less hardware to do this
                                      than to work out some scheme to get more than the usual 7 I/O addresses.

                                      > The ability to copy a ROM image into PIC flash memory via serial port
                                      > and copy the image into 1802 RAM during startup is a "must have"
                                      > feature, as far as I'm concerned.

                                      Why not DMA it straight into the 1802?
                                      --
                                      ICEs have the same problem as lightbulbs. Why innovate and make
                                      better ones when the current ones burn out often enough to keep
                                      you in business? -- Hunter Cressall
                                      --
                                      Lee Hart's EV projects are at http://www.sunrise-ev.com/projects.htm
                                    • Len
                                      ... change Mode settings, is not unlike performing a long press on one of the station preset buttons on your car radio. After doing it a couple times, it
                                      Message 19 of 22 , Mar 10, 2014
                                      • 0 Attachment
                                        > Performing a "long press" on the <IN> switch to display and/or
                                        change Mode settings, is not unlike performing a "long press" on one of
                                        the station preset buttons on your car radio. After doing it a couple
                                        times, it should become intuitive.

                                        If you have a spare output bit on the PIC (or whatever you end up using
                                        for a front-panel controller), it might be worthwhile adding a "beeper"
                                        to confirm this operation, and any others that will be timing-dependent.

                                        I've been thinking about the "hex keypad" that Lee Hart mentioned for a
                                        while ... if anybody's interested, I'll post my (admittedly not complete
                                        yet) notes regarding something similar to the keypad that the Heathkit
                                        H-8 used.

                                        -Len
                                      • bill rowe
                                        I meant to mention, there s this led/switch module on dealxtreme that reminded me of Mike s plan.
                                        Message 20 of 22 , Mar 30, 2014
                                        • 0 Attachment

                                          I meant to mention, there's this led/switch module on dealxtreme that reminded me of Mike's plan. 

                                          For $7 It has 8 switches and 8 two-color leds as well as 8 7 segment displays.  

                                          It's driven by 3 wires over SPI - there's a demo below on the (of course) Olduino:
                                          https://www.youtube.com/watch?v=fiSBBtighvA


                                          To: cosmacelf@yahoogroups.com
                                          From: mikemclaren6502@...
                                          Date: Sat, 8 Mar 2014 05:46:47 -0800
                                          Subject: [cosmacelf] Pocket ELF UI - 9 switches, 9 bi-color LEDs [1 Attachment]

                                           
                                          [Attachment(s) from mikemclaren6502@... included below] Here's a concept for using a PIC as a switch/LED front panel interface to the 1802.  Comments, criticism, suggestions welcome, but, please keep in mind that the idea here is to come up with a simple, elegant, intuitive, and economical alternative to the relatively expensive toggle switches used in a "more authentic" ELF design.  

                                          1802 data out is displayed in green.  Switch input is displayed in red, but only when in "load" mode.  For example, enter switch data which is displayed in red, then press <IN> to write memory and the 1802 output from the write operation is displayed in green. Press and hold the <IN> key for about one second (a "long press") to display or edit mode settings which are displayed in yellow.

                                          Regards, Mike

                                        • bill rowe
                                          Definitely waiting to hear more mike.
                                          Message 21 of 22 , Mar 30, 2014
                                          • 0 Attachment
                                            Definitely waiting to hear more mike.

                                            On Mar 30, 2014, at 11:43 AM, mikemclaren6502@... wrote:

                                             

                                            >Bill Rowe wrote;

                                            >I meant to mention, there's this led/switch module on dealxtreme that reminded me of Mike's plan. 

                                            >For $7 It has 8 switches and 8 two-color leds as well as 8 7 segment displays.  
                                            >It's driven by 3 wires over SPI - there's a demo below on the (of course) Olduino:

                                            Thanks, Bill.  I've seen that switch/LED assembly before.  Great "bang for the buck".  Very nice demo, too.

                                            The switch/LED sub-system I'm working on uses ten pins on the PIC and the components cost about a dollar.

                                            My first "test" Pocket Elf prototype uses a 40 pin PIC connected to the '1802 address, data, and control lines.  The plan is to use the PIC to produce single-step clock signals for the '1802 while monitoring the '1802 signals via PIC serial port connection.  After characterizing and verifying timing, I'd like to try to "push" and "pull" data to/from the '1802.  If I can get that working I'll try to implement this first "test" prototype as a two chip design demo design with 32KB ROM and ~4KB RAM (inside the PIC) with a 2-MHz clock.

                                            More later.  Cheerful regards, Mike

                                          • Andrew Wasson
                                            Yes, absolutely! I m also interested in your plans for an alternative to the switches. The switches are really great because they are so simple but if a
                                            Message 22 of 22 , Mar 30, 2014
                                            • 0 Attachment
                                              Yes, absolutely! I'm also interested in your plans for an alternative to the switches. The switches are really great because they are so simple but if a pushbutton interface can be as effective and simple, I'm all ears.

                                              Someone floated the idea of using pushbuttons with built in LED's a couple of weeks ago. That would increase the BOM but I think it might be the most intuitive way of seeing the state of the input at a glance.

                                              Anyway, keep us posted with your progress.

                                              Andrew





                                              On 2014-03-30, at 11:06 AM, bill rowe <bill_rowe_ottawa@...> wrote:

                                               

                                              Definitely waiting to hear more mike.

                                              On Mar 30, 2014, at 11:43 AM, mikemclaren6502@... wrote:

                                               

                                              >Bill Rowe wrote;

                                              >I meant to mention, there's this led/switch module on dealxtreme that reminded me of Mike's plan. 

                                              >For $7 It has 8 switches and 8 two-color leds as well as 8 7 segment displays.  
                                              >It's driven by 3 wires over SPI - there's a demo below on the (of course) Olduino:

                                              Thanks, Bill.  I've seen that switch/LED assembly before.  Great "bang for the buck".  Very nice demo, too.

                                              The switch/LED sub-system I'm working on uses ten pins on the PIC and the components cost about a dollar.

                                              My first "test" Pocket Elf prototype uses a 40 pin PIC connected to the '1802 address, data, and control lines.  The plan is to use the PIC to produce single-step clock signals for the '1802 while monitoring the '1802 signals via PIC serial port connection.  After characterizing and verifying timing, I'd like to try to "push" and "pull" data to/from the '1802.  If I can get that working I'll try to implement this first "test" prototype as a two chip design demo design with 32KB ROM and ~4KB RAM (inside the PIC) with a 2-MHz clock.

                                              More later.  Cheerful regards, Mike




                                            Your message has been successfully submitted and would be delivered to recipients shortly.