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

solivant.com instructions for loading 4K BASIC using 2SIO

Expand Messages
  • billdeg
    I just wanted to add some info for anyone who attempts to use the instructions for loading BASIC onto their Altair 8800(x) computer. I have practiced the
    Message 1 of 5 , Nov 29, 2011
    • 0 Attachment
      I just wanted to add some info for anyone who attempts to use the instructions for loading BASIC onto their Altair 8800(x) computer. I have practiced the process and have it down to a science. From this experience I have a few adjustments to the solivant.com directions. Most of it is clear, just few things.

      1. You need a RAM card assigned to cover the F000 page. Personally I have three 8K RAM cards in my system, one for 0000-1FFF, the 2nd for 2000-3FFF, and the third for F000 -

      2. After you have toggled in the bootstrap and tested: Examine 000 000 000 000 (all switches down). Raise A11 and A10. Press RUN. The computer is now waiting for a "tape" to be sent to it. DO NOT Reset (as solivant.com says). Light #12 should be dimmer than the others.

      3. Dan Roganti suggested (and it works) that you slow down the characters per second transmitted through TeraTerm (assuming you're using that to send the 2nd stage bootloader and BASIC). I used 32 msec/char delay.

      4. At about byte 1300 or so of the download note that the lights on the front of the Altair will change. If at this point the terminal sends a long string of MMMMM characters to the screen, this means that the RAM at F000 is not writable, not working, or not present. Stop the process and resolve. On the bright side, if you see the MMMM characters on your terminal you at least know the 2SIO card is working.

      5. solivant.com does not describe clearly what happens after the last byte of 4K BASIC has been sent. The system will freeze for a minute. Wait for 10-15 seconds for the lights on the front panel to change and then press the RUN button (do not RESET). If everything worked with the download, you'll then see a partially garbled MEMORY SIZE? message. Change the terminal to 7/N/1 just like solivant.com says and you're good to go.

      Bill
    • B Degnan
      One other thing...I don t want to muddy the waters if I made a mistake! Please advise especially #4 below is wrong and I will delete my original message from
      Message 2 of 5 , Nov 29, 2011
      • 0 Attachment
        One other thing...I don't want to muddy the waters if I made a mistake!  Please advise especially #4 below is wrong and I will delete my original message from the archive and correct. 
        Bill



        -----Original Message-----
        From: billdeg <billdeg@...>
        To: altaircomputerclub <altaircomputerclub@yahoogroups.com>
        Sent: Tue, Nov 29, 2011 1:50 pm
        Subject: [Altair Computer Club] solivant.com instructions for loading 4K BASIC using 2SIO

        I just wanted to add some info for anyone who attempts to use the instructions 
        for loading BASIC onto their Altair 8800(x) computer.  I have practiced the 
        process and have it down to a science.  From this experience I have a few 
        adjustments to the solivant.com directions.  Most of it is clear, just few 
        things.
        
        1.  You need a RAM card assigned to cover the F000 page.  Personally I have 
        three 8K RAM cards in my system, one for 0000-1FFF, the 2nd for 2000-3FFF, and 
        the third for F000 - 
        
        2. After you have toggled in the bootstrap and tested: Examine 000 000 000 000 
        (all switches down). Raise A11 and A10. Press RUN. The computer is now waiting 
        for a "tape" to be sent to it.  DO NOT Reset (as solivant.com says).  Light #12 
        should be dimmer than the others.
        
        3.  Dan Roganti suggested (and it works) that you slow down the characters per 
        second transmitted through TeraTerm (assuming you're using that to send the 2nd 
        stage bootloader and BASIC).  I used 32 msec/char delay.
        
        4.  At about byte 1300 or so of the download note that the lights on the front 
        of the Altair will change. If at this point the terminal sends a long string of 
        MMMMM characters to the screen, this means that the RAM at F000 is not writable, 
        not working, or not present. Stop the process and resolve. On the bright side, 
        if you see the MMMM characters on your terminal you at least know the 2SIO card 
        is working. 
        
        5.  solivant.com does not describe clearly what happens after the last byte of 
        4K BASIC has been sent.  The system will freeze for a minute. Wait for 10-15 
        seconds for the lights on the front panel to change and then press the RUN 
        button (do not RESET). If everything worked with the download, you'll then see a 
        partially garbled MEMORY SIZE? message.  Change the terminal to 7/N/1 just like 
        solivant.com says and you're good to go.
        
        Bill
        
        
        
        ------------------------------------
        
        Yahoo! Groups Links
        
        <*> To visit your group on the web, go to:
            http://groups.yahoo.com/group/altaircomputerclub/
        
        <*> Your email settings:
            Individual Email | Traditional
        
        <*> To change settings online go to:
            http://groups.yahoo.com/group/altaircomputerclub/join
            (Yahoo! ID required)
        
        <*> To change settings via email:
            altaircomputerclub-digest@yahoogroups.com 
            altaircomputerclub-fullfeatured@yahoogroups.com
        
        <*> To unsubscribe from this group, send an email to:
            altaircomputerclub-unsubscribe@yahoogroups.com
        
        <*> Your use of Yahoo! Groups is subject to:
            http://docs.yahoo.com/info/terms/
        
        
      • mfeberhard
        Hi Bill, I found your message to be a little confusing - are you using the standard version of MITS 4K basic? What version number? Also, which Altair do you
        Message 3 of 5 , Nov 30, 2011
        • 0 Attachment
          Hi Bill,

          I found your message to be a little confusing - are you using the standard version of MITS 4K basic? What version number? Also, which Altair do you have is it an 8800a or an 8800b?

          I load 4K Basic (and 8K Basic and also Extended Basic) into an Altair 8800a from my 2SIO, using a Teletype, and using my PC via RealTerm. I do not have any memory at F000, and none is required according to the manual. Basic loads perfectly every time - I never get MMMM (or other) errors. When the load is complete, I don't need to do anything with the front panel - Basic starts almost immediately by asking MEMORY SIZE?.

          Here are some specific observations:

          1) No character delay is needed when loading at baud rates up to 9600 baud. The Altair can keep up just fine. Because you seem to need a character delay, and also because you say it takes a moment for Basic to print the MEMORY SIZE message, I suspect that your Altair is not running at the correct speed. You might put a scope on the clock and have a look. (If you have an 8800b, you might also have a problem with the "slow" circuit in the front panel.)

          2) The MITS paper tapes are (usually) punched with even parity, but BASIC does not check the parity, nor does it setup the 2SIO to generate parity. The simplest solution is to set your terminal program up to ignore parity, and leave it that way. Then you don't have to go through the step at the end, where you change your terminal's parity setup. 7M1 should work with Teraterm, I think.

          3) There should be no problem with toggling the Reset switch before loading. The MITS instructions say to reset before starting the load, and I do this every time. It works perfectly. Again, I suspect your Altair has an issue, and this looks like a problem with the Reset circuitry in your front panel.

          4) You are right about the front panel lights changing after the first section of tape is loaded. This first section of the tape is the "Checksum Loader."

          Here's what is going on: The loader program that you toggle into the front panel is a very simple program that loads without any checksums, memory checks, etc. This little program just loads the more robust Checksum Loader at the beginning of the tape, which in turn loads Basic. (The front panel lights change pattern when the Checksum Loader runs.)

          Basic is stored on the tape in records, each with an assigned address, a checksum, and a length (usually 255 bytes). The Checksum loader reads these records from tape, writes them to memory, reads each byte back from memory to verify the write (the MMM... error test), and checks the checksum (the CCC... error test). The third possible error is "OOO...", which indicates that a record tried to overwrite the checksum loader.

          5) One other possible reason that you require memory at F000 is that your copy of Basic may be corrupted in some weird way, and contains a record that loads at F000. Have you looked in memory to see what is being loaded in the F000 page?

          Martin

          --- In altaircomputerclub@yahoogroups.com, "billdeg" <billdeg@...> wrote:
          >
          > I just wanted to add some info for anyone who attempts to use the instructions for loading BASIC onto their Altair 8800(x) computer. I have practiced the process and have it down to a science. From this experience I have a few adjustments to the solivant.com directions. Most of it is clear, just few things.
          >
          > 1. You need a RAM card assigned to cover the F000 page. Personally I have three 8K RAM cards in my system, one for 0000-1FFF, the 2nd for 2000-3FFF, and the third for F000 -
          >
          > 2. After you have toggled in the bootstrap and tested: Examine 000 000 000 000 (all switches down). Raise A11 and A10. Press RUN. The computer is now waiting for a "tape" to be sent to it. DO NOT Reset (as solivant.com says). Light #12 should be dimmer than the others.
          >
          > 3. Dan Roganti suggested (and it works) that you slow down the characters per second transmitted through TeraTerm (assuming you're using that to send the 2nd stage bootloader and BASIC). I used 32 msec/char delay.
          >
          > 4. At about byte 1300 or so of the download note that the lights on the front of the Altair will change. If at this point the terminal sends a long string of MMMMM characters to the screen, this means that the RAM at F000 is not writable, not working, or not present. Stop the process and resolve. On the bright side, if you see the MMMM characters on your terminal you at least know the 2SIO card is working.
          >
          > 5. solivant.com does not describe clearly what happens after the last byte of 4K BASIC has been sent. The system will freeze for a minute. Wait for 10-15 seconds for the lights on the front panel to change and then press the RUN button (do not RESET). If everything worked with the download, you'll then see a partially garbled MEMORY SIZE? message. Change the terminal to 7/N/1 just like solivant.com says and you're good to go.
          >
          > Bill
          >
        • B Degnan
          I am using the BASIC found on solivant.com and specific to the directions there on that sight, I am adding my comments for someone who does not have a lot of
          Message 4 of 5 , Nov 30, 2011
          • 0 Attachment
            I am using the BASIC found on solivant.com and specific to the directions there on that sight, I am adding my comments for someone who does not have a lot of experience.    As-is the directions did not work for me without extra stuff.  I doubt I have a problem with my RESET switch.

            About RAM in F000: For quite a while I was perplexed about what was wrong when attempting the solivant.com directions, until I concluded I needed to put RAM in F000.  Doing so caused the "MMMM..." that had been being triggered at the 1300byte-mark to be eliminated.  Perhaps yes there is a difference with what one downloads from solivant.com and other versions of 4K BASIC.  The download 4kbas32m.tap includes the 2nd level bootstrap that may have been customized.

            I am using a 8800B.  It seems to help in my situation to add the delay, but I believe it will work without the delay, yes.   This was a tip passed along to me from fellow group member Dan Ragonti so I included it with my comments. 

            I agree that there are other ways to skin this cat especially if I just use my teletype and copy of BASIC on papertape, but not everyone has this.

            Thanks for checking.  Did you actually try the directions without using a real papertape?  I know you'd have to re-wire your 2SIO may not be worth it, but I'd be curious if anyone is able to complete the load without RAM in F000.

            Bill





            -----Original Message-----
            From: mfeberhard <eberhard@...>
            To: altaircomputerclub <altaircomputerclub@yahoogroups.com>
            Sent: Wed, Nov 30, 2011 11:18 am
            Subject: [Altair Computer Club] Re: solivant.com instructions for loading 4K BASIC using 2SIO

            Hi Bill,
            
            I found your message to be a little confusing - are you using the standard 
            version of MITS 4K basic? What version number? Also, which Altair do you have  
            is it an 8800a or an 8800b?
            
            I load 4K Basic (and 8K Basic and also Extended Basic) into an Altair 8800a from 
            my 2SIO, using a Teletype, and using my PC via RealTerm. I do not have any 
            memory at F000, and none is required according to the manual. Basic loads 
            perfectly every time - I never get MMMM (or other) errors. When the load is 
            complete, I don't need to do anything with the front panel - Basic starts almost 
            immediately by asking MEMORY SIZE?.
            
            Here are some specific observations:
            
            1) No character delay is needed when loading at baud rates up to 9600 baud. The 
            Altair can keep up just fine. Because you seem to need a character delay, and 
            also because you say it takes a moment for Basic to print the MEMORY SIZE 
            message, I suspect that your Altair is not running at the correct speed. You 
            might put a scope on the clock and have a look. (If you have an 8800b, you might 
            also have a problem with the "slow" circuit in the front panel.) 
            
            2) The MITS paper tapes are (usually) punched with even parity, but BASIC does 
            not check the parity, nor does it setup the 2SIO to generate parity. The 
            simplest solution is to set your terminal program up to ignore parity, and leave 
            it that way. Then you don't have to go through the step at the end, where you 
            change your terminal's parity setup. 7M1 should work with Teraterm, I think.
            
            3) There should be no problem with toggling the Reset switch before loading. The 
            MITS instructions say to reset before starting the load, and I do this every 
            time. It works perfectly. Again, I suspect your Altair has an issue, and this 
            looks like a problem with the Reset circuitry in your front panel.
            
            4) You are right about the front panel lights changing after the first section 
            of tape is loaded. This first section of the tape is the "Checksum Loader." 
            
            Here's what is going on: The loader program that you toggle into the front panel 
            is a very simple program that loads without any checksums, memory checks, etc. 
            This little program just loads the more robust Checksum Loader at the beginning 
            of the tape, which in turn loads Basic. (The front panel lights change pattern 
            when the Checksum Loader runs.)
            
            Basic is stored on the tape in records, each with an assigned address, a 
            checksum, and a length (usually 255 bytes). The Checksum loader reads these 
            records from tape, writes them to memory, reads each byte back from memory to 
            verify the write (the MMM... error test), and checks the checksum (the CCC... 
            error test). The third possible error is "OOO...", which indicates that a record 
            tried to overwrite the checksum loader.
            
            5) One other possible reason that you require memory at F000 is that your copy 
            of Basic may be corrupted in some weird way, and contains a record that loads at 
            F000. Have you looked in memory to see what is being loaded in the F000 page?
            
            Martin
            
            
            --- In altaircomputerclub@yahoogroups.com, "billdeg" <billdeg@...> wrote: > > I just wanted to add some info for anyone who attempts to use the instructions for loading BASIC onto their Altair 8800(x) computer. I have practiced the process and have it down to a science. From this experience I have a few adjustments to the solivant.com directions. Most of it is clear, just few things. > > 1. You need a RAM card assigned to cover the F000 page. Personally I have three 8K RAM cards in my system, one for 0000-1FFF, the 2nd for 2000-3FFF, and the third for F000 - > > 2. After you have toggled in the bootstrap and tested: Examine 000 000 000 000 (all switches down). Raise A11 and A10. Press RUN. The computer is now waiting for a "tape" to be sent to it. DO NOT Reset (as solivant.com says). Light #12 should be dimmer than the others. > > 3. Dan Roganti suggested (and it works) that you slow down the characters per second transmitted through TeraTerm (assuming you're using that to send the 2nd stage bootloader and BASIC). I used 32 msec/char delay. > > 4. At about byte 1300 or so of the download note that the lights on the front of the Altair will change. If at this point the terminal sends a long string of MMMMM characters to the screen, this means that the RAM at F000 is not writable, not working, or not present. Stop the process and resolve. On the bright side, if you see the MMMM characters on your terminal you at least know the 2SIO card is working. > > 5. solivant.com does not describe clearly what happens after the last byte of 4K BASIC has been sent. The system will freeze for a minute. Wait for 10-15 seconds for the lights on the front panel to change and then press the RUN button (do not RESET). If everything worked with the download, you'll then see a partially garbled MEMORY SIZE? message. Change the terminal to 7/N/1 just like solivant.com says and you're good to go. > > Bill > ------------------------------------ Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/altaircomputerclub/ <*> Your email settings: Individual Email | Traditional <*> To change settings online go to: http://groups.yahoo.com/group/altaircomputerclub/join (Yahoo! ID required) <*> To change settings via email: altaircomputerclub-digest@yahoogroups.com altaircomputerclub-fullfeatured@yahoogroups.com <*> To unsubscribe from this group, send an email to: altaircomputerclub-unsubscribe@yahoogroups.com <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
          • mfeberhard
            Hi Bill, Yes, I do load Basic from my PC at 9600 baud - it works great. I also load from a high-speed paper tape reader that loads at 9600 baud - no problem.
            Message 5 of 5 , Nov 30, 2011
            • 0 Attachment
              Hi Bill,

              Yes, I do load Basic from my PC at 9600 baud - it works great. I also load from a high-speed paper tape reader that loads at 9600 baud - no problem. And no memory at F000.

              When I load Basic, I follow the instructions in the Altair manual EXACTLY, and it works perfectly. This includes toggling the Reset switch, etc. And it loads 100% of the time.

              A while back, I posted some files on this site regarding loading Basic from paper tape. Take a look at "Files>Working With Paper Tapes". I disassembled the original Altair Checksum Loaders and documented them. You might find it interesting.

              I also just uploaded several versions of Altair Basic into "Files>Altair 8800 Paper Tape Images" Note that Basic 3.X uses a different loader than does 4.X. These loaders are both listed in my "Working with Paper Tapes" directory. (Basic 1.X had another loader, and did not support the 2SIO. I don't have a copy of that old version.)

              (If you get really curious, check out the file MELOD4.asm. This is the 4.X Checksum Loader, modified to support loading from the 2SIO's second port.)

              I believe that the version of Basic 3.2 that I uploaded is the same as the one you loaded from the Solivent site. And mine does not require memory at F000...

              I am quite curious about why your system requires memory at F000. This really should not be the case. One hair-brained guess is that you have several address lines shorted on your bus. Thus, writing to low memory is actually writing into high memory instead - and the read-back is reading from the high memory. But this would mean that Basic might not run properly either, and as far as I can tell, you are getting Basic to run. Weird.

              Does your Basic run correctly? Can you write a Basic program and run it?

              A couple of questions:

              Do you actually see memory (via the front panel) at all the correct addresses for where you jumpered the boards?

              Here is an interesting experiment you might try: Use the front panel to load a super-simple program into memory at 000000: (in octal)

              000000 303 (JMP 000)
              000001 000
              000002 000

              Now, hit the reset switch. The front panel address should read 000000, regardless of the switch settings. If not, something is wrong. Then try single-stepping through the program. Does it work correctly? Try running it - you should see just A) and A1 leds lit, the rest off...

              Martin



              --- In altaircomputerclub@yahoogroups.com, B Degnan <billdeg@...> wrote:
              >
              > I am using the BASIC found on solivant.com and specific to the directions there on that sight, I am adding my comments for someone who does not have a lot of experience. As-is the directions did not work for me without extra stuff. I doubt I have a problem with my RESET switch.
              >
              > About RAM in F000: For quite a while I was perplexed about what was wrong when attempting the solivant.com directions, until I concluded I needed to put RAM in F000. Doing so caused the "MMMM..." that had been being triggered at the 1300byte-mark to be eliminated. Perhaps yes there is a difference with what one downloads from solivant.com and other versions of 4K BASIC. The download 4kbas32m.tap includes the 2nd level bootstrap that may have been customized.
              >
              > I am using a 8800B. It seems to help in my situation to add the delay, but I believe it will work without the delay, yes. This was a tip passed along to me from fellow group member Dan Ragonti so I included it with my comments.
              >
              > I agree that there are other ways to skin this cat especially if I just use my teletype and copy of BASIC on papertape, but not everyone has this.
              >
              > Thanks for checking. Did you actually try the directions without using a real papertape? I know you'd have to re-wire your 2SIO may not be worth it, but I'd be curious if anyone is able to complete the load without RAM in F000.
              >
              > Bill
              >
              >
              >
              >
              >
              >
              >
              >
              >
              > -----Original Message-----
              > From: mfeberhard <eberhard@...>
              > To: altaircomputerclub <altaircomputerclub@yahoogroups.com>
              > Sent: Wed, Nov 30, 2011 11:18 am
              > Subject: [Altair Computer Club] Re: solivant.com instructions for loading 4K BASIC using 2SIO
              >
              >
              > Hi Bill,
              >
              > I found your message to be a little confusing - are you using the standard
              > version of MITS 4K basic? What version number? Also, which Altair do you have
              > is it an 8800a or an 8800b?
              >
              > I load 4K Basic (and 8K Basic and also Extended Basic) into an Altair 8800a from
              > my 2SIO, using a Teletype, and using my PC via RealTerm. I do not have any
              > memory at F000, and none is required according to the manual. Basic loads
              > perfectly every time - I never get MMMM (or other) errors. When the load is
              > complete, I don't need to do anything with the front panel - Basic starts almost
              > immediately by asking MEMORY SIZE?.
              >
              > Here are some specific observations:
              >
              > 1) No character delay is needed when loading at baud rates up to 9600 baud. The
              > Altair can keep up just fine. Because you seem to need a character delay, and
              > also because you say it takes a moment for Basic to print the MEMORY SIZE
              > message, I suspect that your Altair is not running at the correct speed. You
              > might put a scope on the clock and have a look. (If you have an 8800b, you might
              > also have a problem with the "slow" circuit in the front panel.)
              >
              > 2) The MITS paper tapes are (usually) punched with even parity, but BASIC does
              > not check the parity, nor does it setup the 2SIO to generate parity. The
              > simplest solution is to set your terminal program up to ignore parity, and leave
              > it that way. Then you don't have to go through the step at the end, where you
              > change your terminal's parity setup. 7M1 should work with Teraterm, I think.
              >
              > 3) There should be no problem with toggling the Reset switch before loading. The
              > MITS instructions say to reset before starting the load, and I do this every
              > time. It works perfectly. Again, I suspect your Altair has an issue, and this
              > looks like a problem with the Reset circuitry in your front panel.
              >
              > 4) You are right about the front panel lights changing after the first section
              > of tape is loaded. This first section of the tape is the "Checksum Loader."
              >
              > Here's what is going on: The loader program that you toggle into the front panel
              > is a very simple program that loads without any checksums, memory checks, etc.
              > This little program just loads the more robust Checksum Loader at the beginning
              > of the tape, which in turn loads Basic. (The front panel lights change pattern
              > when the Checksum Loader runs.)
              >
              > Basic is stored on the tape in records, each with an assigned address, a
              > checksum, and a length (usually 255 bytes). The Checksum loader reads these
              > records from tape, writes them to memory, reads each byte back from memory to
              > verify the write (the MMM... error test), and checks the checksum (the CCC...
              > error test). The third possible error is "OOO...", which indicates that a record
              > tried to overwrite the checksum loader.
              >
              > 5) One other possible reason that you require memory at F000 is that your copy
              > of Basic may be corrupted in some weird way, and contains a record that loads at
              > F000. Have you looked in memory to see what is being loaded in the F000 page?
              >
              > Martin
              >
              > --- In altaircomputerclub@yahoogroups.com, "billdeg" <billdeg@> wrote:
              > >
              > > I just wanted to add some info for anyone who attempts to use the instructions
              > for loading BASIC onto their Altair 8800(x) computer. I have practiced the
              > process and have it down to a science. From this experience I have a few
              > adjustments to the solivant.com directions. Most of it is clear, just few
              > things.
              > >
              > > 1. You need a RAM card assigned to cover the F000 page. Personally I have
              > three 8K RAM cards in my system, one for 0000-1FFF, the 2nd for 2000-3FFF, and
              > the third for F000 -
              > >
              > > 2. After you have toggled in the bootstrap and tested: Examine 000 000 000 000
              > (all switches down). Raise A11 and A10. Press RUN. The computer is now waiting
              > for a "tape" to be sent to it. DO NOT Reset (as solivant.com says). Light #12
              > should be dimmer than the others.
              > >
              > > 3. Dan Roganti suggested (and it works) that you slow down the characters per
              > second transmitted through TeraTerm (assuming you're using that to send the 2nd
              > stage bootloader and BASIC). I used 32 msec/char delay.
              > >
              > > 4. At about byte 1300 or so of the download note that the lights on the front
              > of the Altair will change. If at this point the terminal sends a long string of
              > MMMMM characters to the screen, this means that the RAM at F000 is not writable,
              > not working, or not present. Stop the process and resolve. On the bright side,
              > if you see the MMMM characters on your terminal you at least know the 2SIO card
              > is working.
              > >
              > > 5. solivant.com does not describe clearly what happens after the last byte of
              > 4K BASIC has been sent. The system will freeze for a minute. Wait for 10-15
              > seconds for the lights on the front panel to change and then press the RUN
              > button (do not RESET). If everything worked with the download, you'll then see a
              > partially garbled MEMORY SIZE? message. Change the terminal to 7/N/1 just like
              > solivant.com says and you're good to go.
              > >
              > > Bill
              > >
              >
              >
              >
              >
              > ------------------------------------
              >
              > Yahoo! Groups Links
              >
            Your message has been successfully submitted and would be delivered to recipients shortly.