Using Claude to re-create extinct software – Matlab from the 1980's

JPLeRouzic1 pts0 comments

Using Claude to re-create extinct software - MATLAB from the 1980's | Vintage Computer Federation Forums

New posts

Search forums

Menu

Log in

Register

Install the app

Install

How to install the app on iOS

Follow along with the video below to see how to install our site as a web app on your home screen.

Note: This feature may not be available in some browsers.

Please review our updated Terms and Rules here

Forums

Companies

DEC

JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.

You are using an out of date browser. It may not display this or other websites correctly.<br>You should upgrade or use an alternative browser.

Using Claude to re-create extinct software - MATLAB from the 1980's

Thread starter<br>Thread starter

Alegend

Start date<br>Start date

Sunday at 2:00 AM

Alegend

Experienced Member

Joined<br>Jun 13, 2017

Messages<br>120

Location

Israel

For over 22 years I have been searching for, among other things, a MATLAB version from the 1980's to run on one of my MicroVAX IIs.

All I could unearth was the first 1982 release (a collection of FORTRAN source files), which compiled and worked OK.

But the version I was looking for was a later one, sometime around MATLAB 3.x, which was a pre-GUI, command-line only product that introduced lots of capabilities - like user functions, running script files, and a signal processing toolbox.

I have looked and asked everywhere, and even contacted Cleve Moler himself a few years ago. He was interested in the search and in running the old code himself, but I did not hear from him after that initial contact, and he sadly passed away a few months ago.

In this post from 2018, he mentions "I cannot find a disc for the very first version of PC-MATLAB. The oldest I can find is version 1.3. Here are all the functions, key words, and operators in that version."

Time has passed, and this project was on my mind but the undertaking was simply unrealistic as it would take far too much time and effort to complete. But then Claude came along.

I had that list of features at hand, and Claude. so I decided the time is ripe for attempting a bold "clean-room re-implementation" of MATLAB to that spec, but with the addition of m-file execution that could make the language easily extendable - by writing your own functions you could create your own, new toolboxes and extend the language indefinitely. Close enough to version 3.5 to be just as usable.

I have spent a couple of afternoons with Claude Code, giving it minimal directions on how to do things - just told it (him?) what compiler I had, the list of features, and then answering questions it had along the way. I ended up with a full clone, which is implementing that list of features, plus REGIS/SIXEL graphics output that I asked for (because why not). Claude did an impressive job from start to finish - from smoke-testing the environment (Compaq C V6.4-005), through to creating a full test suite (using m-files) for every feature. It even gave a name to the project - VAXLAB. All compilations along the way were done on a real MicroVAX II - although simh could have been used as well.

I am sure there my be some hidden bugs somewhere in the implementation, but so far Claudes' and my own limited testing did not find any.

So if you are looking for ancient, extinct software for vintage machines, and could not find it anywhere - know there is still hope, Claude is here.

-Alon.

Code:

$ run vaxlab.exe

Version of 15 Jul 2026

HELP is available

type 'quit' or 'exit' to leave, or press ^Z

>> a=[1 2 3 ; 5 6 0 ; 0 0 1]<br>a =

1 2 3<br>5 6 0<br>0 0 1

>> inv(a)<br>ans =

-1.5000 0.5000 4.5000<br>1.2500 -0.2500 -3.7500<br>0.0000 0.0000 1.0000

>> a*inv(a)<br>ans =

1.0000 0.0000 0.0000<br>0.0000 1.0000 0.0000<br>0.0000 0.0000 1.0000

>> help<br>vaxlab help -- categories and keywords/symbols (use help NAME for details).

Keyword : if, elseif, else, end, for, while, break, return, function,<br>global<br>Operator : +, -, *, /, \, .\, ^, .*, ./, .^, ', =, ==, ~=, , >=<br>, &, |, ~, :, ;, ,, [ ], ( ), %, ...<br>Variable : ans, nargin, nargout<br>Constant : pi, e, eps<br>Function : size, length, zeros, ones, eye, disp, rand, inv, det, rank,<br>eig, who, whos, clear, num2str, real, imag, conj, complex, help, transpose, sum,<br>prod, diag, tril, triu, kron, rref, chol, lu, qr, norm, cond, rcond, pinv, hess<br>, orth, schur, svd, expm, sqrtm, logm, funm, rat, why, flops, user, eval, addpat<br>h, max, min, cumsum, cumprod, mean, median, std, sort, find, exist, pause, input<br>, echo, casesen<br>Math Function : sin, cos, tan, asin, acos, atan, atan2, exp, log, log10, sqr<br>t, abs, sign, floor, ceil, round, fix, mod, rem, bessel<br>Graphics : plot, terminal, format, shg, cla, clg, grid, axis, title, xl<br>abel, ylabel, mesh, loglog, semilogx, semilogy, polar<br>Signal Processing : fft, filter, hamming, hanning, blackman<br>File I/O : fopen, fclose, fprintf, fgetl, fgets, feof, save, load, exec<br>, print, what, dir, type, delete, chdir<br>>> help plot<br>plot...

claude from matlab version help using

Related Articles