Altair BASIC 1.0

General discussions related to the Altair 8800 Clone

Altair BASIC 1.0

Postby AltairClone » August 14th, 2016, 10:31 pm

I have found a copy of what is supposed to be Altair BASIC 1.0 announced and released by MITS in March of 1975. Here is a picture of the tape as provided by Bill Gates to the Computer History Museum:

http://www.computerhistory.org/revoluti ... 7/312/1142

This tape was authored before the "Altair Absolute Load Tape Format" was developed, so the tape is pretty much just a binary dump of memory. For this reason, the boot loader entered on the front panel must also be different than the boot loaders we're accustomed to seeing in the Altair BASIC manuals.

The tape image I have (and the tape in the picture) appears to have been saved from memory after the cold-start dialog completed, so the cold-start code had already replaced the cold-start jump with a jump to the warm-start routine. I patched that jump back to the cold-start routine so that BASIC starts up properly.

BASIC 1.0 expects the rev 0 version of the 88-SIO serial board for console I/O. Since an unmodified rev 0 88-SIO board is so uncommon (most were manufactured as, or user upgraded to, rev 1 and the Altair Clone emulates the rev 1 board), I patched the BASIC image to support the rev 1 88-SIO board.

This version of BASIC has capabilities similar to those of Altair 4K BASIC, but requires at least 6K or so of RAM in order to execute a program. Bill and crew later implemented a number of space saving optimizations to allow BASIC and a simple program to fit an execute in just 4K of RAM. This version of BASIC still uses longer verbs found in "real" BASIC like "READY" instead of "OK" as the prompt and "SCRATCH" instead of "NEW" to clear program memory.

The tape image ("BASIC Ver 1-0.tap") can be found in:
http://altairclone.com/downloads/basic/ ... 0Cassette/

The bootstrap loader (LOAD10.xxx) can be found in:
http://altairclone.com/downloads/basic/ ... 20Loaders/

The boostrap file LOAD10-octal.PRN includes the bootstrap loader in octal for easier entry on the front panel switches.

Mike
AltairClone
Site Admin
 
Posts: 632
Joined: April 5th, 2013, 10:55 am

Re: Altair BASIC 1.0

Postby kurthamm » January 21st, 2018, 8:47 pm

I cannot seem to get this working. I am loading the LOAD10C.HEX file from the configuration monitor. Then, I exit the configuration monitor, set 011000 on the sense switches and run. Then, I "send file" from Tera Term. It seems to finish, but no indication of anything on the 8800. I am confused about what is next because the PRN says to do a STOP-RESET, then RUN. The video says to do a RESET then run.

What am I doing wrong? I stepped through the memory locations, so I know the boot loader is in memory and seems to run ok.

Thanks for any suggestions.

Kurt
kurthamm
 
Posts: 12
Joined: January 18th, 2018, 10:59 am

Re: Altair BASIC 1.0

Postby AltairClone » January 23rd, 2018, 9:57 pm

Note that BASIC version 1.0 came out when the only serial card available was the original 88-SIO. Make sure you set serial port one on the Clone to be an SIO, not a 2SIO.

Mike
AltairClone
Site Admin
 
Posts: 632
Joined: April 5th, 2013, 10:55 am

Re: Altair BASIC 1.0

Postby kurthamm » January 24th, 2018, 8:25 am

That is probably it. I think I remember a note about that in the instructions, but I am sure I ignored it. ha.

Thanks. I will try again tonight.

Kurt
kurthamm
 
Posts: 12
Joined: January 18th, 2018, 10:59 am

Re: Altair BASIC 1.0

Postby kurthamm » January 25th, 2018, 7:02 pm

OK Fiddled with it for about an hour and tried several times. I am just not getting something to work right. I am loading the SIO boot loader just fine. I run the boot loader (at 011000). That seems to work fine. Then, I "send file" from the terminal program. While it is transmitting the file, there is nothing going on with the Altair. No Blinky at all. When it is finished transmitting the file, I select Reset then, Run and nothing happens. What should the sense switches be set to after the Tap is loaded and before you hit reset and run? Should I be hitting the reset?

I am missing something very easy here. I just can't find it.

Kurt
kurthamm
 
Posts: 12
Joined: January 18th, 2018, 10:59 am

Re: Altair BASIC 1.0

Postby kurthamm » January 25th, 2018, 7:43 pm

ignore last post. I checked more closely on the Hex file that I was loading from SIO loader and it wasn't the same as that listed in the PRN. There were a couple of bytes that were different.

I corrected them and got it running.

Thanks!

Kurt
kurthamm
 
Posts: 12
Joined: January 18th, 2018, 10:59 am

Re: Altair BASIC 1.0

Postby AltairClone » January 26th, 2018, 3:17 pm

Kurt,

Thanks for following up with your solution. The file LOAD10C.HEX is for loading through the cassette port at 6/7 instead of the console port at 0/1. Browsing files on the Support page to "Altair BASIC -> Papertape and Cassette -> SIO Loaders" gives the right file (LOAD10.HEX), but I see that the "all support files as a .zip file" has the LOAD10C.HEX file instead of LOAD10.HEX.

I have uploaded a corrected version of the .zip file to the website. Thanks for finding that!

Mike
AltairClone
Site Admin
 
Posts: 632
Joined: April 5th, 2013, 10:55 am


Return to General Discussions

Who is online

Users browsing this forum: No registered users and 20 guests

cron