Jump to content
IGNORED

AI Superlearner for Atari 800, 1450XLD


Scott Baker

Recommended Posts

The current mania over Artificial Intelligence (AI) reminded me of a program I wrote for the original Atari 800 in 1984, for a post-graduate private computer school class.  I've left the manual describing the program completely as is, except for redacting my old address on the cover page.  Apologies for the yellowing pages, which are 39 years old now.

The slight skewing from the scanner didn't lose any characters in the coding section and you can still type in the full code if you desire.  I submit this as open-source and as a learning tool, to see how a basic - also BASIC - AI program was written in the very early days, almost before the IBM PC came out.

It is based upon a very simple AI program in Compute! magazine - just 23 lines, or <1/10th the size of my greatly enhanced program.

The program was originally designed for the Atari 800 but ought to run on the Atari 1450xld with speech options.  The 1450xld was never officially released before Atari declared bankruptcy, but I was able to find the BASIC code that would have worked for that machine, and included it in this late stage Atari program, completed by May, 1984.

Superlearner also has an option to print what it has learned to a printer, or save the output to a disk or cassette.

The Atari had no access to the internet, which, in any case, did not exist in 1984, so there was no option for a BASIC AI program except for the user to manually enter facts and non-facts about subjects for the AI program to mull over.  Menu options make this a simple matter.  Everything is menu-driven, including the sample data already built into the program.

I lost the function of my Atari 410 cassette recorder a long time ago and although I have a working Atari 810 disk drive, I have not had the patience to type in the program again.  If there is sufficient interest in the program I may do so again, and provide some sample output from the program.

 

There are some similarities to today's AI but of course, the level of complexity and capacity is millions of orders of magnitude greater today.  I present this as a simple example of AI and of historical background to today's AI apps.

 

Enjoy!

Superlearner AI Manual and Program_Redacted.pdf

Edited by Scott Baker
added 'not' to sentance.
  • Like 9
Link to comment
Share on other sites

  • 1 month later...

OK, I tried to do something with the above, and...

Here's rescued listing in ASCII format Superlearner.BAS-.txt (based of @jamm one - needs to be re-checked, though), and here's .LST file to run on Atari Superle.LST (also I haven't been able to run in properly).

 

Not sure if it helped in any way, but still. :) 

 

Link to comment
Share on other sites

Thanks for the conversion, but I'm not sure how to get it onto my Atari - or anyone else's - since the Atari 800 can't connect to the internet, accept a stick, or really anything other than a floppy disk that fits into the Atari 810 external disk drive.  There's an Atari 1010 cassette drive (though i don't own one) but you'd still need to get the file onto the cassette somehow.  There used to be an Atari modem but what service would it call to get on the 'net nowadays?

Short answer: it's hard to see escaping the need to manually type the code, verify it, perhaps by RUNing it, and saving it for recall in the future.  I'm not sure I have the eyes for that level of detail anymore, or the patience.

It's kind of a shame that we're all losing programming history through obsolescence.

Link to comment
Share on other sites

You can connect your 8 bit to the internet through an AtariMax SIO2PC usb or r2322 device and APE, or build a homebrew variant. There is also RespeQT which emulates drives etc as well. You can also use a FujiNet device etc.  The 8 bit can also conncet to the net using Lantronix, Perle, and other serial to lan device/bridges.

  • Like 1
Link to comment
Share on other sites

I have a Windows laptop with an RJ45 Lan connection, also USB, and an Atari 1050 (not 810) disk drive with the second I/O (whatever that is) connector free.  Or I suppose I could temporarily disconnect the 1050 if there's a cable with an Atari connector on one end and a USB or RJ45 on the other end (I can connect to the internet on the Windows laptop via wireless so I don't need the RJ45).  Is there some cable like that and/or an intermediate device to connect two cables for converting between them?

Link to comment
Share on other sites

20 minutes ago, miker said:

OK, I was able to run it under DOS 2.5 but I'm not sure if it works as expected.

Superle.atr 130.02 kB · 0 downloads

Can you teach it anything and have it respond?  If yes, then it works, more or less.  It might balk at printing since that is more Atari specific, but if you're on a DOS/BASIC machine, there should be options for that already.  Same for saving the files.  The version of BASIC on a PC is different from the Atari BASIC, but not that much.

Link to comment
Share on other sites

Yeah, something works but not without bugs...

image.thumb.png.2523ccfe5fe6c844c9b00c2f93c1e0a7.png

 

I just corrected typo in 421 line (there was 1 instead of I in statement) but I'm more than sure there are more such a ones...

 

Edit: Yeah, similar typo was in 591 line, now the program seems to run without errors.

 

Edit #2: OK, attached updated listing (SLEARNER.SAV)

Superle.atr

Edited by miker
update
Link to comment
Share on other sites

Ah, it is close then.  Since it identifies errors by line, it shouldn't take long to methodically go through the various functions and weed out the errors.

I haven't used BASIC on a windows PC since it stopped supporting the command line; I used to make calls to DOS from Foxpro even to launch programs like MS Word to enter code for Foxpro's Memo fields.  But I digress...

Post some output here if you get it to work.  It'll be interesting to compare that to ChatGPT...

 

Link to comment
Share on other sites

According to Wikipedia, these are the differences between Atari BASIC and MS BASIC:

Differences from Microsoft BASIC

  • Syntax is checked and errors highlighted immediately on line entry.
  • Variable names can be of arbitrary length, and all characters are significant.
  • The following keywords are not in Atari BASIC: INKEY$, CLS,DEF FN, SPC, TAB, ELSE.
  • All arrays must be dimensioned prior to use while Microsoft BASIC defaults an array to 10 elements if not dimensioned.
  • String variables are treated as character arrays and must be dimensioned before use. MS BASIC stores strings on the heap and sometimes pauses for garbage collection.
  • The functions LEFT$, MID$, and RIGHT$ are replaced by string indexing.
  • There is not an operator for string concatenation.
  • There are no arrays of strings.
  • There is no support for integer variables.
  • There are no bitwise operators.
  • INPUT does not allow a prompt.
  • PRINT may be abbreviated as ? as in Microsoft BASIC, but Atari BASIC does not tokenize it into PRINT. It remains a question mark.
  • The target of GOTO and GOSUB can be a variable or expression.
  • RESTORE may take a numeric constant, variable, or expression as a parameter, causing the next READ to begin from the specified line number
  • FOR..NEXT loops in Atari BASIC must have a variable name referenced by the NEXT statement while Microsoft BASIC does not require it.
  • Multiple variables are not permitted with NEXT statements as they are in Microsoft BASIC (e.g., NEXT X,Y).
  • LIST uses a comma to separate a range instead of a minus sign.

I tried running the code on PureBasic.app for the iMac, but the run didn't produce any results even after I loaded the code.

Probably easier to import it to the original Atari than to try and modify the code for the iMac, given all the OPEN, POKE and other register specific coding.  I had to be pretty tight with code for a 48K RAM space (after the 16K BASIC Compiler from 49K-64K) and that necessitated direct coding for specific memory locations not available outside the Atari.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...