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

MC Hardware Boot Strap

Expand Messages
  • the-eagle@att.net
    I been reading about the mini boot strap loader for the CDP1802 and the Membership card. After playing around for almost a year with the hardware boot strap
    Message 1 of 10 , Mar 18, 2013
    • 0 Attachment
      I been reading about the mini boot strap loader for the CDP1802 and the Membership card. After playing around for almost a year with the hardware boot strap circuit. I can say that the bit banging with the Membership Card, the programmer has to take into account that the speed of every Membership can vary and when it comes to programming the ON/OFF time of the EFx flag that you must use the full 16 bit register for your timing. I tried using just the high order and it doesn't work, however when you use the full register as your counter (delay) it worked just fine.

      If you have a EPROM/OTP burner then the circuit that I just uploaded to this group will work for you. NO software needed except for your EPROM burner.

      Happy Testing,
      The-Eagle
    • DougCrawford
      Can you clarify what timing and register you are talking about? I need a theory of op here to appreciate what you are saying, thanks!
      Message 2 of 10 , Mar 18, 2013
      • 0 Attachment
        Can you clarify what timing and register you are talking about?
        I need a theory of op here to appreciate what you are saying,
        thanks!

        --- In cosmacelf@yahoogroups.com, "the-eagle@..." <the-eagle@...> wrote:
        >
        > I been reading about the mini boot strap loader for the CDP1802 and the Membership card. After playing around for almost a year with the hardware boot strap circuit. I can say that the bit banging with the Membership Card, the programmer has to take into account that the speed of every Membership can vary and when it comes to programming the ON/OFF time of the EFx flag that you must use the full 16 bit register for your timing. I tried using just the high order and it doesn't work, however when you use the full register as your counter (delay) it worked just fine.
        >
        > If you have a EPROM/OTP burner then the circuit that I just uploaded to this group will work for you. NO software needed except for your EPROM burner.
        >
        > Happy Testing,
        > The-Eagle
        >
      • William Donnelly
        Using the higher order doesn t work if I m understanding what you might be saying. You re basically just using an 8-bit counter, that happens to be stored in
        Message 3 of 10 , Mar 19, 2013
        • 0 Attachment
          "Using the higher order" doesn't work if I'm understanding what you might be saying.

          You're basically just using an 8-bit counter, that happens to be stored in the high-order
          byte of a 16-bit register. You might as well just be using the low-order byte.

          So you do have to use the whole 16-bit register as a 16-bit counter, incrementing the
          low-order byte, and then incrementing the high-order byte when you get an overflow.
          That way you count from a possibility of 0 to 65535 max.

          Is that basically what you're saying?

          Or are you saying that you were using just the high-order byte of a 16-bit register because
          that's what you had available to your program, but you had to use a full 16-bit register?

          It's really too bad they didn't offer more 16-bit register operations in the 1802.
          That would have really helped, but they would have had to do what they ended up
          doing in the 1805/6, using an instruction extension using the 68h 'opcode' as a preperand.
          And even those extensions aren't as much as I would have liked.

          Afaik, there is no such term as preperand. Until now, that is. ;o) Extenderand? Expanderand?

          – Bill

          On 3/18/2013 4:18 PM, the-eagle@... wrote:
           

          I been reading about the mini boot strap loader for the CDP1802 and the Membership card. After playing around for almost a year with the hardware boot strap circuit. I can say that the bit banging with the Membership Card, the programmer has to take into account that the speed of every Membership can vary and when it comes to programming the ON/OFF time of the EFx flag that you must use the full 16 bit register for your timing. I tried using just the high order and it doesn't work, however when you use the full register as your counter (delay) it worked just fine.

          If you have a EPROM/OTP burner then the circuit that I just uploaded to this group will work for you. NO software needed except for your EPROM burner.

          Happy Testing,
          The-Eagle


        • the-eagle@att.net
          I am talking about a software Uart for the Membership Card. The software that I wrote uses an entire complete 16 bit register as a counter to determine the Bit
          Message 4 of 10 , Mar 19, 2013
          • 0 Attachment
            I am talking about a software Uart for the Membership Card. The software that I wrote uses an entire complete 16 bit register as a counter to determine the Bit timing rate that is incoming thru say the EF4 flag line. I have decovered that if you then zero out the low order of the counter register, the bit timing is way off. I have concluded that this is because of the clock speed that the Membership Card runs at, however in a faster clocked 1802 the plus or minus the up to 256 count in the low order of a 16 bit counter may be discarded. As the clock speed in increased the margin of error goes down when figuring the bit timing of the incoming bit.

            Chuck


            --- In cosmacelf@yahoogroups.com, "DougCrawford" <touchetek@...> wrote:
            >
            >
            > Can you clarify what timing and register you are talking about?
            > I need a theory of op here to appreciate what you are saying,
            > thanks!
            >
            > --- In cosmacelf@yahoogroups.com, "the-eagle@" <the-eagle@> wrote:
            > >
            > > I been reading about the mini boot strap loader for the CDP1802 and the Membership card. After playing around for almost a year with the hardware boot strap circuit. I can say that the bit banging with the Membership Card, the programmer has to take into account that the speed of every Membership can vary and when it comes to programming the ON/OFF time of the EFx flag that you must use the full 16 bit register for your timing. I tried using just the high order and it doesn't work, however when you use the full register as your counter (delay) it worked just fine.
            > >
            > > If you have a EPROM/OTP burner then the circuit that I just uploaded to this group will work for you. NO software needed except for your EPROM burner.
            > >
            > > Happy Testing,
            > > The-Eagle
            > >
            >
          • joshbensadon
            ... If I understand what you re saying, then let me rephrase it. At low frequency clocks, a 16 bit delay register requires a low number in the upper byte. By
            Message 5 of 10 , Mar 19, 2013
            • 0 Attachment
              --- In cosmacelf@yahoogroups.com, "the-eagle@..." <the-eagle@...> wrote:
              >
              > I am talking about a software Uart for the Membership Card. The software that I wrote uses an entire complete 16 bit register as a counter to determine the Bit timing rate that is incoming thru say the EF4 flag line. I have decovered that if you then zero out the low order of the counter register, the bit timing is way off. I have concluded that this is because of the clock speed that the Membership Card runs at, however in a faster clocked 1802 the plus or minus the up to 256 count in the low order of a 16 bit counter may be discarded. As the clock speed in increased the margin of error goes down when figuring the bit timing of the incoming bit.
              >
              > Chuck


              If I understand what you're saying, then let me rephrase it.

              At low frequency clocks, a 16 bit delay register requires a low number in the upper byte. By having a low number in the upper byte, the undefined lower byte can have a significant impact on the delay.
              At high frequency clocks, this 16 bit delay register requires a large number in the upper byte, making the lower byte insignificant.

              Using hard numbers as an example....

              Let's use the D register for Delay.

              If RD.1 = 4, then RD.0 can affect the delay by up to 25%
              If RD.1 = 250, then RD.0 only affects the delay by up to 0.4%


              Now, my comments.
              The low register (if not initialized) will only be undefined in the first iteration of the loop, there after, you can expect it to be where the count left off (probably 255).

              When counting a timing loop, it all depends on how accurate your loop needs to be. If timing is done for a real time clock, then you want to use a crystal or some other external frequency (60Hz Line?) and you then want to count exact cycles and loop iterations to keep your clock on time. If timing is done to beep a speaker, then anything that's within a reasonable audible frequency is good enough.

              :) J
            • the-eagle@att.net
              I believe you stated it a little better then I did. My software will work correctly without knowing what the clock speed is. The counter is initialized to
              Message 6 of 10 , Mar 19, 2013
              • 0 Attachment
                I believe you stated it a little better then I did. My software will work correctly without knowing what the clock speed is. The counter is initialized to 0000hex and start counting upward on the first bit then stops after that bit has passed (I use the ASCII capital U) to set the counter. The reason I used the capital "U" is because it is 55hex value which has a pulse train of ON then OFF bits, however we only count the bit time on the first ON bit to set he counter value. Store the counter either in a register or memory and then you can retrieve that value any time you which to use it for any input or output serial command. I have ran this software on the Membership Card to talk to the Hyperterminal program in Windows. If you disconnect it from Hyperterminal then change the speed of the Membership Card then reconnect it back to the PC the software (after you type a "U") the counter value will change to a different value to reflect the change of the new clock speed. It has been a while since I have played around with it but if my memoery serves me correct the counter had a value of 0126hex for 110 baud and only a value of 0068hex for a 300 baud rate. I am sure with a little math thrown in we can figure out the clock speed of my Membership Card by just knowing the counter value of the delay.

                Chuck


                --- In cosmacelf@yahoogroups.com, "joshbensadon" <joshbensadon@...> wrote:
                >
                > --- In cosmacelf@yahoogroups.com, "the-eagle@" <the-eagle@> wrote:
                > >
                > > I am talking about a software Uart for the Membership Card. The software that I wrote uses an entire complete 16 bit register as a counter to determine the Bit timing rate that is incoming thru say the EF4 flag line. I have decovered that if you then zero out the low order of the counter register, the bit timing is way off. I have concluded that this is because of the clock speed that the Membership Card runs at, however in a faster clocked 1802 the plus or minus the up to 256 count in the low order of a 16 bit counter may be discarded. As the clock speed in increased the margin of error goes down when figuring the bit timing of the incoming bit.
                > >
                > > Chuck
                >
                >
                > If I understand what you're saying, then let me rephrase it.
                >
                > At low frequency clocks, a 16 bit delay register requires a low number in the upper byte. By having a low number in the upper byte, the undefined lower byte can have a significant impact on the delay.
                > At high frequency clocks, this 16 bit delay register requires a large number in the upper byte, making the lower byte insignificant.
                >
                > Using hard numbers as an example....
                >
                > Let's use the D register for Delay.
                >
                > If RD.1 = 4, then RD.0 can affect the delay by up to 25%
                > If RD.1 = 250, then RD.0 only affects the delay by up to 0.4%
                >
                >
                > Now, my comments.
                > The low register (if not initialized) will only be undefined in the first iteration of the loop, there after, you can expect it to be where the count left off (probably 255).
                >
                > When counting a timing loop, it all depends on how accurate your loop needs to be. If timing is done for a real time clock, then you want to use a crystal or some other external frequency (60Hz Line?) and you then want to count exact cycles and loop iterations to keep your clock on time. If timing is done to beep a speaker, then anything that's within a reasonable audible frequency is good enough.
                >
                > :) J
                >
              • joshbensadon
                ... Cool, Autobaud detection! That can be a little tricky, but it sounds like you ve done a bang on job on bit banging. If you like heavy metal music, then
                Message 7 of 10 , Mar 19, 2013
                • 0 Attachment
                  --- In cosmacelf@yahoogroups.com, "the-eagle@..." <the-eagle@...> wrote:
                  >
                  > I believe you stated it a little better then I did. My software will work correctly without knowing what the clock speed is. The counter is initialized to 0000hex and start counting upward on the first bit then stops after that bit has passed (I use the ASCII capital U) to set the counter. The reason I used the capital "U" is because it is 55hex value which has a pulse train of ON then OFF bits, however we only count the bit time on the first ON bit to set he counter value. Store the counter either in a register or memory and then you can retrieve that value any time you which to use it for any input or output serial command. I have ran this software on the >


                  Cool, Autobaud detection! That can be a little tricky, but it sounds like you've done a bang on job on bit banging. If you like heavy metal music, then the title can be something like "Head Banger goes Bit Banging".

                  I like and know about the big U. It makes for a very nice display on the oscilloscope. Including the start and stop bits, it gives a 0101010101 pattern (and if it doesn't then you have some hardware problem to fix).

                  The only trouble I know of with Autobaud is when it's expecting a fixed key. Some systems use <Space> or <Enter> to set the autobaud. Idealy, I would think several time intervals should be examined and only the shortest should be used.


                  :)J
                • Lee Hart
                  ... Chuck built a really nice EPROM loader for the Membership Card. It plugs into either the 25-pin front panel connector, or can *replace* the front panel,
                  Message 8 of 10 , Mar 19, 2013
                  • 0 Attachment
                    Chuck Yakim the-eagle@... wrote:
                    > If you have a EPROM/OTP burner then the circuit that I just uploaded
                    > to this group will work for you. NO software needed except for your
                    > EPROM burner.

                    Chuck built a really nice EPROM loader for the Membership Card. It plugs
                    into either the 25-pin front panel connector, or can *replace* the front
                    panel, plugging directly into the Membership Card's 30-pin connector. It
                    adds an EPROM socket, and logic to load its contents into the Membership
                    Card's RAM automatically.

                    If enough people are interested, I'm sure we could order a batch of PC
                    boards for it.

                    He very kindly sent me one, and I have been tinkering with it. It works
                    great! There are a couple improvements I'd like to make. One is to add a
                    serial port to the board. The other is to allow it to program EPROMs as
                    well as read them (probably just a few basic types). That would make it
                    a lot more useful for people that don't have an EPROM programmer.
                    --
                    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
                  • jdrose_8_bit
                    I would be interested in that PCB. Put me on the list please.
                    Message 9 of 10 , Mar 20, 2013
                    • 0 Attachment
                      I would be interested in that PCB. Put me on the list please.

                      --- In cosmacelf@yahoogroups.com, Lee Hart <leeahart@...> wrote:
                      >
                      > Chuck Yakim the-eagle@... wrote:
                      > > If you have a EPROM/OTP burner then the circuit that I just uploaded
                      > > to this group will work for you. NO software needed except for your
                      > > EPROM burner.
                      >
                      > Chuck built a really nice EPROM loader for the Membership Card. It plugs
                      > into either the 25-pin front panel connector, or can *replace* the front
                      > panel, plugging directly into the Membership Card's 30-pin connector. It
                      > adds an EPROM socket, and logic to load its contents into the Membership
                      > Card's RAM automatically.
                      >
                      > If enough people are interested, I'm sure we could order a batch of PC
                      > boards for it.
                      >
                      > He very kindly sent me one, and I have been tinkering with it. It works
                      > great! There are a couple improvements I'd like to make. One is to add a
                      > serial port to the board. The other is to allow it to program EPROMs as
                      > well as read them (probably just a few basic types). That would make it
                      > a lot more useful for people that don't have an EPROM programmer.
                      > --
                      > 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
                      >
                    • bill rowe
                      I guess the idea of this is that it s persistent storage? To: cosmacelf@yahoogroups.com From: rarecoinbuyer@yahoo.com Date: Wed, 20 Mar 2013 16:51:51 +0000
                      Message 10 of 10 , Mar 20, 2013
                      • 0 Attachment
                        I guess the idea of this is that it's persistent storage?


                        To: cosmacelf@yahoogroups.com
                        From: rarecoinbuyer@...
                        Date: Wed, 20 Mar 2013 16:51:51 +0000
                        Subject: [cosmacelf] Re: MC Hardware Boot Strap

                         
                        I would be interested in that PCB. Put me on the list please.

                        --- In cosmacelf@yahoogroups.com, Lee Hart <leeahart@...> wrote:
                        >
                        > Chuck Yakim the-eagle@... wrote:
                        > > If you have a EPROM/OTP burner then the circuit that I just uploaded
                        > > to this group will work for you. NO software needed except for your
                        > > EPROM burner.
                        >
                        > Chuck built a really nice EPROM loader for the Membership Card. It plugs
                        > into either the 25-pin front panel connector, or can *replace* the front
                        > panel, plugging directly into the Membership Card's 30-pin connector. It
                        > adds an EPROM socket, and logic to load its contents into the Membership
                        > Card's RAM automatically.
                        >
                        > If enough people are interested, I'm sure we could order a batch of PC
                        > boards for it.
                        >
                        > He very kindly sent me one, and I have been tinkering with it. It works
                        > great! There are a couple improvements I'd like to make. One is to add a
                        > serial port to the board. The other is to allow it to program EPROMs as
                        > well as read them (probably just a few basic types). That would make it
                        > a lot more useful for people that don't have an EPROM programmer.
                        > --
                        > 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
                        >


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