• Please review our updated Terms and Rules here

Need an Altair Basic 8K verison 3.1 cassette tape boot loader

leiy

Experienced Member
Joined
Dec 9, 2014
Messages
247
Does anyone have one? Thanks.

I have a Altair Basic 8K version 3.1 cassette tape from 1975, I need to load basic from the cassette to test out my newly purchased 88-ACR board.
 
The common boot loaders we've all used and seen are for v3.2 and v4.0 products. However, your situation requiring a 3.1 compatible loader is also documented. See page 48 in this BASIC manual. This is for pre-3.2 BASIC. Do NOT use the loader information at the end of the manual. http://deramp.com/downloads/altair/software/manuals/BASIC Manual 75.pdf

Mike

P.S. Have you archived the tape as audio to .wav file and/or as data to a binary file yet? I'd do that before running through numerous boot attempts.
 
The common boot loaders we've all used and seen are for v3.2 and v4.0 products. However, your situation requiring a 3.1 compatible loader is also documented. See page 48 in this BASIC manual. This is for pre-3.2 BASIC. Do NOT use the loader information at the end of the manual. http://deramp.com/downloads/altair/software/manuals/BASIC Manual 75.pdf

Mike

P.S. Have you archived the tape as audio to .wav file and/or as data to a binary file yet? I'd do that before running through numerous boot attempts.

Thank you for the info and document.

Yes, I have a archived 3.1 file in CD-ROM from original owner. I will find a CD-ROM drive to read the content.
 
You'll have to use an SIO at I/O address 0 (not 2SIO) for console I/O. If you don't have an SIO, an SSM IO-4 can be strapped to look like one. Implement the "non-rev 0" version (aka, "status bit modification" or "rev 1"). Or use your Altair Clone and set the console serial port to SIO.

Mike
 
You'll have to use an SIO at I/O address 0 (not 2SIO) for console I/O. If you don't have an SIO, an SSM IO-4 can be strapped to look like one. Implement the "non-rev 0" version (aka, "status bit modification" or "rev 1"). Or use your Altair Clone and set the console serial port to SIO.

Mike

Thanks for the reply. I have a SIO A board, but I'm not clear how to wire the 10 pin connector to DB25. I will upload photo of my SIO A, thank you.

Here's my SIO A board:

11.jpg


b.jpg


Is the board baud rate and jumper wire config OK?

I will also test the 3.1 8K basic cassette tape on Altair 8800 clone.

Thank you.
Leiy
 
Last edited:
Hi All;

Leiy, This Board Does NOT have RS-232 Capability.. This Statement MAY be Wrong..
It is TTL i.e., 5 volt level ONLY.. And this one may be wrong..
Years ago, I made a little Wire-wrap Daughter Board, that had 1488 and 1489 IC's on it and then I could connect it to a DB-25 (RS-232) connection..
If, You wanted one with an RS-232 You had to order one with that option from Altair..
The Board You have is for the Cassette Daughter Board to attach to it.. And this one may be wrong as well..

Re-LOOKING at it This might be RS 232 compatable because of the Transistors, In the Morning, when I can make some noise, I will look at one of my OLD Boards and Compare it to Your Board..
If, Your Board is RS 232 compatible, then it is the First one that I have ever seen..

THANK YOU Marty
 
Last edited:
That is the RS232 version of the card. They made 3 versions. TTL, Current Loop and RS232. They didn't use driver chips, but did it all the old fashioned way with transistors (I know I have had a bad transistor on one of mine and tracked down the exact NOS match)

From you pic, I think you have the early version which doesn't even have RTS/CTS so you may need to tie them together and depending on your terminal you may also have to tie 20 and 6 (DTR-DSR)

The card isn't super reliable at high speeds because of the lack of RTS/CTS. Not a big deal to use it as for a terminal, but not fun if you are trying to get it working with a high speed tape reader or a USB to serial adapter at 9600 baud.

For pinouts...
it should be easy to trace. If you really need me to, I can upload a picture of the connections, but it's really only 3 wires at the card side.

The other thing to be aware of is that this card had a modification for Rev-0 cards to make them compliant with Rev-1. So you bootloader needs to match if your card is a Rev-0 or modified Rev-0/stock Rev-1

