• Please review our updated Terms and Rules here

Programming on vintage computers?

GreyHairedDECfan

Experienced Member
Joined
Dec 5, 2021
Messages
127
Location
Northern Maryland
Anyone doing at significant programming on your old iron, beyond the requisite Hello World?

I've got BASIC PLUS going on RSTS, and from reading the manual (and my memory, as I used it a lot in college) it's quite capable.

I think it would be enjoyable and educational to create some programs that actually do things, on the old stuff. Curious if anyone here is doing that.
 
I haven't created anything to do something I really need. The programming I do is to create interesting demos for my PDP-8's. The more complex coding demos were digitizing composite video and printing as ascii art and capturing a signal, taking a FFT and displaying it on point plot and plotting on plotter.
 
I've only been dabbling with CP/M.

BASIC PLUS made some very curious design decisions, always curious where they came from.

For example, BASIC PLUS is compiled. Not into machine code, but compiled nonetheless (in contrast to, say, MS BASIC which is tokenized and interpreted). But I don't recall type RUN and having to wait any long time for the compile to happen after making changes. So, I don't know if they had some incremental technique they used to make that happen.

BASIC PLUS had virtual arrays. This was clearly their first stab for handling some kind of record I/O on the system, that was inevitably replaced by more conventional random record I/O and, eventually, RMS. But virtual arrays came first, and lingered all the way into the VAX.

I always wanted to see what it was like writing a simple accounting system on top of it, see how different challenges were handled. Write a menu system that CHAINed to the applications etc.

But, then I come to my senses.
 
I have been using turboC to prototype challenging routines for an 80c85 application. I am prototyping on a Shape PC 6220 laptop.
Then to get a sense of actual 8085 run time, I compile in BDS C in CP/M on the target machine.

Final stage convert C to assembly and compile with TASM32.
 
I would like to get a control and display application running on my DEC PDP-11 and PDP-8 (as we used on our power station plant).

I have some analogue and digital I/O cards, and some QBUS graphics cards - our software language compiler (SWEPSPEED) supports these cards - so I would like to wire it up to something like a water pump, some valve actuators, some sensors and a tank. Perhaps in perspex?

Either that or control a train set :)...

Dave
 
TurboC compiling to 80c85 instead of 8086? Interesting.
Sorry could have been clearer.
I start with turbo C on an AT laptop. TurboC is a nice ide.

Then I take a good implementation over to the 80C85 computer where I have BDS C, and this gives me a closer estimate of actual run time.

Lastly I convert to assembly.
 
I would like to get a control and display application running on my DEC PDP-11 and PDP-8 (as we used on our power station plant).

I have some analogue and digital I/O cards, and some QBUS graphics cards - our software language compiler (SWEPSPEED) supports these cards - so I would like to wire it up to something like a water pump, some valve actuators, some sensors and a tank. Perhaps in perspex?

Either that or control a train set :)...

Dave
Train set sounds like fun.
 
Sorry could have been clearer.
I start with turbo C on an AT laptop. TurboC is a nice ide.

Then I take a good implementation over to the 80C85 computer where I have BDS C, and this gives me a closer estimate of actual run time.

Lastly I convert to assembly.

Sounds cool. Do you look at the output of BDS C (in assembly) and then optimize it?
 
If old game engines like Adventure Game Studio or Game Maker count, then yes, I do quite a bit of that on those old boxes. Only problem is I never get done with anything I start, I get sidetracked back into reality/life and of course, the files end up squirreled away on some hard drive somewhere, usually as some kind of half-working demo.
 
I am only learning to program my vintage computers. The things I like to do involve some kind of Graphics, even if its just text, partly because I like anything to do with TV, CRT's and VDu's and their displays. Also I like to see the computer doing something rather just crunching numbers and keeping quiet about it.

When I got my SOL-20 I knew nothing about the 8080 IC or assembly language programming, so I got a couple of books. Also, I mainly design & fix hardware which I enjoy, not too good at software. After I figured out the video memory map in the SOL, I was able to write and assemble a very primitive Walking Man program, it is kind of goofy:


I also built a replica Cromemco Dazzler for the SOL. For that one, to crunch the image files to make it work, starting out with an image from a modern computer, (I found this software side of it very difficult):


Also I got interested in early S-100 Matrox graphics cards, because of the video images:


And I built a Light Pen project for the SOL, finding the hardware very easy and the software very difficult:


Now I have a PET that is much more capable with graphics symbols and suited to animating and making video games and I think that will be fun. Recently I played a simple Aliens shooting game on it and I'm going to figure out how they did that and try my best to do something similar. I'm still reading up on how to program in BASIC.

I got interested in TV and video as a very young boy, hence the interest in CRT display technology. One thing I saw on an episode of Dr. Who in the early 1960's (one of my favorite TV shows) he was looking at an image on a monochrome TV, pushed a button and the image froze. Back in the early 1960's there was no way to do this with the home TV and if you saw something of interest on the screen, it was quickly gone. now its a piece of cake with live pause graphic card capture etc, video recording. So I decided to make one for myself one day a "Feeze Frame Machine"... only a 50 year or so delay from deciding to do it and doing it. The design works for PAL or NTSC color or monochrome and it is independent of a computer and contains no firmware, just logic gates & memory IC's and my own unique design:

 
Last edited:
Sounds cool. Do you look at the output of BDS C (in assembly) and then optimize it?
I originally was thinking... I bet I could use the routines that BDS-C spits out directly. I may try that actually, but I was thinking I would hand code it.
What I like about this process is that the C routines can be made to work much like assembly would run, at least from the perspective of variables. You can do bit-wise processing, work on individual bytes of data etc.

It would be interesting to see how much bloat there is compared to a minimalist assembly, as well.
 
I'm currently writing a set of DOS & Windows 3.1x utilities in C/C++, and I program on a custom built Socket 4 Pentium w/Pentium OverDrive 133MHz CPU in use, 128MB of RAM, 3GB IDE hdd, running Windows NT Workstation 3.51. I originally tried programming in Windows 3.11 but the limited system resources were exhausted quite quickly and required me to constantly have to restart Windows to continue coding.
I'm kinda hoping I can finish the utilities before next year's VCF Midwest so I can pass around free copies.
 
Last edited:
I tend to spend more than a little time tinkering in BASIC on various machines, mostly the VIC-20, and sometimes on the Nova 1200 (when it's working), the Cactus (my homebrew), and to a lesser extent, my OSI Challenger 4P, C64, and C128D.

However, last year I spent a good amount of time trying to port a simple game into VIC-20 BASIC on an unexpanded machine - 3.5K free, no extra RAM. I ended up having far too many instances of my code being lost when I would save to floppy or SD2IEC due to corruption, so I ended up switching over to programming in CBM PRG Studio and copying it back over to the VIC for tests every so often when I was sick of emulating. I really wish I could have continued to work exclusively within the native interface, but at some point I had to accept that the saving problems were going to continue impeding progress.

I think it's fun to confine oneself to the tools of the era, see where you have to start thinking outside the box or inside the limitations of the environment.
 
Back
Top