OP-80a, Punched Tape and BASIC

General discussions related to the Altair 8800 Clone

OP-80a, Punched Tape and BASIC

Postby GlassTTY » January 30th, 2020, 3:24 pm

Hi, I am fairly new to the Altair but am having great fun with the clone. I have an issue with my OP-80a Tape Reader and the punched tape I have and would really appreciate some help in getting something running.

I have interfaced the OP-80a to the clone using an Ardunio Micro, this provides a serial output at 9600 baud and connects to the SIO associated with the cassette interface. I am sure there are better hardware solutions for interfacing the OP-80, however, I already had an Arduino and it took less than an hour to knock up a sketch to sort the whole thing out. I would have found a hardware solution quite hard.

The tape I have is 4K BASIC Version 3.2, and was supplied with the OP-80a kit (http://jmprecision.co.uk) and, in order to test my Arduino solution and set light levels and so on, I connected the serial output to my Mac and dumped the contents of the tape to a binary file using some Python. I did this several times in order to compare for consistency.

Once I could see the contents of the tape reliably streaming over the serial port, I connected the thing to the Altair's SIO (6/7 @ 9600 baud) and ran the Multi-Boot Loader at 17700 with sense switches 12, 8, 9 all set (my console is on the first 2SIO). Once I saw the lights change after a few seconds I started pulling the tape, however, despite many many attempts I have not been able to load the tape successfully.

Comparing my tape dumps to the '4K BASIC Ver 3-2.tap' file located in the 'Software and More' download from AltairClone.com I can see that there are some subtle differences. There are a few odd bytes that are different which could simply be my lighting levels etc.(although all my dumps are identical) I will work on this some more, however, the main difference is that with the '4K BASIC Ver 3-2.tap' file there is a string of NULLs after the first 200 bytes or so. With my tape these NULLs are not there. I am guessing that this marks the end of the second stage loader? If so, I am wondering if the lack of these NULLs means that the second stage loader doesn't have time to start up before bytes start arriving?

Anyway, all of this leaves me with a whole bundle of questions...

e.g.

    How does the load process work
    What is the tape format
    How does the loader know when the tape has ended?
    What address is BASIC loaded into?
    Will BASIC run automatically when the tape ends?
    Can anyone help me source a tape based on the '4K BASIC Ver 3-2.tap' file mentioned above?

In terms of the Arduino interface, the details are here https://glasstty.com/wiki/index.php/The ... Paper_Tape
I have also updated the OP80a thread with details in case anyone is interested.
GlassTTY
 
Posts: 6
Joined: November 14th, 2019, 8:34 pm

Re: OP-80a, Punched Tape and BASIC

Postby AltairClone » January 30th, 2020, 7:51 pm

The first page of this document is a good overview of the Altair tape content and will answer several of the questions you listed: https://deramp.com/downloads/mfe_archiv ... %20CPM.pdf
AltairClone
Site Admin
 
Posts: 632
Joined: April 5th, 2013, 10:55 am

Re: OP-80a, Punched Tape and BASIC

Postby GlassTTY » January 31st, 2020, 10:15 am

AltairClone wrote:The first page of this document is a good overview of the Altair tape content and will answer several of the questions you listed: https://deramp.com/downloads/mfe_archiv ... %20CPM.pdf


Thanks, I will take a look.
GlassTTY
 
Posts: 6
Joined: November 14th, 2019, 8:34 pm


Return to General Discussions

Who is online

Users browsing this forum: Google [Bot] and 28 guests