PDA

View Full Version : Need an Altair Basic 8K verison 3.1 cassette tape boot loader



leiy
November 25th, 2015, 09:01 PM
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.

NeXT
November 25th, 2015, 09:59 PM
As in the bare metal bootstrap? It's mentioned int he manual and demonstrated in the following video:

https://www.youtube.com/watch?v=55j7Be0IPWw

Edited: Oh butts. 3.1. The video and documentation doesn't cover that one.

deramp5113
November 26th, 2015, 04:52 AM
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%20Manual%2075.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.

leiy
November 26th, 2015, 07:35 AM
Thanks you, I will watch the video carefully.

leiy
November 26th, 2015, 07:37 AM
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%20Manual%2075.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.

deramp5113
November 26th, 2015, 08:32 AM
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

leiy
November 26th, 2015, 04:37 PM
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:

http://www.vintage-computer.net/wp-content/uploads/2015/11/11.jpg

http://www.vintage-computer.net/wp-content/uploads/2015/11/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

Marty
November 26th, 2015, 09:04 PM
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

Corey986
November 27th, 2015, 02:55 AM
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

leiy
November 27th, 2015, 04:13 AM
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.

http://www.vintage-computer.net/wp-content/uploads/2015/11/12.jpg

http://www.vintage-computer.net/wp-content/uploads/2015/11/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.

Marty
November 27th, 2015, 05:21 AM
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

deramp5113
November 27th, 2015, 08:27 AM
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%2Fsoftware%2Futilities%2Fothe r%2F.

Some SIO documentation is available at http://deramp.com/downloads/index.php?dir=altair%2Fhardware%2Fsio_serial_inter face%2F. 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

Marty
November 27th, 2015, 08:44 AM
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

leiy
November 27th, 2015, 10:09 PM
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.
http://www.vintage-computer.net/wp-content/uploads/2015/11/1.png

http://www.vintage-computer.net/wp-content/uploads/2015/11/2.png

Here's my modified wire to board configration:
Black wire to pin4, White wire to pin 7, Gray wire to pin 8
http://www.vintage-computer.net/wp-content/uploads/2015/11/13.jpg

Here's my wire to DB25
Black wire to pin 7, White wire to pin 2, Gray wire to pin 3
http://www.vintage-computer.net/wp-content/uploads/2015/11/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.

Marty
November 28th, 2015, 03:53 AM
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

leiy
November 28th, 2015, 06:58 AM
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
http://www.vintage-computer.net/wp-content/uploads/2015/11/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)
http://www.vintage-computer.net/wp-content/uploads/2015/11/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.

Marty
November 28th, 2015, 09:43 AM
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

deramp5113
November 28th, 2015, 02:55 PM
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

Marty
November 28th, 2015, 03:11 PM
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

leiy
November 28th, 2015, 05:19 PM
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.
http://www.vintage-computer.net/wp-content/uploads/2015/11/14.jpg

http://www.vintage-computer.net/wp-content/uploads/2015/11/23.jpg

http://www.vintage-computer.net/wp-content/uploads/2015/11/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.)
http://www.vintage-computer.net/wp-content/uploads/2015/11/15.jpg

http://www.vintage-computer.net/wp-content/uploads/2015/11/24.jpg

http://www.vintage-computer.net/wp-content/uploads/2015/11/32.jpg

Thank you.
Leiy.

Marty
November 28th, 2015, 06:55 PM
Hi All;

Leiy, As near as the picture can show, The third picture down, the Gold (S100 ) Fingers, Don't look like they have been cleaned very well..
And Yes, use the same Erasure for the Com 2502 pins as well..

I don't have a good Schematic for this Board, so I don't know about the possible shorted pins on the 9601 IC..

THANK YOU Marty

deramp5113
November 28th, 2015, 07:00 PM
1) With the board out of the computer, use a volt meter to measure resistance between IC-P pin 15 and ground. Use the thick trace at the bottom edge of the board under IC's P, Q, R as the ground reference.

2) With the board in the computer and powered on, use a scope and carefully measure the period between pulses on IC-O pin 6. Let me know what you find. Look on the UART pins 17 and 40 and verify the signal looks identical as on IC-O pin 6.

Pins 2, 3, 4 shorted on IC-O is correct. The jumpers by the COM2502 are fine.

I've had several COM2502 (and equivalents) fail. The failure mode is often partial in that the chip mostly works, but not completely right. If the neither of the steps listed above turns up anything, then it's time to swap out the COM2502.

Mike

Corey986
November 29th, 2015, 02:16 PM
So just a heads up, I tried the audio file that was posted on my calibrated 88-ACR and with SIO-A (modified to rev1) and I can't get it to load. I can load the wave files from the altairclone website without a problem.

I'm using the boot loader from page 48 of the 1975 basic manual with switch 15 up and the rest down (I think that is correct)

Tomorrow I'll take a look in audacity to see if the Basic 3.1 file needs cleaning up...

Cheers,
Corey

deramp5113
November 29th, 2015, 04:23 PM
So just a heads up, I tried the audio file that was posted on my calibrated 88-ACR and with SIO-A (modified to rev1) and I can't get it to load. I can load the wave files from the altairclone website without a problem.

Looks like this tape uses the original (and less tolerant) frequency pair of 2225/2025hz instead of the more common 2400/1850hz pair. It also looks to be recorded about 6% slow. The mark frequency (2225hz) sits close to the center frequency of 2100hz. There are also lots of high frequency components in the recording that cause problems.

If I lowpass with about a 4000hz cutoff and play back at 1.075 times the original speed, I can get the first half of the tape to read (the data looks reasonable with a good looking leader, checksum loader, and some BASIC verbs present). The 2nd half of the recording still has lots of problems. Haven't dug into those.

Mike

leiy
November 29th, 2015, 08:33 PM
Hi, Thanks all for the help, I will try to test the chip and frequency again later

And I think I should load 8K basic 4.0 to test 88-ACR first.

Thank you.
Leiy.

leiy
November 29th, 2015, 09:21 PM
Looks like this tape uses the original (and less tolerant) frequency pair of 2225/2025hz instead of the more common 2400/1850hz pair. It also looks to be recorded about 6% slow. The mark frequency (2225hz) sits close to the center frequency of 2100hz. There are also lots of high frequency components in the recording that cause problems.

If I lowpass with about a 4000hz cutoff and play back at 1.075 times the original speed, I can get the first half of the tape to read (the data looks reasonable with a good looking leader, checksum loader, and some BASIC verbs present). The 2nd half of the recording still has lots of problems. Haven't dug into those.

Mike

The archive is recorded from original owner.

I will record the tape again by my self with normal speed.

Thank you
Leiy.