Finally, when you get this going, I'd love to get a copy of the bootloader and the audio for the cassette for 3.1.

Cheers,
Corey
 
Hi,

Thanks Marty, Corey and all for help.

I try to wire the board to DB25, and enter codes use front panel to display a letter "A" to prove the SIO-A is working, but nothing displayed on terminal.

12.jpg


21.jpg


The codes I entered with front panel are:

000000 076 /*put "A" to accumulator
000001 101
000002 323 /*put the accumulator to port 001
000003 001


Is there has anything wrong on my DB25 wire configuration or wrong code? Or I have a bad SIO A board?

By the way I'm finding a CD-ROM drive to read out the content.

Thank you.
Leiy.
 
Last edited:
Hi All;

Leiy, You Don't have a Status, nor a loop for Data ready, before You Output Your 'A'..

From the Mits Altair manual, here is the code that you need, Slightly modified to output the 'A'..

000 333 Input
001 000 I/O port Status
002 346 And Imediate with A
003 002 Anded Data--mask for Transmit Buffer empty
004 312 Jump on zero
005 000
006 000
007 076 MVI Imediate to A
010 101
011 323 Output
012 001
013 303 Jump to beginning
014 000
015 000

OR 013 177 Halt

The Alternate Listing is the following

000 333
001 000
002 346
003 001
004 332
005 000
006 000
007 076
010 101
011 323
012 001
013 either jump or halt..

THANK YOU Marty
 
Leiy,

Looks like you have a Rev 1 board, that is good.

Your board is set for 300 baud, 8N1.

Transmit out from the board, to your terminal, is on header pin 8 (if pin 1 is on the left)
Receive into the board, from your terminal, is on header pin 7

Looks like you might be wired to pins 6 and 7 by mistake?

Signal ground is on pin 4

The bits and polarity being tested for in Marty's code above are actually for the 6850 ACIA found on the 2SIO board. It won't work for the SIO board. The bits and polarity for the SIO Rev 1 board are as follows:

Transmit ready when bit 7 (MSbit) is ZERO (note: not one, this is inverted logic)
Read data available when bit 0 (LSbit) is ZERO (not one, inverted logic)

Here's echo for the SIO Rev 1 strapped at I/O address 0/1


0000 DB00 loop in 00h ;wait for character
0002 0F rrc
0003 DA0000 jc loop ;nothing yet (negative logic)
0006 DB01 in 01h ;read the character
0008 D301 out 01h ;echo it
000A C30000 jmp loop


Here is the program in octal for easier entry into the Altair:

000: 333 000 017 332 000 000 333 001
010: 323 001 303 000 000



Might be easier to read this by looking at "SIOECHO.PRN" at http://deramp.com/downloads/index.php?dir=altair/software/utilities/other/.

Some SIO documentation is available at http://deramp.com/downloads/index.php?dir=altair/hardware/sio_serial_interface/. The file "88-SIO Rev 0 & 1.pdf" is the Rev 0 manual with lots of errata information including the Rev 1 update information. The schematic for the Rev 1 board is also available there.

Mike
 
Last edited:
Hi All;

Mike, Thanks for the correction, I thought this was for His Board, as it was half of the code for Testing the SIO that is mated to the ACR Cassette Board..
My Mistake..

THANK YOU Marty
 
Hi, Mike and Marty, Thanks for the help.

I change the wires on pin 7 and pin 8, and entered code on front penal:

000: 333 000 017 332 000 000 333 001
010: 323 001 303 000 000

But, when I type the keyboard I received garbage echo data on screen.
1.png


2.png


Here's my modified wire to board configration:
Black wire to pin4, White wire to pin 7, Gray wire to pin 8

13.jpg


Here's my wire to DB25
Black wire to pin 7, White wire to pin 2, Gray wire to pin 3

22.jpg


Is still has anything wrong here?

By the way, I found an old vintage CD-ROM drive and, I've read out the content of 1975 Altair 8K Basic version 3.1, and uploaded to my website, here's the link:

Altair_8k_basic_Ver3_1_09_17_1975, (Note: this is a mono channel audio content)
http://www.vintage-computer.net/wp-content/uploads/2015/11/Altair_8k_basic_Ver3_1_09_17_75.mp3


Altair_test_pattern_125s, (Note: this is a mono channel audio content)
http://www.vintage-computer.net/wp-content/uploads/2015/11/Altair_test_pattern_125s.mp3


Thank you.
Leiy.
 
Last edited:
Hi All;

Leiy, This is actually good news, that You are getting something Back..

Most likely the Baud rate is not right and/or the Parity is not correct..
What I would do especially since You have and are using tera-term,
is first go thru the different baud rates, between 110 and 9600 then when something looks more like what You are typing,
You can then work on word length and Parity..
I have had to do this before, when looking for the right combination..

THANK YOU Marty
 
Hi All;

Leiy, This is actually good news, that You are getting something Back..

Most likely the Baud rate is not right and/or the Parity is not correct..
What I would do especially since You have and are using tera-term,
is first go thru the different baud rates, between 110 and 9600 then when something looks more like what You are typing,
You can then work on word length and Parity..
I have had to do this before, when looking for the right combination..

THANK YOU Marty

Hi, Marty Thank you. I get wrong keyboard echo at 300 baud, but when I switch to 600 baud, there has something strange happens

I stroke a lowercase key, it automatically echo a correspond uppercase key with a space.
Serial setting is at 600 baud, 8bit data, none parity, 1bit stop

11.png


But when I switch serial setting to 600 baud, 7bit data, none parity, 1bit stop, I get better result (without automatically space insert), but the key stroke is constantly echoed uppercase on screen (no matter what the caps lock is on or off)
12.png


I've tried all combination, the 600 baud 7N1 is best, but these setting can only echo uppercase A to Z characters, it can't echo "space" key (it echo @), "Enter" key (it echo M), and all numeric keys.
 
Last edited:
Hi All;

Leiy, YES, 7N1 is for Data when typing, and 8N1 is for Serial Loading..

I would Check the Jumpers for the UART, The Top bit is Being Stripped off or Dropped..

Make Sure that in Both the Uart and Tera-Term are set on Word Length of 8 Bits, Tera-Term can then be switched from 8 bits to 7 bits, But Not the Uart so easily, So for Now Make sure that the Uart is Set for 8 Bits and Not 7 Bits..
If the Uart is wired for 7 Bit word Length, then No matter What Tera-Term is set for it will act as though it is Always a 7 bit word length..
On the Uart NDB1 and 2 should BOTH be tied to +5 (High).. (8 bit word Length)..
NOT Uart NDB1 Low and NDB2 High.. (7 bit word Length)..
I hope that this is a clear as MUD..

THANK YOU Marty
 
Last edited:
This is a fun problem! Your board is clearly set for 300 baud, not 600 baud. So either your bus clock is running at 4mhz instead of 2mhz (unlikely), or one or more of the preset inputs to the baud rate counter is registering as a different value than strapped. My guess is that bit 8 of the preset value is being sensed as "1" instead of as "0." This makes the 300 baud preset value closer to 700 baud. This allows the echo program to "sort of" work at 600 baud.

I'd carefully pull out and re-seat the baud rate IC's P, Q and R several times to scrape/clean the socket contacts, then set tera-term back to 300 baud, 8N1 and let us know what happens.

Mike
 
Hi All;

Good Call, Mike..
I went back and reviewed the Picture, Which I hadn't done before..
And another thing I see, is the Gold Fingers have Not been Cleaned, at least in the Picture..
An INK Erasure, does Wonders on Cleaning Gold Fingers..
And after some time, You will have an Ink Erasure that is worth alot..

THANK YOU Marty
 
Thanks Mike and Marty. I've cleaned the golden finger, the problem persist. But the P Q R chips were soldered directly on PCB.

The only chip I can unplug from the board is COM2502, I try to clean the finger of COM2502, but problem persist.

I noticed the pin 2,3,4 from the chip "9601 PC F7407" is shorted together.
14.jpg


23.jpg


31.jpg


Hers's the wire configration aside from COM2502: (I can sure the COM2502 is good, because I replace with other 2502, the problem still here.)
15.jpg


24.jpg


32.jpg


Thank you.
Leiy.
 
Last edited:
Back
Top