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

Re: [cosmacelf] Re: Bootstrapping a new system from scratch

Expand Messages
  • Lee Hart
    ... That sound about right. There were earlier serial EEPROMs in 8-pin packages, with tiny amounts of storage like 256 bits (not bytes). Intel s first bytewide
    Message 1 of 29 , Apr 26 10:27 AM
      country_robot wrote:
      > I first became aware of -- relatively -- inexpensive EEPROMs around
      > 1983-1984, about the same time 28-pin CMOS static RAM chips became
      > commonly available.

      That sound about right. There were earlier serial EEPROMs in 8-pin
      packages, with tiny amounts of storage like 256 bits (not bytes).
      Intel's first bytewide versions appeared in their 1983 data book. Others
      came out with theirs around the same time.

      The early ones were a bit screwy. They still needed a high voltage 21v
      external supply for programming. You had to give it a write command and
      then wait for 10 msec or so, during which time you could not do anything
      else. Power consumption was quite high; like 100ma. If you use a real
      1983 chip, you will have to deal with all these "features".

      The more recent ones are far easier to use. So you may want to cheat,
      and use one of them. :-)

      > modifying a VIC-20 RAM cartridge...
      > built a Xerox 820 board...

      Great stuff! Brings back lots of memories.

      --
      The greatest pleasure in life is to create something that wasn't there
      before. -- Roy Spence
      --
      Lee A. Hart, http://www.sunrise-ev.com/LeesEVs.htm
    • country_robot
      ... quite high; like 100ma. If you use a real ... For the development environment I ll stick to period-available parts, though I m not going to try for correct
      Message 2 of 29 , Apr 27 2:18 AM
        --- In cosmacelf@yahoogroups.com, Lee Hart wrote:
        >
        > country_robot wrote:
        > > ...
        > > 1983-1984, about the same time 28-pin CMOS static RAM chips became
        > > commonly available.
        >
        > ...
        > The early ones were a bit screwy. ...
        > Power consumption was quite high; like 100ma. If you use a real
        > 1983 chip, you will have to deal with all these "features".
        >
        > The more recent ones are far easier to use. So you may want to cheat,
        > and use one of them. :-)

        For the development environment I'll stick to period-available parts, though I'm not going to try for correct date codes. I draw the line there -- unless it's a part that's big, with a highly visible date-code, and it will also be seen in the final installation. (Frankly, I can't think of any such parts, off the top of my head, but you never know.)

        For the robot itself I am willing to be more flexible when using a part that would normally be hidden from view anyway, if it will save me a lot of grief. Low power, ease of programming/erasing/re-programming, low cost, good availability are all more important in the robot than the desktop.

        Back to the desktop development environment, though. I'm seriously considering using Group Code Recording for the floppy drives, variants of which Apple and Commodore used for their drives. I'll quote from Wikipedia article:

        "For the Apple II floppy drive, Steve Wozniak invented a floppy
        controller which (along with the drive itself) imposed two
        constraints:
          • Between any two one bits, there may be a maximum of one zero bit.
          • Each 8-bit byte must start with a one bit. The simplest
        scheme to ensure compliance with these limits is to records an
        extra "clock" transition before each data bit. This scheme is
        called differential Manchester encoding or FM (Frequency
        Modulation) or "4 and 4", and allows only 10 256-byte sectors
        per track to be recorded on a single-density 5¼ floppy.

        Wozniak realized that a more complex encoding scheme would allow
        each 8-bit byte on disk to hold 5 bits of useful data rather
        than 4 bits. This is because there are 34 bytes which have the
        top bit set and no two zero bits in a row. This encoding scheme
        became known as "5 and 3" encoding, and allowed 13 sectors per
        track; it was used for Apple DOS 3.1, 3.2, and 3.2.1, as well as
        for the earliest version of Apple CP/M. Later, the design of the
        floppy drive controller was modified to allow a byte on disk to
        contain up to one pair of zero bits in a row. This allowed each
        8-bit byte to hold 6 bits of useful data, and allowed 16 sectors
        per track. This scheme is known as "6 and 2", and was used on
        Apple Pascal, Apple DOS 3.3 and ProDOS, and later on the 400K
        and 800K 3½ disks on the Macintosh and Apple II. Apple did not
        originally call this scheme "GCR", but the term was later
        applied to it to distinguish it from IBM PC floppies which used
        the MFM encoding scheme.

        Independently, Commodore Business Machines created a Group Code
        Recording scheme for their Commodore 2040 floppy disk drive
        (launched in the spring of 1979). The relevant constraints on
        the 2040 drive were that no more than two zero bits could occur
        in a row, nor more than eight one bits in a row; the drive
        imposed no special constraint on the first bit in a byte. This
        allowed the use of a scheme similar to that used in 6250 tape
        drives. Every 4 bits of data are translated into 5 bits on disk,
        according to the following table:

          Nibble  Code   Nibble Code
              0000  01010   1000  01001
              0001  01011   1001  11001
              0010  10010   1010  11010
              0011  10011   1011  11011
              0100  01110   1100  01101
              0101  01111   1101  11101
              0110  10110   1110  11110
              0111  10111   1111  10101

        Note no code starts with two zero bits, nor ends with two zero
        bits. This ensures that regardless of the input data, the
        encoded data will never contain more than two zero bits in a
        row. Also note that with this encoding not more than eight one
        bits in a row are possible. Therefore Commodore used sequences
        of ten or more one bits in a row as synchronization mark.

        This more efficient GCR scheme, combined with an approach at
        constant bit-density recording by gradually increasing the clock
        rate (ZCAV) and storing more physical sectors on the outer
        tracks than on the inner ones (ZBR), enabled Commodore to fit
        170 KB on a standard single-sided single-density 5.25" floppy,
        where Apple fit 140 KB (with 6 and 2 GCR) or 114 KB (with 5 and
        3 GCR) and an FM-encoded floppy held only 88 KB.

        Similar, the 5.25" floppy drives of the Victor 9000 aka Sirius
        1, designed by Chuck Peddle, used a combination of 10-bit GCR
        and constant bit-density recording by gradually decreasing a
        drive's rotational speed for the outer tracks to achieve
        formatted capacities of 606 KB (single sided) / 1188 KB
        (double-sided) on 96 tpi media."

        (Apologies for such a long quote; I wanted to be sure I got the details right)

        The first two examples, Apple and Commodore, used the 6502, and information on their code & hardware is readily accessible. My question is: has anyone ever heard of someone trying a similar approach on a 1802 platform? The 1802 has the advantage of having DMA more or less built in, but I'm not sure if a direct translation of either Apple's or Commodore's techniques would be appropriate.

        In any case, I've just bought an old Apple Disk II (no controller) for experiments. For the robot side, though, I've got something else up my sleeve: I've also bought a (purportedly) working Coleco Adam system, complete with printer. I reckon my fictional 1975-1985 hacker will have had no qualms at all about smooshing an Adam into a sort of FrankenElf.

        I've been aching to muck around with the Datadrive tape system since I first heard about it. If nothing else, the tape drives will go on the robot, with the drive doors modified so the tapes can be clearly seen operating. It'd be great to use a few old Teac metal reel cassettes in the Datadrives; too bad collectors have driven up their cost beyond sanity on ebay.

        I don't know what the Datadrives will be doing, exactly, but I'm sure I can come up with something, maybe canned robotics speech segments.

        -Bobby
      • joshbensadon
        Hi Bobby, LoL @ FrankenELF. It s the Home Brew with Hindsight. ... Funny you should bring this up, I m currently working on a project using the Apple disk II.
        Message 3 of 29 , Apr 27 9:03 AM
          Hi Bobby,


          LoL @ FrankenELF. It's the Home Brew with Hindsight.

          > "For the Apple II floppy drive, Steve Wozniak invented a floppy
          > controller

          Funny you should bring this up, I'm currently working on a project using the Apple disk II. Yes, Woz's design of the controller was very creative, using a ROM to create a microcode program.

          Chapter 9 of "Understanding the Apple II" by Jim Sather gives a very good and detailed technical description of the disk system.

          > I've also bought a (purportedly) working Coleco Adam system,
          > complete with printer.

          Good thing you have the printer. The power supply for the Adam is in the printer. Beware, I have heard that the printer produces some nasty EMI pulses, keep it away from other magnetic media.

          > I don't know what the Datadrives will be doing, exactly, but I'm sure I
          > can come up with something, maybe canned robotics speech segments.

          Let them do what they do best, collect data!

          :)J
        • David W. Schultz
          ... Between rolling my own drive electronics and purchasing a Western Digital 2797 floppy disk controller I know which way I would go. For double density data
          Message 4 of 29 , Apr 27 9:21 AM
            On 04/27/2013 04:18 AM, country_robot wrote:
            > Back to the desktop development environment, though. I'm seriously
            > considering using Group Code Recording for the floppy drives, variants
            > of which Apple and Commodore used for their drives. I'll quote from
            > Wikipedia article:
            >

            Between rolling my own drive electronics and purchasing a Western
            Digital 2797 floppy disk controller I know which way I would go.

            For double density data the bit rate is 250Kb/sec so you have to handle
            a byte of data every 32 us. On an 1802 with a 2MHz clock that is once
            every four 2 cycle instructions.

            The fastest way to check for data in software is to connect the DRQ pin
            to an EF line and use a nice short one instruction loop to wait for it.
            In order to do this you must use interrupts to get you out of the loop.
            Otherwise connect that pin to another EF line and make it a 2
            instruction loop.

            Reading the data requires an input instruction plus a register increment
            for two more instructions. Finish up with a branch to the beginning. (If
            really pressed for time as opposed to space, you could unroll this part
            of the loop.)

            So that looks like a four instruction read loop as required. But because
            the actual read rate can vary a bit it would be really nice to have some
            margin.

            dloop: B1 dloop
            INP 1
            IRX
            BR dloop

            Writing data is a three instruction loop because the OUT instruction
            does the increment of R(X) for you.

            --
            David W. Schultz
            http://home.earthlink.net/~david.schultz
            Returned for Regrooving
          • joshbensadon
            Hi, A local electronics surplus store is having a contest to build a switch that turns on with a single click and off with a double click. No programmable
            Message 5 of 29 , Apr 27 11:20 AM
              Hi,

              A local electronics surplus store is having a contest to build a switch that turns on with a single click and off with a double click. No programmable devices allowed, must all be done through regular logic.

              It's open to the public. It sounds like a fun challenge, nothing big.

              I plan to enter, although I don't enter to win, but for the fun.

              Please see "Starwars Contest.pdf" in the files section.

              Cheers,
              Josh
            • jdrose_8_bit
              That seems like a lot of fun. Seems fairly simple too. Mr. Hart could design the winning circuit in his sleep. What is the first thing to do. Make the logic
              Message 6 of 29 , Apr 27 1:43 PM
                That seems like a lot of fun.

                Seems fairly simple too. Mr. Hart could design the winning circuit in his sleep.

                What is the first thing to do. Make the logic truth table?

                Operation:

                Button Push. LED on.
                Button Push. No change.
                Button Push. LED off.



                Is there something like a 3 position 4017 counter?

                1, 2 pins connected to LED and the number 3 pin not.

                Each push button would cycle 1 step through the counter.
                1 LED, IC, pushbutton and dropping resistor.



                --- In cosmacelf@yahoogroups.com, "joshbensadon" <joshbensadon@...> wrote:
                >
                > Hi,
                >
                > A local electronics surplus store is having a contest to build a switch that turns on with a single click and off with a double click. No programmable devices allowed, must all be done through regular logic.
                >
                > It's open to the public. It sounds like a fun challenge, nothing big.
                >
                > I plan to enter, although I don't enter to win, but for the fun.
                >
                > Please see "Starwars Contest.pdf" in the files section.
                >
                > Cheers,
                > Josh
                >
              • Lee Hart
                ... It does sound entertaining. Part of the fun is that they excluded the automatic knee-jerk first choice of every young engineer by excluding microcomputers.
                Message 7 of 29 , Apr 27 8:15 PM
                  "joshbensadon" wrote:
                  >> A local electronics surplus store is having a contest to build a
                  >> switch that turns on with a single click and off with a double
                  >> click. No programmable devices allowed, must all be done through
                  >> regular logic.

                  jdrose_8_bit wrote:
                  > That seems like a lot of fun. Seems fairly simple too. Mr. Hart could
                  > design the winning circuit in his sleep.

                  It does sound entertaining. Part of the fun is that they excluded the
                  automatic knee-jerk first choice of every young engineer by excluding
                  microcomputers. It's a classic think-outside-the-box problem! :-)

                  However, that still leaves you with dozens of ways to do it. I'll bet
                  you could pick every possible technology (mechanical, pneumatic,
                  hydraulic, electrical switch, relays, vacuum tubes, neon lamps,
                  transistors, ICs, even microcomputers *without* a program) and solve the
                  problem with every single one of them. Even a mad Rube Goldberg / Heath
                  Robinson solution could do it.

                  --
                  Failure is only the opportunity to begin again more intelligently.
                  -- Henry Ford
                  --
                  Lee A. Hart, http://www.sunrise-ev.com/LeesEVs.htm
                • Charles Richmond
                  If the double-click is like the double-click of a mouse, then the clicks have to occur within a certain time of each other to count. Otherwise it s just two
                  Message 8 of 29 , Apr 27 10:48 PM
                    If the "double-click" is like the double-click of a mouse, then the
                    clicks have to occur within a certain time of each other to count.
                    Otherwise it's just two single clicks.

                    In most GUI systems (Windows, Mac OS, etc.) there is a place to set
                    the double-click time limit. Now, for this special-purpose digital
                    circuitry, I'd think that such an adjustment would *not* be
                    necessary... but I think you still should set a time limit between
                    clicks for the clicks to count as a double-click.


                    On Apr 27, 2013, at 3:43 PM, jdrose_8_bit wrote:

                    > That seems like a lot of fun.
                    >
                    > Seems fairly simple too. Mr. Hart could design the winning circuit
                    > in his sleep.
                    >
                    > What is the first thing to do. Make the logic truth table?
                    >
                    > Operation:
                    >
                    > Button Push. LED on.
                    > Button Push. No change.
                    > Button Push. LED off.
                    >
                    > Is there something like a 3 position 4017 counter?
                    >
                    > 1, 2 pins connected to LED and the number 3 pin not.
                    >
                    > Each push button would cycle 1 step through the counter.
                    > 1 LED, IC, pushbutton and dropping resistor.
                    >
                    > --- In cosmacelf@yahoogroups.com, "joshbensadon" <joshbensadon@...>
                    > wrote:
                    > >
                    > > Hi,
                    > >
                    > > A local electronics surplus store is having a contest to build a
                    > switch that turns on with a single click and off with a double
                    > click. No programmable devices allowed, must all be done through
                    > regular logic.
                    > >
                    > > It's open to the public. It sounds like a fun challenge, nothing
                    > big.
                    > >
                    > > I plan to enter, although I don't enter to win, but for the fun.
                    > >
                    > > Please see "Starwars Contest.pdf" in the files section.
                    > >
                    > > Cheers,
                    > > Josh
                    > >
                    >
                    >
                    > <!-- #ygrp-mkp { border: 1px solid #d8d8d8; font-family: Arial;
                    > margin: 10px 0; padding: 0 10px; } #ygrp-mkp hr { border: 1px solid
                    > #d8d8d8; } #ygrp-mkp #hd { color: #628c2a; font-size: 85%; font-
                    > weight: 700; line-height: 122%; margin: 10px 0; } #ygrp-mkp #ads
                    > { margin-bottom: 10px; } #ygrp-mkp .ad { padding: 0 0; } #ygrp-
                    > mkp .ad p { margin: 0; } #ygrp-mkp .ad a { color: #0000ff; text-
                    > decoration: none; } #ygrp-sponsor #ygrp-lc { font-family: Arial; }
                    > #ygrp-sponsor #ygrp-lc #hd { margin: 10px 0px; font-weight: 700;
                    > font-size: 78%; line-height: 122%; } #ygrp-sponsor #ygrp-lc .ad
                    > { margin-bottom: 10px; padding: 0 0; } #actions { font-family:
                    > Verdana; font-size: 11px; padding: 10px 0; } #activity { background-
                    > color: #e0ecee; float: left; font-family: Verdana; font-size: 10px;
                    > padding: 10px; } #activity span { font-weight: 700; } #activity
                    > span:first-child { text-transform: uppercase; } #activity span a
                    > { color: #5085b6; text-decoration: none; } #activity span span
                    > { color: #ff7900; } #activity span .underline { text-decoration:
                    > underline; } .attach { clear: both; display: table; font-family:
                    > Arial; font-size: 12px; padding: 10px 0; width: 400px; } .attach
                    > div a { text-decoration: none; } .attach img { border: none;
                    > padding-right: 5px; } .attach label { display: block; margin-
                    > bottom: 5px; } .attach label a { text-decoration: none; }
                    > blockquote { margin: 0 0 0 4px; } .bold { font-family: Arial; font-
                    > size: 13px; font-weight: 700; } .bold a { text-decoration: none; }
                    > dd.last p a { font-family: Verdana; font-weight: 700; } dd.last p
                    > span { margin-right: 10px; font-family: Verdana; font-weight:
                    > 700; } dd.last p span.yshortcuts { margin-right: 0; } div.attach-
                    > table div div a { text-decoration: none; } div.attach-table
                    > { width: 400px; } div.file-title a, div.file-title a:active,
                    > div.file-title a:hover, div.file-title a:visited { text-decoration:
                    > none; } div.photo-title a, div.photo-title a:active, div.photo-
                    > title a:hover, div.photo-title a:visited { text-decoration: none; }
                    > div#ygrp-mlmsg #ygrp-msg p a span.yshortcuts { font-family:
                    > Verdana; font-size: 10px; font-weight: normal; } .green { color:
                    > #628c2a; } .MsoNormal { margin: 0 0 0 0; } o { font-size: 0; }
                    > #photos div { float: left; width: 72px; } #photos div div { border:
                    > 1px solid #666666; height: 62px; overflow: hidden; width: 62px; }
                    > #photos div label { color: #666666; font-size: 10px; overflow:
                    > hidden; text-align: center; white-space: nowrap; width: 64px; }
                    > #reco-category { font-size: 77%; } #reco-desc { font-size:
                    > 77%; } .replbq { margin: 4px; } #ygrp-actbar div a:first-child { /*
                    > border-right: 0px solid #000;*/ margin-right: 2px; padding-right:
                    > 5px; } #ygrp-mlmsg { font-size: 13px; font-family: Arial,
                    > helvetica,clean, sans-serif; *font-size: small; *font: x-small; }
                    > #ygrp-mlmsg table { font-size: inherit; font: 100%; } #ygrp-mlmsg
                    > select, input, textarea { font: 99% Arial, Helvetica, clean, sans-
                    > serif; } #ygrp-mlmsg pre, code { font:115% monospace; *font-size:
                    > 100%; } #ygrp-mlmsg * { line-height: 1.22em; } #ygrp-mlmsg #logo
                    > { padding-bottom: 10px; } #ygrp-msg p a { font-family: Verdana; }
                    > #ygrp-msg p#attach-count span { color: #1E66AE; font-weight: 700; }
                    > #ygrp-reco #reco-head { color: #ff7900; font-weight: 700; } #ygrp-
                    > reco { margin-bottom: 20px; padding: 0px; } #ygrp-sponsor #ov li a
                    > { font-size: 130%; text-decoration: none; } #ygrp-sponsor #ov li
                    > { font-size: 77%; list-style-type: square; padding: 6px 0; } #ygrp-
                    > sponsor #ov ul { margin: 0; padding: 0 0 0 8px; } #ygrp-text { font-
                    > family: Georgia; } #ygrp-text p { margin: 0 0 1em 0; } #ygrp-text
                    > tt { font-size: 120%; } #ygrp-vital ul li:last-child { border-
                    > right: none !important; } -->

                    --
                    +----------------------------------------+
                    |.....Charles and Francis Richmond.......|
                    |........................................|
                    |..plano dot net at aquaporin4 dot com...|
                    +----------------------------------------+
                  • William Donnelly
                    Yes. Otherwise the simplest solution is a 3-throw 3-pole pushbutton switch. That would actually pass their rules (I think), but isn t an ideal solution, and
                    Message 9 of 29 , Apr 27 11:05 PM
                      Yes.

                      Otherwise the simplest solution is a 3-throw 3-pole pushbutton switch.

                      That would actually pass their rules (I think), but isn't an ideal solution, and
                      kind of goes against the intrinsic nature of the contest and its ultimate goal. (?)

                      You could have a tiny rheostat that can be accessed with a tiny flat-blade screwdriver
                      to set the double-click timeout.

                      – Bill
                       
                      On 4/27/2013 10:48 PM, Charles Richmond wrote:
                      If the "double-click" is like the double-click of a mouse, then the  
                      clicks have to occur within a certain time of each other to count.   
                      Otherwise it's just two single clicks.
                      
                      In most GUI systems (Windows, Mac OS, etc.) there is a place to set  
                      the double-click time limit.  Now, for this special-purpose digital  
                      circuitry, I'd think that such an adjustment would *not* be  
                      necessary... but I think you still should set a time limit between  
                      clicks for the clicks to count as a double-click.
                      
                      

                    • Andrew Wasson
                      Yes, I was thinking that as well because if our young Jedi can bump the switch once in combat, he could most certainly bump it twice. I thought that rather
                      Message 10 of 29 , Apr 27 11:45 PM
                        Yes, I was thinking that as well because if our young Jedi can bump the switch once in combat, he could most certainly bump it twice. I thought that rather than specifically time the double click, I would discard the first off click if the second click didn't occur after a reasonable amount of time. Same sort of idea.

                        Andrew

                        On 2013-04-27, at 10:48 PM, Charles Richmond <old_computers@...> wrote:

                        > If the "double-click" is like the double-click of a mouse, then the
                        > clicks have to occur within a certain time of each other to count.
                        > Otherwise it's just two single clicks.
                        >
                        > In most GUI systems (Windows, Mac OS, etc.) there is a place to set
                        > the double-click time limit. Now, for this special-purpose digital
                        > circuitry, I'd think that such an adjustment would *not* be
                        > necessary... but I think you still should set a time limit between
                        > clicks for the clicks to count as a double-click.
                        >
                        >
                        > On Apr 27, 2013, at 3:43 PM, jdrose_8_bit wrote:
                        >
                        >> That seems like a lot of fun.
                        >>
                        >> Seems fairly simple too. Mr. Hart could design the winning circuit
                        >> in his sleep.
                        >>
                        >> What is the first thing to do. Make the logic truth table?
                        >>
                        >> Operation:
                        >>
                        >> Button Push. LED on.
                        >> Button Push. No change.
                        >> Button Push. LED off.
                        >>
                        >> Is there something like a 3 position 4017 counter?
                        >>
                        >> 1, 2 pins connected to LED and the number 3 pin not.
                        >>
                        >> Each push button would cycle 1 step through the counter.
                        >> 1 LED, IC, pushbutton and dropping resistor.
                        >>
                        >> --- In cosmacelf@yahoogroups.com, "joshbensadon" <joshbensadon@...>
                        >> wrote:
                        >>>
                        >>> Hi,
                        >>>
                        >>> A local electronics surplus store is having a contest to build a
                        >> switch that turns on with a single click and off with a double
                        >> click. No programmable devices allowed, must all be done through
                        >> regular logic.
                        >>>
                        >>> It's open to the public. It sounds like a fun challenge, nothing
                        >> big.
                        >>>
                        >>> I plan to enter, although I don't enter to win, but for the fun.
                        >>>
                        >>> Please see "Starwars Contest.pdf" in the files section.
                        >>>
                        >>> Cheers,
                        >>> Josh
                        >>>
                        >>
                        >>
                        >> <!-- #ygrp-mkp { border: 1px solid #d8d8d8; font-family: Arial;
                        >> margin: 10px 0; padding: 0 10px; } #ygrp-mkp hr { border: 1px solid
                        >> #d8d8d8; } #ygrp-mkp #hd { color: #628c2a; font-size: 85%; font-
                        >> weight: 700; line-height: 122%; margin: 10px 0; } #ygrp-mkp #ads
                        >> { margin-bottom: 10px; } #ygrp-mkp .ad { padding: 0 0; } #ygrp-
                        >> mkp .ad p { margin: 0; } #ygrp-mkp .ad a { color: #0000ff; text-
                        >> decoration: none; } #ygrp-sponsor #ygrp-lc { font-family: Arial; }
                        >> #ygrp-sponsor #ygrp-lc #hd { margin: 10px 0px; font-weight: 700;
                        >> font-size: 78%; line-height: 122%; } #ygrp-sponsor #ygrp-lc .ad
                        >> { margin-bottom: 10px; padding: 0 0; } #actions { font-family:
                        >> Verdana; font-size: 11px; padding: 10px 0; } #activity { background-
                        >> color: #e0ecee; float: left; font-family: Verdana; font-size: 10px;
                        >> padding: 10px; } #activity span { font-weight: 700; } #activity
                        >> span:first-child { text-transform: uppercase; } #activity span a
                        >> { color: #5085b6; text-decoration: none; } #activity span span
                        >> { color: #ff7900; } #activity span .underline { text-decoration:
                        >> underline; } .attach { clear: both; display: table; font-family:
                        >> Arial; font-size: 12px; padding: 10px 0; width: 400px; } .attach
                        >> div a { text-decoration: none; } .attach img { border: none;
                        >> padding-right: 5px; } .attach label { display: block; margin-
                        >> bottom: 5px; } .attach label a { text-decoration: none; }
                        >> blockquote { margin: 0 0 0 4px; } .bold { font-family: Arial; font-
                        >> size: 13px; font-weight: 700; } .bold a { text-decoration: none; }
                        >> dd.last p a { font-family: Verdana; font-weight: 700; } dd.last p
                        >> span { margin-right: 10px; font-family: Verdana; font-weight:
                        >> 700; } dd.last p span.yshortcuts { margin-right: 0; } div.attach-
                        >> table div div a { text-decoration: none; } div.attach-table
                        >> { width: 400px; } div.file-title a, div.file-title a:active,
                        >> div.file-title a:hover, div.file-title a:visited { text-decoration:
                        >> none; } div.photo-title a, div.photo-title a:active, div.photo-
                        >> title a:hover, div.photo-title a:visited { text-decoration: none; }
                        >> div#ygrp-mlmsg #ygrp-msg p a span.yshortcuts { font-family:
                        >> Verdana; font-size: 10px; font-weight: normal; } .green { color:
                        >> #628c2a; } .MsoNormal { margin: 0 0 0 0; } o { font-size: 0; }
                        >> #photos div { float: left; width: 72px; } #photos div div { border:
                        >> 1px solid #666666; height: 62px; overflow: hidden; width: 62px; }
                        >> #photos div label { color: #666666; font-size: 10px; overflow:
                        >> hidden; text-align: center; white-space: nowrap; width: 64px; }
                        >> #reco-category { font-size: 77%; } #reco-desc { font-size:
                        >> 77%; } .replbq { margin: 4px; } #ygrp-actbar div a:first-child { /*
                        >> border-right: 0px solid #000;*/ margin-right: 2px; padding-right:
                        >> 5px; } #ygrp-mlmsg { font-size: 13px; font-family: Arial,
                        >> helvetica,clean, sans-serif; *font-size: small; *font: x-small; }
                        >> #ygrp-mlmsg table { font-size: inherit; font: 100%; } #ygrp-mlmsg
                        >> select, input, textarea { font: 99% Arial, Helvetica, clean, sans-
                        >> serif; } #ygrp-mlmsg pre, code { font:115% monospace; *font-size:
                        >> 100%; } #ygrp-mlmsg * { line-height: 1.22em; } #ygrp-mlmsg #logo
                        >> { padding-bottom: 10px; } #ygrp-msg p a { font-family: Verdana; }
                        >> #ygrp-msg p#attach-count span { color: #1E66AE; font-weight: 700; }
                        >> #ygrp-reco #reco-head { color: #ff7900; font-weight: 700; } #ygrp-
                        >> reco { margin-bottom: 20px; padding: 0px; } #ygrp-sponsor #ov li a
                        >> { font-size: 130%; text-decoration: none; } #ygrp-sponsor #ov li
                        >> { font-size: 77%; list-style-type: square; padding: 6px 0; } #ygrp-
                        >> sponsor #ov ul { margin: 0; padding: 0 0 0 8px; } #ygrp-text { font-
                        >> family: Georgia; } #ygrp-text p { margin: 0 0 1em 0; } #ygrp-text
                        >> tt { font-size: 120%; } #ygrp-vital ul li:last-child { border-
                        >> right: none !important; } -->
                        >
                        > --
                        > +----------------------------------------+
                        > |.....Charles and Francis Richmond.......|
                        > |........................................|
                        > |..plano dot net at aquaporin4 dot com...|
                        > +----------------------------------------+
                        >
                        >
                        >
                        >
                        >
                        >
                        > ------------------------------------
                        >
                        > ========================================================
                        > Visit the COSMAC ELF website at http://www.cosmacelf.comYahoo! Groups Links
                        >
                        >
                        >
                      • Kevin
                        Honestly, this sounds like a job for an analog design.
                        Message 11 of 29 , Apr 28 9:31 AM
                          Honestly, this sounds like a job for an analog design.


                          --- In cosmacelf@yahoogroups.com, "joshbensadon" <joshbensadon@...> wrote:
                          >
                          > Hi,
                          >
                          > A local electronics surplus store is having a contest to build a switch that turns on with a single click and off with a double click. No programmable devices allowed, must all be done through regular logic.
                          >
                          > It's open to the public. It sounds like a fun challenge, nothing big.
                          >
                          > I plan to enter, although I don't enter to win, but for the fun.
                          >
                          > Please see "Starwars Contest.pdf" in the files section.
                          >
                          > Cheers,
                          > Josh
                          >
                        • Lee Hart
                          ... Let s see... *simplest* solution... Obviously, you can build an alternate-action pushbutton. Push once, it s on. Push again, it s off. Use a mechanism like
                          Message 12 of 29 , Apr 28 9:39 AM
                            William Donnelly wrote:
                            > the simplest solution is a 3-throw 3-pole pushbutton switch.

                            Let's see... *simplest* solution...

                            Obviously, you can build an alternate-action pushbutton. Push once, it's
                            on. Push again, it's off. Use a mechanism like the clicker in a
                            ballpoint pen, but modify it so it takes 3 clicks to make a cycle. The
                            cycles would be off-on-on, so it only takes 1 click to turn it on, but 2
                            clicks to turn off.

                            If you want a simple electrical solution, build a voltage doubler with
                            two diodes and two capacitors. The pushbutton connects either 0v or 5v
                            to the input. Have some sensing circuit that needs more than 5v to turn
                            on. Pick a load resistor to set the RC time constant for how closely
                            together the two button pushes have to be.

                            The sensing circuit can be almost anything; latching relay coil, vacuum
                            tube, transistor, IC, etc.
                            --
                            The principal defect in a storage battery is its modesty. It does not
                            spark, creak, groan, nor slow down under overload. It does not rotate.
                            It works where it is, and will silently work up to the point of
                            destruction without making any audible or visible signs of distress.
                            -- Electrical Review, 1902
                            --
                            Lee A. Hart, http://www.sunrise-ev.com/LeesEVs.htm
                          • jdrose_8_bit
                            ... That is an interesting idea. It violates the letter of the contest but not the spirit of the contest. Seems like the 1802 would be ideally suited for the
                            Message 13 of 29 , Apr 28 9:53 AM
                              --- In cosmacelf@yahoogroups.com, Lee Hart <leeahart@...> wrote:

                              >
                              > Part of the fun is that they excluded the
                              > automatic knee-jerk first choice of every young engineer by excluding
                              > microcomputers. It's a classic think-outside-the-box problem! :-)
                              >
                              > However, that still leaves you with dozens of ways to do it... even microcomputers *without* a program)...
                              >

                              That is an interesting idea. It violates the letter of the contest but not the spirit of the contest.

                              Seems like the 1802 would be ideally suited for the exercise. No program, no RAM, only the 1802 and external components.


                              --- In cosmacelf@yahoogroups.com, William Donnelly <william@...> wrote:
                              >
                              > Yes.
                              >
                              > Otherwise the simplest solution is a 3-throw 3-pole pushbutton switch.
                              >
                              > That would actually pass their rules (I think)
                              >

                              I think so.


                              --- In cosmacelf@yahoogroups.com, Andrew Wasson <awasson@...> wrote:
                              >
                              > Yes, I was thinking that as well because if our young Jedi can bump the switch once in combat, he could most certainly bump it twice. I thought that rather than specifically time the double click, I would discard the first off click if the second click didn't occur after a reasonable amount of time. Same sort of idea.
                              >


                              Indeed.

                              After a relatively small lapse of time, the second setting essentially becomes the defacto ON setting from the perspective of the fencer.

                              I think it is a very serious oversight by the contest designers to not include that function in the circuit.
                            • jdrose_8_bit
                              ... OK. The author of the contest does write but to turn it off, you have to push the button twice in succession. They do not define time limits of
                              Message 14 of 29 , Apr 28 10:06 AM
                                --- In cosmacelf@yahoogroups.com, "jdrose_8_bit" <rarecoinbuyer@...> wrote:

                                > --- In cosmacelf@yahoogroups.com, Andrew Wasson <awasson@> wrote:
                                > >
                                > > Yes, I was thinking that as well because if our young Jedi can bump the switch once in combat, he could most certainly bump it twice.
                                >> I thought that rather than specifically time the double click, I would discard the first off click if the second click didn't occur after a reasonable amount of time.
                                >>Same sort of idea.
                                >
                                >
                                > I think it is a very serious oversight by the contest designers to not include that function in the circuit.
                                >

                                OK. The author of the contest does write "but to turn it off, you have to push the button twice in succession."

                                They do not define time limits of "succession" but I guess it is implied that the second push must happen in a very short time.
                              • Lee Hart
                                ... For example, hard-wire the data bus for a Long Branch instruction. The pushbutton single-steps the 1802. The 1802 will do a Fetch, Execute, Execute, Fetch,
                                Message 15 of 29 , Apr 28 11:12 AM
                                  >> However, that still leaves you with dozens of ways to do it... even
                                  >> microcomputers *without* a program)...

                                  jdrose_8_bit wrote:
                                  > That is an interesting idea. It violates the letter of the contest
                                  > but not the spirit of the contest.
                                  >
                                  > Seems like the 1802 would be ideally suited for the exercise. No
                                  > program, no RAM, only the 1802 and external components.

                                  For example, hard-wire the data bus for a Long Branch instruction. The
                                  pushbutton single-steps the 1802. The 1802 will do a Fetch, Execute,
                                  Execute, Fetch, Execute, Execute... machine cycle sequence. So State
                                  Code output SC0 will be low, high, high, low, high high... Define
                                  low=off, and high=on and you have a solution. :-)

                                  --
                                  The most dangerous enemy of a better solution is an existing one that
                                  is just good enough. -- Eric S. Raymond
                                  --
                                  Lee A. Hart, http://www.sunrise-ev.com/LeesEVs.htm
                                • Kevin
                                  But then you would have a program.
                                  Message 16 of 29 , Apr 28 11:16 AM
                                    But then you would have a program.

                                    --- In cosmacelf@yahoogroups.com, Lee Hart <leeahart@...> wrote:
                                    >
                                    > For example, hard-wire the data bus for a Long Branch instruction.
                                  • jdrose_8_bit
                                    That is an interesting observation. Is the hard wiring basically a ROM program made of discrete components? Or is it a hardware extension of the logic gates
                                    Message 17 of 29 , Apr 28 11:39 AM
                                      That is an interesting observation.

                                      Is the hard wiring basically a ROM program made of discrete components? Or is it a hardware extension of the logic gates built into the microprocessor?


                                      --- In cosmacelf@yahoogroups.com, "Kevin" <kriceslo@...> wrote:
                                      >
                                      > But then you would have a program.
                                      >
                                      > --- In cosmacelf@yahoogroups.com, Lee Hart <leeahart@> wrote:
                                      > >
                                      > > For example, hard-wire the data bus for a Long Branch instruction.
                                      >
                                    • Kevin
                                      It s both.
                                      Message 18 of 29 , Apr 28 12:06 PM
                                        It's both.

                                        --- In cosmacelf@yahoogroups.com, "jdrose_8_bit" <rarecoinbuyer@...> wrote:
                                        >
                                        > That is an interesting observation.
                                        >
                                        > Is the hard wiring basically a ROM program made of discrete components? Or is it a hardware extension of the logic gates built into the microprocessor?
                                        >
                                        >
                                        > --- In cosmacelf@yahoogroups.com, "Kevin" <kriceslo@> wrote:
                                        > >
                                        > > But then you would have a program.
                                        > >
                                        > > --- In cosmacelf@yahoogroups.com, Lee Hart <leeahart@> wrote:
                                        > > >
                                        > > > For example, hard-wire the data bus for a Long Branch instruction.
                                        > >
                                        >
                                      • Lee Hart
                                        ... Yeah, it skirts the edge of the rules. I could see a judge deciding it either way. It s either a 1-instruction program , or just a way to connect logic
                                        Message 19 of 29 , Apr 28 1:27 PM
                                          Lee Hart wrote:
                                          >>> For example, hard-wire the data bus for a Long Branch instruction.

                                          "Kevin" wrote:
                                          >> But then you would have a program.

                                          jdrose_8_bit wrote:
                                          > Is the hard wiring basically a ROM program made of discrete components? Or is it a hardware extension of the logic gates built into the microprocessor?

                                          Yeah, it skirts the edge of the rules. I could see a judge deciding it
                                          either way. It's either a 1-instruction "program", or just a way to
                                          connect logic gates and flip-flops to achieve the desired result. :-)

                                          --
                                          The trouble ain't that there's too many fools, but that lightning ain't
                                          distributed right. -- Mark Twain
                                          --
                                          Lee A. Hart, http://www.sunrise-ev.com/LeesEVs.htm
                                        • Lee Hart
                                          ... Actually, I think the way to go is to use the 1802 s DMA! -- You never change things by fighting the existing reality. To change something, build a new
                                          Message 20 of 29 , Apr 28 1:43 PM
                                            On 4/27/2013 11:21 AM, David W. Schultz wrote:
                                            > Between rolling my own drive electronics and purchasing a Western
                                            > Digital 2797 floppy disk controller I know which way I would go.
                                            >
                                            > For double density data the bit rate is 250Kb/sec so you have to handle
                                            > a byte of data every 32 us. On an 1802 with a 2MHz clock that is once
                                            > every four 2 cycle instructions.
                                            >
                                            > The fastest way to check for data in software is to connect the DRQ pin
                                            > to an EF line and use a nice short one instruction loop to wait for it.

                                            Actually, I think the way to go is to use the 1802's DMA!
                                            --
                                            You never change things by fighting the existing reality. To change
                                            something, build a new model that makes the existing model obsolete. --
                                            Buckminster Fuller
                                            --
                                            Lee A. Hart, http://www.sunrise-ev.com/LeesEVs.htm
                                          Your message has been successfully submitted and would be delivered to recipients shortly.