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

Re: Strange crash

Expand Messages
  • rileym65
    Stupid question here,,,,you are running your test software from the rom??? so that you know the bank switching hardware is working correctly??? I had a
    Message 1 of 7 , Jan 29, 2009
    • 0 Attachment
      Stupid question here,,,,you are running your test software from the
      rom??? so that you know the bank switching hardware is working
      correctly??? I had a similar problem to this when i built my
      Pico/Elf, and turned out there was a problem in the bank
      switcher....so just wanted to make sure you are not having the same
      problem,,,can you provide me with the code??? and I can take a
      further look at it for you...
      Mike

      --- In cosmacelf@yahoogroups.com, nils_eilers <no_reply@...> wrote:
      >
      > Hello everybody,
      >
      > I built 1802-based computer with 32 KB EPROM, 32 KB RAM, bit banged
      > serial I/O and a 2 x 36 characters display with DL1414 17 segment
      > displays.
      >
      > The 32 KB-pages are flipped on first access > 32K, that means, after
      > 8000 LBR 8003 RAM is from 0-32K, EPROM is from 32-64K.
      >
      > I wrote the serial routines from scratch for the Q/EF-interface with
      > MAX232 - they work fine at 9600 baud.
      >
      > I can output text to the display... okay.
      >
      > I wrote a RAM-check -- okay.
      >
      > Now I wanted to write a ROM-check routine and the strange things begun:
      >
      > it always fails!
      >
      > The rom check routines work good with my emulator.
      >
      > Then I tryed something different: just write some messages to the
      > display. Fill the display slowly with the charset, wait, write a text
      > immediatly, wait... then another text should be written to the display
      > but it never appears.
      >
      > The machine stops.
      >
      > I used the oscilloscope to see what it does and it stops at $8004.
      > This byte contains $80 from a LDI $80. If $80 is used as a command, it
      > means GLO R0.
      >
      > But a GLO R0 wouldn't stop the 1802!
      >
      > What's worse, there are pulses on /MWR - GLO R0 doesn't do that...
      >
      > And last but not least: it doesn't restart with the reset-key any
      > longer. But the reset-key pulls /CLEAR down to GND when pressed and
      > works fine with some other test programs I burned to EPROM.
      >
      > I see... the 1802 halts at $8004, halts at an opcode that doesn't
      > halt, and writes when it should write.
      >
      > I guessed a bad cpu and tryed a couple of other ones (from the same
      > batch) - same result.
      >
      > Then I tryed an 1806 - same result.
      >
      > Now I really don't know how to continue...
      >
      > any ideas?
      >
      > Please let me know!
      >
      > Best regards,
      > Nils
      >
    • rdoerr@bizserve.com
      Another few questions about the system/issues: - Is this a new system/problem or was the system working ok at one time? - What is the construction like? (Wire
      Message 2 of 7 , Jan 29, 2009
      • 0 Attachment
        Another few questions about the system/issues:

        - Is this a new system/problem or was the system
        working ok at one time?

        - What is the construction like? (Wire wrapped,
        solderless breadboard, point to point, etc)

        - Are there bypass/decoupling caps on all the IC's?

        - How fast is the system clocked? It may be a silly
        question but I fixed another old system that wasn't
        stable because some of the parts weren't rated for
        the clock speed it was running. The EPROM's were too
        slow.

        Just some things to keep in mind.

        Robert


        ------- Original Message -------
        From : rileym65[mailto:no_reply@yahoogroups.com]
        Sent : 1/29/2009 11:06:36 AM
        To : cosmacelf@yahoogroups.com
        Cc :
        Subject : RE: [cosmacelf] Re: Strange crash

        Stupid question here,,,,you are running your test
        software from the
        rom??? so that you know the bank switching hardware
        is working
        correctly??? I had a similar problem to this when i
        built my
        Pico/Elf, and turned out there was a problem in the bank
        switcher....so just wanted to make sure you are not
        having the same
        problem,,,can you provide me with the code??? and I
        can take a
        further look at it for you...
        Mike

        --- In cosmacelf@yahoogroups.com, nils_eilers
        <no_reply@...> wrote:
        >
        > Hello everybody,
        >
        > I built 1802-based computer with 32 KB EPROM, 32 KB
        RAM, bit banged
        > serial I/O and a 2 x 36 characters display with
        DL1414 17 segment
        > displays.
        >
        > The 32 KB-pages are flipped on first access > 32K,
        that means, after
        > 8000 LBR 8003 RAM is from 0-32K, EPROM is from 32-64K.
        >
        > I wrote the serial routines from scratch for the
        Q/EF-interface with
        > MAX232 - they work fine at 9600 baud.
        >
        > I can output text to the display... okay.
        >
        > I wrote a RAM-check -- okay.
        >
        > Now I wanted to write a ROM-check routine and the
        strange things begun:
        >
        > it always fails!
        >
        > The rom check routines work good with my emulator.
        >
        > Then I tryed something different: just write some
        messages to the
        > display. Fill the display slowly with the charset,
        wait, write a text
        > immediatly, wait... then another text should be
        written to the display
        > but it never appears.
        >
        > The machine stops.
        >
        > I used the oscilloscope to see what it does and it
        stops at $8004.
        > This byte contains $80 from a LDI $80. If $80 is
        used as a command, it
        > means GLO R0.
        >
        > But a GLO R0 wouldn't stop the 1802!
        >
        > What's worse, there are pulses on /MWR - GLO R0
        doesn't do that...
        >
        > And last but not least: it doesn't restart with the
        reset-key any
        > longer. But the reset-key pulls /CLEAR down to GND
        when pressed and
        > works fine with some other test programs I burned
        to EPROM.
        >
        > I see... the 1802 halts at $8004, halts at an
        opcode that doesn't
        > halt, and writes when it should write.
        >
        > I guessed a bad cpu and tryed a couple of other
        ones (from the same
        > batch) - same result.
        >
        > Then I tryed an 1806 - same result.
        >
        > Now I really don't know how to continue...
        >
        > any ideas?
        >
        > Please let me know!
        >
        > Best regards,
        > Nils
        >



        ------------------------------------

        ========================================================
        Visit the COSMAC ELF website at
        http://www.cosmacelf.comYahoo! Groups Links
      • rileym65
        Additional questions: 1. How does your bank switching hardware work?? are you sure that it is not switching back at any point? 2. Is there an address display
        Message 3 of 7 , Jan 29, 2009
        • 0 Attachment
          Additional questions:

          1. How does your bank switching hardware work?? are you sure that it
          is not switching back at any point?

          2. Is there an address display on your machine? does it actually stop
          at that address?? if it is stopping then it executed a 00 (idl)
          instruction, any other instruction would not stop the machine it would
          keep running along and the address displays would continue to change.

          Something you can do to help debug this kind of problem, replace the
          system clock with a debounced push button, so that you can provide the
          clock pulses manually, then you can look at what is on the busses at
          any time during execution and see if what you are expecting is
          actually there.

          Mike

          --- In cosmacelf@yahoogroups.com, nils_eilers <no_reply@...> wrote:
          >
          > Hello everybody,
          >
          > I built 1802-based computer with 32 KB EPROM, 32 KB RAM, bit banged
          > serial I/O and a 2 x 36 characters display with DL1414 17 segment
          > displays.
          >
          > The 32 KB-pages are flipped on first access > 32K, that means, after
          > 8000 LBR 8003 RAM is from 0-32K, EPROM is from 32-64K.
          >
          > I wrote the serial routines from scratch for the Q/EF-interface with
          > MAX232 - they work fine at 9600 baud.
          >
          > I can output text to the display... okay.
          >
          > I wrote a RAM-check -- okay.
          >
          > Now I wanted to write a ROM-check routine and the strange things begun:
          >
          > it always fails!
          >
          > The rom check routines work good with my emulator.
          >
          > Then I tryed something different: just write some messages to the
          > display. Fill the display slowly with the charset, wait, write a text
          > immediatly, wait... then another text should be written to the display
          > but it never appears.
          >
          > The machine stops.
          >
          > I used the oscilloscope to see what it does and it stops at $8004.
          > This byte contains $80 from a LDI $80. If $80 is used as a command, it
          > means GLO R0.
          >
          > But a GLO R0 wouldn't stop the 1802!
          >
          > What's worse, there are pulses on /MWR - GLO R0 doesn't do that...
          >
          > And last but not least: it doesn't restart with the reset-key any
          > longer. But the reset-key pulls /CLEAR down to GND when pressed and
          > works fine with some other test programs I burned to EPROM.
          >
          > I see... the 1802 halts at $8004, halts at an opcode that doesn't
          > halt, and writes when it should write.
          >
          > I guessed a bad cpu and tryed a couple of other ones (from the same
          > batch) - same result.
          >
          > Then I tryed an 1806 - same result.
          >
          > Now I really don't know how to continue...
          >
          > any ideas?
          >
          > Please let me know!
          >
          > Best regards,
          > Nils
          >
        • nils_eilers
          Thank you for the fast response! @Mike: Yes, the test software runs from the ROM. I tried several EPROMs and my EPROM-simulator - it makes no difference. I
          Message 4 of 7 , Jan 29, 2009
          • 0 Attachment
            Thank you for the fast response!

            @Mike:

            Yes, the test software runs from the ROM. I tried several EPROMs and
            my EPROM-simulator - it makes no difference. I tested all the
            connections from CPU-Address latch-EPROM, they are good.

            I am sure, the bank-switching is not the problem. I tested it a lot -
            it always worked fine.
            A15 goes to CLK of a 74HCT74, /RESET to /CLEAR, D and /PRESET to Vcc.
            There's no way to change the banks again, once A15 triggered it.

            I put the code online to a web page:
            http://home.germany.net/nils.eilers/enigma

            No, unfortunately the system has no address display. I used a dual
            channel oscilloscope to take a look at the data and address lines.

            Using a debounced key to provide the clock pulses manually is a good
            idea, but I'll better write a program to let the printer port pulse
            it, otherwise I'll break my fingers :-)

            @Robert:
            This is a new system. It's design is based on the pico elf but with
            some modifications and extensions. It is constructed with a kind of
            point-to-point. But sadly at that time I didn't make real
            point-to-point-connections (meaning using a single wire for each
            connection) but connected several pins with the same wire. Later I
            found out that soldering the connections where the wire is just laid
            around may sometimes result in no connection.
            After that, I testet the connections and found no fault.

            Yes, each IC has it's 100nF.

            The system "runs" at 2 MHz, EPROM access time is 120 ns.





            Nils
          • Bill Rowe
            could you describe what it does now? does it work at all? if not, could it be a stuck or shorted data or address line? ... From: nils_eilers To:
            Message 5 of 7 , Jan 29, 2009
            • 0 Attachment
              could you describe what it does now? does it work at all? if not, could it be a stuck or shorted data or address line?
              ----- Original Message -----
              From: nils_eilers
              To: cosmacelf@yahoogroups.com
              Sent: Thursday, January 29, 2009 12:20 PM
              Subject: [cosmacelf] Re: Strange crash


              Thank you for the fast response!

              @Mike:

              Yes, the test software runs from the ROM. I tried several EPROMs and
              my EPROM-simulator - it makes no difference. I tested all the
              connections from CPU-Address latch-EPROM, they are good.

              I am sure, the bank-switching is not the problem. I tested it a lot -
              it always worked fine.
              A15 goes to CLK of a 74HCT74, /RESET to /CLEAR, D and /PRESET to Vcc.
              There's no way to change the banks again, once A15 triggered it.

              I put the code online to a web page:
              http://home.germany.net/nils.eilers/enigma

              No, unfortunately the system has no address display. I used a dual
              channel oscilloscope to take a look at the data and address lines.

              Using a debounced key to provide the clock pulses manually is a good
              idea, but I'll better write a program to let the printer port pulse
              it, otherwise I'll break my fingers :-)

              @Robert:
              This is a new system. It's design is based on the pico elf but with
              some modifications and extensions. It is constructed with a kind of
              point-to-point. But sadly at that time I didn't make real
              point-to-point-connections (meaning using a single wire for each
              connection) but connected several pins with the same wire. Later I
              found out that soldering the connections where the wire is just laid
              around may sometimes result in no connection.
              After that, I testet the connections and found no fault.

              Yes, each IC has it's 100nF.

              The system "runs" at 2 MHz, EPROM access time is 120 ns.

              Nils






              ------------------------------------------------------------------------------


              No virus found in this incoming message.
              Checked by AVG.
              Version: 7.5.552 / Virus Database: 270.10.15/1923 - Release Date: 29/01/2009 7:13 AM


              [Non-text portions of this message have been removed]
            • nils_eilers
              ... could it be a stuck or shorted data or address line? In the past, most errors I encountered were software problems. I started to write a script to convert
              Message 6 of 7 , Jan 29, 2009
              • 0 Attachment
                > could you describe what it does now? does it work at all? if not,
                could it be a stuck or shorted data or address line?

                In the past, most errors I encountered were software problems. I
                started to write a script to convert the assembly listing into
                chronologic order - maybe I run into an data area. The NUL at the end
                of a string constant could end up in an IDL...

                Still the same promlem: the system halts and then ignores the reset key.

                Whats new: I have a new error at the display board. Seems to be
                something with the select lines: one position in line 2 always shows
                the last written character. Whats very strange: with another program I
                wrote, this "bad position" is at line 1.

                I'm afraid, there are a lot of dry joints. It will take me hours to to
                older them again - but I hope, this helps....
              Your message has been successfully submitted and would be delivered to recipients shortly.