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

simple memory test?

Expand Messages
  • Steve
    I need to run memory tests on a huge pile of MITS 16K and 4K memory boards, but all of my disk drives are currently inoperative so I can t run any disk-based
    Message 1 of 8 , May 22, 2009
    • 0 Attachment
      I need to run memory tests on a huge pile of MITS 16K and 4K memory boards, but all of my disk drives are currently inoperative so I can't run any disk-based tests. Does anyone here know of a simple rudimentary test (less than 500 bytes or so) that I could toggle into my 8800b's front panel? Hopefully, I could blast the code to EPROMs (1702s) and make the program run at bootup.

      Thanks for any feedback or comments.

      Steve
      ===========================
    • mardy_marshall
      ... I ve had good luck using the memory test published in the Vector Graphics 8K SRAM manual
      Message 2 of 8 , May 22, 2009
      • 0 Attachment
        --- In altaircomputerclub@yahoogroups.com, "Steve" <alltare@...> wrote:
        >
        > I need to run memory tests on a huge pile of MITS 16K and 4K memory boards, but all of my disk drives are currently inoperative so I can't run any disk-based tests. Does anyone here know of a simple rudimentary test (less than 500 bytes or so) that I could toggle into my 8800b's front panel? Hopefully, I could blast the code to EPROMs (1702s) and make the program run at bootup.
        >
        > Thanks for any feedback or comments.
        >
        > Steve
        > ===========================
        >

        I've had good luck using the memory test published in the Vector Graphics 8K SRAM manual (http://maben.homeip.net/static/S100/vector/cards/Vector%208K%20SRAM%20Users%20Manual.pdf).

        -Mardy
      • Steve
        Thanks for the link, Mardy. Unfortunately, that file is password protected against printing, extracting, etc. I found a printable unlocked version (and
        Message 3 of 8 , May 22, 2009
        • 0 Attachment
          Thanks for the link, Mardy. Unfortunately, that file is password
          protected against printing, extracting, etc. I found a printable
          unlocked version (and slightly better resolution, too) here:
          http://www.tech-systems-labs.com/S-100/Vector-8K-SRAM.pdf

          I'll give the machine language test a try.

          Steve
          ================================

          --- In altaircomputerclub@yahoogroups.com, "mardy_marshall" <mardy@...>
          wrote:
          >
          > --- In altaircomputerclub@yahoogroups.com, "Steve" alltare@ wrote:
          > >
          > > I need to run memory tests on a huge pile of MITS 16K and 4K memory
          boards, but all of my disk drives are currently inoperative so I can't
          run any disk-based tests. Does anyone here know of a simple rudimentary
          test (less than 500 bytes or so) that I could toggle into my 8800b's
          front panel? Hopefully, I could blast the code to EPROMs (1702s) and
          make the program run at bootup.
          > >
          > > Thanks for any feedback or comments.
          > >
          > > Steve
          > > ===========================
          > >
          >
          > I've had good luck using the memory test published in the Vector
          Graphics 8K SRAM manual
          (http://maben.homeip.net/static/S100/vector/cards/Vector%208K%20SRAM%20U\
          sers%20Manual.pdf).
          >
          > -Mardy
          >
        • Tom Sanderson
          Are you boards all static? It is my understanding that different tests are required for dynamic memory. A simple test is better than nothing, but perhaps
          Message 4 of 8 , May 23, 2009
          • 0 Attachment

            Are you boards all static? It is my understanding that different tests are required for dynamic memory. A simple test is better than nothing, but perhaps someone can comment on testing dynamic memory vs. static. I assume MITS MTST tests both static & dynamic. Steve. we can use MTST to test your boards if you want to bring some to my workshop and test them in a disk system.

            The 8K Vector Graphic SRAM board is an appropriate choice for test program. This is the board that started Vector Graphic. The board was designed to work in an Altair and helped fill the market niche created by MITS dynamic memory problems.  The board and memory test were created at a time when Vector Graphic used an 8080, so there shouldn't be any Z80 code in the test program. I notice the manual has two memory tests, one in MITS BASIC and one in machine language.

            The MITS BASIC memory test won't be too useful on a diskless system unless you have a ROM BASIC board. Thinking of a diskless system reminds me of APE. http://frankbarberis.tech.officelive.com/ APE could load CP/M and MBASIC4 to run the BASIC memory test.  A better solution might be to make an APE disk image with a CP/M memory test. I suggest using a 1702 to make an APE boot prom in addition to a memory test prom. Can anyone point to an appropriate CP/M memory test utility? This approach assumes you have a working 32K to run CP/M.

            The 8K Static RAM machine language program is interesting because it is abstracted from the Vector 1 Monitor. Has anyone ported a Vector Monitor to an Altair? I have the source code for the Vector 4.0c serial monitor (2K) and a version stripped down to 1K that I believe still contains the memory test. This code would be easy to modify for Motorola 6850 IO. I'm not sure if the code has Z80 instructions. Here is the link to the 1K monitor version in case anyone is interested: http://vector-graphic.info/Documents/40X.ASM.

            My wish list for a diskless Altair is not just a memory test prom, but a 1K monitor that includes a memory test and a modified APE Serial Boot Loader.  The modified serial boot loader would load CP/M or ROM BASIC. It could also load  a program like the MITS memory test MTST.

            Here is link to a my page for the Vector 8K Static in case someone wants to see an image and description http://vector-graphic.info/vg_8k_static_ram.aspx. I added a link to the manual. The manual at tech-systems-labs.com is from the Howard Harte Vector Graphic page http://www.hartetechnologies.com/manuals/Vector%20Graphics/


            Tom Sanderson
            www.virtualaltair.com
            www.vector-graphic.info


            --- In altaircomputerclub@yahoogroups.com, "Steve" <alltare@...> wrote:
            >
            > Thanks for the link, Mardy. Unfortunately, that file is password
            > protected against printing, extracting, etc. I found a printable
            > unlocked version (and slightly better resolution, too) here:
            > http://www.tech-systems-labs.com/S-100/Vector-8K-SRAM.pdf
            >
            > I'll give the machine language test a try.
            >
            > Steve
            > ================================
            >
            > --- In altaircomputerclub@yahoogroups.com, "mardy_marshall" mardy@
            > wrote:
            > >
            > > --- In altaircomputerclub@yahoogroups.com, "Steve" alltare@ wrote:
            > > >
            > > > I need to run memory tests on a huge pile of MITS 16K and 4K memory
            > boards, but all of my disk drives are currently inoperative so I can't
            > run any disk-based tests. Does anyone here know of a simple rudimentary
            > test (less than 500 bytes or so) that I could toggle into my 8800b's
            > front panel? Hopefully, I could blast the code to EPROMs (1702s) and
            > make the program run at bootup.
            > > >
            > > > Thanks for any feedback or comments.
            > > >
            > > > Steve
            > > > ===========================
            > > >
            > >
            > > I've had good luck using the memory test published in the Vector
            > Graphics 8K SRAM manual
            > (http://maben.homeip.net/static/S100/vector/cards/Vector%208K%20SRAM%20U\
            > sers%20Manual.pdf).
            > >
            > > -Mardy
            > >
            >

          • Steve
            Tom, The main boards I want to test are all MITS 16K statics. They were all tested good with a disk-based test program before they were stored away about 15
            Message 5 of 8 , May 25, 2009
            • 0 Attachment
              Tom,

              The main boards I want to test are all MITS 16K statics. They were all tested good with a disk-based test program before they were stored away about 15 years ago, so they should all still be OK now for the most part. In case of oxidized connectors and socket pins and other mechanical problems, I think a simple quickie test would be enough to ensure functionality. That's why Mardy's suggestion of the Vector Graphic machine language program looks good, but I'm having trouble moving it onto a 1702 EPROM starting at 176000 (FCOO). It's been too long since I did any 8080 coding and I'm forgetting something.

              I also have a stack of MITS 16K dynamics. Most of them should be OK too, but again, oxidized sockets are always a possibility. You're right about 'special' test procedures for the dynamics. Although regular memory tests will check static as well as dynamic memories, sometimes with MITS dynamics, you would see an error if you read an address too quickly after addressing it. At other times, it was not uncommon for long-term data retention (more than a few milliseconds) to fail because of refresh timing problems. So testing for quick write-read and for write-delay-read errors was best. I'm pretty sure the MITS test checked both ways, but it took a long time to run. When at MITS, I always had good luck with a test called 'ETC', named for the East Texas Computer Club who wrote it. It was pretty fast and still uncovered most problems. Unfortunately, a working 8" drive is necessary to load it. However, the Vector Graphic test will probably show up most of the major problems here too.

              steve
              ===========================

              --- In altaircomputerclub@yahoogroups.com, "Tom Sanderson" <yahoo@...> wrote:
              >
              >
              > Are you boards all static? It is my understanding that different tests
              > are required for dynamic memory. A simple test is better than nothing,
              > but perhaps someone can comment on testing dynamic memory vs. static. I
              > assume MITS MTST tests both static & dynamic. Steve. we can use MTST to
              > test your boards if you want to bring some to my workshop and test them
              > in a disk system.
              >
              > The 8K Vector Graphic SRAM board is an appropriate choice for test
              > program. This is the board that started Vector Graphic. The board was
              > designed to work in an Altair and helped fill the market niche created
              > by MITS dynamic memory problems. The board and memory test were created
              > at a time when Vector Graphic used an 8080, so there shouldn't be
              > any Z80 code in the test program. I notice the manual has two memory
              > tests, one in MITS BASIC and one in machine language.
              >
              > The MITS BASIC memory test won't be too useful on a diskless system
              > unless you have a ROM BASIC board. Thinking of a diskless system reminds
              > me of APE. http://frankbarberis.tech.officelive.com/
              > <http://frankbarberis.tech.officelive.com/> APE could load CP/M and
              > MBASIC4 to run the BASIC memory test. A better solution might be to
              > make an APE disk image with a CP/M memory test. I suggest using a 1702
              > to make an APE boot prom in addition to a memory test prom. Can anyone
              > point to an appropriate CP/M memory test utility? This approach assumes
              > you have a working 32K to run CP/M.
              >
              > The 8K Static RAM machine language program is interesting because it is
              > abstracted from the Vector 1 Monitor. Has anyone ported a Vector Monitor
              > to an Altair? I have the source code for the Vector 4.0c serial monitor
              > (2K) and a version stripped down to 1K that I believe still contains the
              > memory test. This code would be easy to modify for Motorola 6850 IO.
              > I'm not sure if the code has Z80 instructions. Here is the link to
              > the 1K monitor version in case anyone is interested:
              > http://vector-graphic.info/Documents/40X.ASM
              > <http://vector-graphic.info/Documents/40X.ASM> .
              >
              > My wish list for a diskless Altair is not just a memory test prom, but a
              > 1K monitor that includes a memory test and a modified APE Serial Boot
              > Loader. The modified serial boot loader would load CP/M or ROM BASIC.
              > It could also load a program like the MITS memory test MTST.
              >
              > Here is link to a my page for the Vector 8K Static in case someone wants
              > to see an image and description
              > http://vector-graphic.info/vg_8k_static_ram.aspx
              > <http://vector-graphic.info/vg_8k_static_ram.aspx> . I added a link to
              > the manual. The manual at tech-systems-labs.com is from the Howard Harte
              > Vector Graphic page
              > http://www.hartetechnologies.com/manuals/Vector%20Graphics/
              > <http://www.hartetechnologies.com/manuals/Vector%20Graphics/>
              >
              >
              > Tom Sanderson
              > www.virtualaltair.com <http://www.virtualaltair.com>
              > www.vector-graphic.info <http://www.vector-graphic.info>
              >
              >
              > --- In altaircomputerclub@yahoogroups.com, "Steve" <alltare@> wrote:
              > >
              > > Thanks for the link, Mardy. Unfortunately, that file is password
              > > protected against printing, extracting, etc. I found a printable
              > > unlocked version (and slightly better resolution, too) here:
              > > http://www.tech-systems-labs.com/S-100/Vector-8K-SRAM.pdf
              > >
              > > I'll give the machine language test a try.
              > >
              > > Steve
              > > ================================
              > >
              > > --- In altaircomputerclub@yahoogroups.com, "mardy_marshall" mardy@
              > > wrote:
              > > >
              > > > --- In altaircomputerclub@yahoogroups.com, "Steve" alltare@ wrote:
              > > > >
              > > > > I need to run memory tests on a huge pile of MITS 16K and 4K
              > memory
              > > boards, but all of my disk drives are currently inoperative so I can't
              > > run any disk-based tests. Does anyone here know of a simple
              > rudimentary
              > > test (less than 500 bytes or so) that I could toggle into my 8800b's
              > > front panel? Hopefully, I could blast the code to EPROMs (1702s) and
              > > make the program run at bootup.
              > > > >
              > > > > Thanks for any feedback or comments.
              > > > >
              > > > > Steve
              > > > > ===========================
              > > > >
              > > >
              > > > I've had good luck using the memory test published in the Vector
              > > Graphics 8K SRAM manual
              > >
              > (http://maben.homeip.net/static/S100/vector/cards/Vector%208K%20SRAM%20U\
              > \
              > > sers%20Manual.pdf).
              > > >
              > > > -Mardy
              > > >
              > >
              >
            • Tom Sanderson
              The memory test in the Vector Graphic monitor prom is very handy, T 0000 DFFF ......... A . meaning a successful test from 0000 to just before the prom at
              Message 6 of 8 , May 25, 2009
              • 0 Attachment
                The memory test in the Vector Graphic monitor prom is very handy, T 0000
                DFFF ......... A "." meaning a successful test from 0000 to just before
                the prom at E000.

                Vector had two memory tests that ran under CP/M. I can't remember why
                they supplied two different tests.

                I always assumed everyone at MITS used MTST. The diskette is labled
                DIAG: MEMORY DIAGNONTIC PROG, REV #1.1 MITS PN: 103339, COPYRIGHT 1978
                BY MITS INC. The "DIAGNONTIC" spelling is on the PCC label, not my typo.

                The diskette boots MITS DOS and you enter 16383 for MEMORY SIZE? That
                leaves 006505 BYTES AVAILABLE for MTST to test any memory above the
                first 16K. The test is not real fast and uses several types of tests
                GALPAT/GALCOL/ and two more I can't remember, maybe ROWPAT and another.
                There are two files on the disk, #MTST and &MTST. I think &MTST is the
                source code.

                I was wondering how to get source code off of a MITS DOS disk. Can MITS
                BASIC or hard-sectored CP/M read a MITS DOS file? The question will have
                to wait because my system died before I could test the first 4K. No
                lights at all on the front panel. A very helpless feeling for a Turnkey
                user.

                Tom


                --- In altaircomputerclub@yahoogroups.com, "Steve" <alltare@...> wrote:
                >
                > Tom,
                >
                > The main boards I want to test are all MITS 16K statics. They were
                all tested good with a disk-based test program before they were stored
                away about 15 years ago, so they should all still be OK now for the most
                part. In case of oxidized connectors and socket pins and other
                mechanical problems, I think a simple quickie test would be enough to
                ensure functionality. That's why Mardy's suggestion of the Vector
                Graphic machine language program looks good, but I'm having trouble
                moving it onto a 1702 EPROM starting at 176000 (FCOO). It's been too
                long since I did any 8080 coding and I'm forgetting something.
                >
                > I also have a stack of MITS 16K dynamics. Most of them should be OK
                too, but again, oxidized sockets are always a possibility. You're right
                about 'special' test procedures for the dynamics. Although regular
                memory tests will check static as well as dynamic memories, sometimes
                with MITS dynamics, you would see an error if you read an address too
                quickly after addressing it. At other times, it was not uncommon for
                long-term data retention (more than a few milliseconds) to fail because
                of refresh timing problems. So testing for quick write-read and for
                write-delay-read errors was best. I'm pretty sure the MITS test checked
                both ways, but it took a long time to run. When at MITS, I always had
                good luck with a test called 'ETC', named for the East Texas Computer
                Club who wrote it. It was pretty fast and still uncovered most
                problems. Unfortunately, a working 8" drive is necessary to load it.
                However, the Vector Graphic test will probably show up most of the major
                problems here too.
                >
                > steve
                > ===========================
                >
                > --- In altaircomputerclub@yahoogroups.com, "Tom Sanderson" yahoo@
                wrote:
                > >
                > >
                > > Are you boards all static? It is my understanding that different
                tests
                > > are required for dynamic memory. A simple test is better than
                nothing,
                > > but perhaps someone can comment on testing dynamic memory vs.
                static. I
                > > assume MITS MTST tests both static & dynamic. Steve. we can use MTST
                to
                > > test your boards if you want to bring some to my workshop and test
                them
                > > in a disk system.
                > >
                > > The 8K Vector Graphic SRAM board is an appropriate choice for test
                > > program. This is the board that started Vector Graphic. The board
                was
                > > designed to work in an Altair and helped fill the market niche
                created
                > > by MITS dynamic memory problems. The board and memory test were
                created
                > > at a time when Vector Graphic used an 8080, so there shouldn't be
                > > any Z80 code in the test program. I notice the manual has two memory
                > > tests, one in MITS BASIC and one in machine language.
                > >
                > > The MITS BASIC memory test won't be too useful on a diskless system
                > > unless you have a ROM BASIC board. Thinking of a diskless system
                reminds
                > > me of APE. http://frankbarberis.tech.officelive.com/
                > > <http://frankbarberis.tech.officelive.com/> APE could load CP/M and
                > > MBASIC4 to run the BASIC memory test. A better solution might be to
                > > make an APE disk image with a CP/M memory test. I suggest using a
                1702
                > > to make an APE boot prom in addition to a memory test prom. Can
                anyone
                > > point to an appropriate CP/M memory test utility? This approach
                assumes
                > > you have a working 32K to run CP/M.
                > >
                > > The 8K Static RAM machine language program is interesting because it
                is
                > > abstracted from the Vector 1 Monitor. Has anyone ported a Vector
                Monitor
                > > to an Altair? I have the source code for the Vector 4.0c serial
                monitor
                > > (2K) and a version stripped down to 1K that I believe still contains
                the
                > > memory test. This code would be easy to modify for Motorola 6850 IO.
                > > I'm not sure if the code has Z80 instructions. Here is the link to
                > > the 1K monitor version in case anyone is interested:
                > > http://vector-graphic.info/Documents/40X.ASM
                > > <http://vector-graphic.info/Documents/40X.ASM> .
                > >
                > > My wish list for a diskless Altair is not just a memory test prom,
                but a
                > > 1K monitor that includes a memory test and a modified APE Serial
                Boot
                > > Loader. The modified serial boot loader would load CP/M or ROM
                BASIC.
                > > It could also load a program like the MITS memory test MTST.
                > >
                > > Here is link to a my page for the Vector 8K Static in case someone
                wants
                > > to see an image and description
                > > http://vector-graphic.info/vg_8k_static_ram.aspx
                > > <http://vector-graphic.info/vg_8k_static_ram.aspx> . I added a link
                to
                > > the manual. The manual at tech-systems-labs.com is from the Howard
                Harte
                > > Vector Graphic page
                > > http://www.hartetechnologies.com/manuals/Vector%20Graphics/
                > > <http://www.hartetechnologies.com/manuals/Vector%20Graphics/>
                > >
                > >
                > > Tom Sanderson
                > > www.virtualaltair.com <http://www.virtualaltair.com>
                > > www.vector-graphic.info <http://www.vector-graphic.info>
                > >
                > >
                > > --- In altaircomputerclub@yahoogroups.com, "Steve" <alltare@> wrote:
                > > >
                > > > Thanks for the link, Mardy. Unfortunately, that file is password
                > > > protected against printing, extracting, etc. I found a printable
                > > > unlocked version (and slightly better resolution, too) here:
                > > > http://www.tech-systems-labs.com/S-100/Vector-8K-SRAM.pdf
                > > >
                > > > I'll give the machine language test a try.
                > > >
                > > > Steve
                > > > ================================
                > > >
                > > > --- In altaircomputerclub@yahoogroups.com, "mardy_marshall" mardy@
                > > > wrote:
                > > > >
                > > > > --- In altaircomputerclub@yahoogroups.com, "Steve" alltare@
                wrote:
                > > > > >
                > > > > > I need to run memory tests on a huge pile of MITS 16K and 4K
                > > memory
                > > > boards, but all of my disk drives are currently inoperative so I
                can't
                > > > run any disk-based tests. Does anyone here know of a simple
                > > rudimentary
                > > > test (less than 500 bytes or so) that I could toggle into my
                8800b's
                > > > front panel? Hopefully, I could blast the code to EPROMs (1702s)
                and
                > > > make the program run at bootup.
                > > > > >
                > > > > > Thanks for any feedback or comments.
                > > > > >
                > > > > > Steve
                > > > > > ===========================
                > > > > >
                > > > >
                > > > > I've had good luck using the memory test published in the Vector
                > > > Graphics 8K SRAM manual
                > > >
                > >
                (http://maben.homeip.net/static/S100/vector/cards/Vector%208K%20SRAM%20U\
                \
                > > \
                > > > sers%20Manual.pdf).
                > > > >
                > > > > -Mardy
                > > > >
                > > >
                > >
                >
              • john_crane_59
                ... Steve, There are probably as many memory test routines as versions of Star Trek. I use a quick and dirty technique I read about in an article by Uncle Bill
                Message 7 of 8 , May 28, 2009
                • 0 Attachment
                  --- In altaircomputerclub@yahoogroups.com, "Steve" <alltare@...> wrote:
                  >
                  > I need to run memory tests on a huge pile of MITS 16K and 4K memory boards, but all of my disk drives are currently inoperative so I can't run any disk-based tests. Does anyone here know of a simple rudimentary test (less than 500 bytes or so) that I could toggle into my 8800b's front panel? Hopefully, I could blast the code to EPROMs (1702s) and make the program run at bootup.
                  >
                  > Thanks for any feedback or comments.
                  >
                  > Steve
                  > ===========================
                  >

                  Steve,

                  There are probably as many memory test routines as versions of Star Trek.

                  I use a quick and dirty technique I read about in an article by Uncle Bill back when he was knocking out 8080 code. It simply tests the complement and alternating bit patterns. Supposedly, the theory is that nearly all errors fit into these categories. (and BTW, I never use dynamic memory cards - it's all too easy to pickup a static one on ebay and simply never have to live out that unpleasant bit of Altair history. It's like one of those Civil War re-enactment clubs deciding to use real bullets!)

                  You will have to attach your own I/O to handle the front panel; replacing the following, which were written for keyboard & screen:

                  rdhlde - reads HL and DE register pairs from keyboard. HL is the starting address to test, and DE is the ending address.

                  ilprt - the famous "inline print" routine that outputs all subsequent bytes as a string until reaching a null.

                  outhl - outputs contents of register HL as hex digits.



                  ;------------------
                  ;Test block of memory

                  mem:
                  F288 CD40F1 CALL rdhlde ;Get Range (test mem from HL to DE)

                  F28B CDECF5 CALL ilprt
                  F28E 0A0D4D656D db lf,cr,'Memory Test - Bad Bytes:',lf,cr,00h


                  F2AB 2B DCX H ; adjust pointer for looping
                  F2AC 23 mloop: INX H ;Point to next byte
                  F2AD 7E MOV A,M ;Get byte
                  F2AE 2F CMA ;Complement
                  F2AF 77 MOV M,A ;Put back complement
                  F2B0 BE CMP M ;Same?
                  F2B1 C2F4F2 JNZ badm ;No - bad memory
                  F2B4 2F CMA ;Orig byte
                  F2B5 77 MOV M,A ;Restore it

                  F2B6 4E MOV C,M ; Save mem byte for bit test
                  ;
                  F2B7 3655 MVI M, 55H ; Bit test pattern 55H
                  F2B9 46 MOV B,M ;
                  F2BA 3E55 MVI A, 55H ;
                  F2BC B8 CMP B ;
                  F2BD C2F4F2 JNZ badm ;
                  ;
                  F2C0 36AA MVI M, 0AAH ; Bit test pattern 0AAH
                  F2C2 46 MOV B,M ;
                  F2C3 3EAA MVI A, 0AAH ;
                  F2C5 B8 CMP B ;
                  F2C6 C2F4F2 JNZ badm ;
                  ;
                  F2C9 71 MOV M,C ; Restore mem byte


                  F2CA 7C mcont: MOV A,H ; Compare HL to DE, at end?
                  F2CB BA CMP D ;
                  F2CC C2ACF2 JNZ mloop ;
                  F2CF 7D MOV A,L ;
                  F2D0 BB CMP E ;
                  F2D1 C2ACF2 JNZ mloop ;

                  F2D4 CDECF5 CALL ilprt
                  F2D7 0A0D4D656D db lf,cr,'Memory Test Completed',lf,cr,00h

                  F2F1 C33BF0 JMP wrmst ; at end


                  F2F4 CD99F1 badm: CALL outhl ; Display address of bad memory

                  F2F7 C3CAF2 JMP mcont ; continue
                • Steve
                  Thanks for the listing, John. I ll give it a try this weekend. I m having problems getting Mardy s VG test program to work, so your message comes at an
                  Message 8 of 8 , May 29, 2009
                  • 0 Attachment
                    Thanks for the listing, John. I'll give it a try this weekend. I'm having problems getting Mardy's VG test program to work, so your message comes at an opportune time.

                    Steve
                    ==============================

                    --- In altaircomputerclub@yahoogroups.com, "john_crane_59" <john_crane_59@...> wrote:
                    >
                    > --- In altaircomputerclub@yahoogroups.com, "Steve" <alltare@> wrote:
                    > >
                    > > I need to run memory tests on a huge pile of MITS 16K and 4K memory boards, but all of my disk drives are currently inoperative so I can't run any disk-based tests. Does anyone here know of a simple rudimentary test (less than 500 bytes or so) that I could toggle into my 8800b's front panel? Hopefully, I could blast the code to EPROMs (1702s) and make the program run at bootup.
                    > >
                    > > Thanks for any feedback or comments.
                    > >
                    > > Steve
                    > > ===========================
                    > >
                    >
                    > Steve,
                    >
                    > There are probably as many memory test routines as versions of Star Trek.
                    >
                    > I use a quick and dirty technique I read about in an article by Uncle Bill back when he was knocking out 8080 code. It simply tests the complement and alternating bit patterns. Supposedly, the theory is that nearly all errors fit into these categories. (and BTW, I never use dynamic memory cards - it's all too easy to pickup a static one on ebay and simply never have to live out that unpleasant bit of Altair history. It's like one of those Civil War re-enactment clubs deciding to use real bullets!)
                    >
                    > You will have to attach your own I/O to handle the front panel; replacing the following, which were written for keyboard & screen:
                    >
                    > rdhlde - reads HL and DE register pairs from keyboard. HL is the starting address to test, and DE is the ending address.
                    >
                    > ilprt - the famous "inline print" routine that outputs all subsequent bytes as a string until reaching a null.
                    >
                    > outhl - outputs contents of register HL as hex digits.
                    >
                    >
                    >
                    > ;------------------
                    > ;Test block of memory
                    >
                    > mem:
                    > F288 CD40F1 CALL rdhlde ;Get Range (test mem from HL to DE)
                    >
                    > F28B CDECF5 CALL ilprt
                    > F28E 0A0D4D656D db lf,cr,'Memory Test - Bad Bytes:',lf,cr,00h
                    >
                    >
                    > F2AB 2B DCX H ; adjust pointer for looping
                    > F2AC 23 mloop: INX H ;Point to next byte
                    > F2AD 7E MOV A,M ;Get byte
                    > F2AE 2F CMA ;Complement
                    > F2AF 77 MOV M,A ;Put back complement
                    > F2B0 BE CMP M ;Same?
                    > F2B1 C2F4F2 JNZ badm ;No - bad memory
                    > F2B4 2F CMA ;Orig byte
                    > F2B5 77 MOV M,A ;Restore it
                    >
                    > F2B6 4E MOV C,M ; Save mem byte for bit test
                    > ;
                    > F2B7 3655 MVI M, 55H ; Bit test pattern 55H
                    > F2B9 46 MOV B,M ;
                    > F2BA 3E55 MVI A, 55H ;
                    > F2BC B8 CMP B ;
                    > F2BD C2F4F2 JNZ badm ;
                    > ;
                    > F2C0 36AA MVI M, 0AAH ; Bit test pattern 0AAH
                    > F2C2 46 MOV B,M ;
                    > F2C3 3EAA MVI A, 0AAH ;
                    > F2C5 B8 CMP B ;
                    > F2C6 C2F4F2 JNZ badm ;
                    > ;
                    > F2C9 71 MOV M,C ; Restore mem byte
                    >
                    >
                    > F2CA 7C mcont: MOV A,H ; Compare HL to DE, at end?
                    > F2CB BA CMP D ;
                    > F2CC C2ACF2 JNZ mloop ;
                    > F2CF 7D MOV A,L ;
                    > F2D0 BB CMP E ;
                    > F2D1 C2ACF2 JNZ mloop ;
                    >
                    > F2D4 CDECF5 CALL ilprt
                    > F2D7 0A0D4D656D db lf,cr,'Memory Test Completed',lf,cr,00h
                    >
                    > F2F1 C33BF0 JMP wrmst ; at end
                    >
                    >
                    > F2F4 CD99F1 badm: CALL outhl ; Display address of bad memory
                    >
                    > F2F7 C3CAF2 JMP mcont ; continue
                    >
                  Your message has been successfully submitted and would be delivered to recipients shortly.