opensimh

  • unix v6 research-unix basic pdp-11 opensimh vt01

    V6 BASIC with Graphics! in OpenSIMH: Reconstructing the VT01 Display Path

    Today's post is a dive into getting this:

    V6 BASIC draw, erase, and display

    to work on a basic v6 instance running bas, the v6 version of BASIC:

    V6 BASIC graphics under OpenSIMH

    Background

    Lately, my interests have revolved around language design. I wrote Aiki, pulled its heart out into Nezha, and in the process realized that I needed a deeper understanding of compilers and compiler design, and of how they came to be.

    That led me to ALGOL 60 and the early compilers—or translators, as they were often called. I dug out my copies of the three Dragon Books and settled on the Green one for a deep dive into early techniques. In the process of reading and thinking about language translation, I realized that I should have a language in mind to compile.

    Aiki has its appeal, but it is not a good first target. Nezha is small and constrained enough, but no, I thought, I want something more conventional. K&R C? Perhaps. V6 assembly? That has its appeal, that's for sure. I heart V6.

    So I logged in to see what other candidates it might offer up and found SNOBOL, and then bas—V6 BASIC.

    But BASIC, really? Surely this was just a sad little implementation of BASIC for V6 that didn't even do graphics.

    I pulled up the source with little hope, and then saw: wait a minute. It does do graphics?

    Nothing in V6 does graphics.

    But there it was.

    The V6 BASIC source contains draw, erase, and display, and writes its graphics output to /dev/vt0. The corresponding kernel driver is still present in /usr/sys/dmr/vt.c and identifies itself as:

    VT01 driver via DR11C to 11/20
    

    At that point the compiler investigation became a hardware reconstruction problem.

  • unix unix-v6 lions pdp-11 opensimh

    Lions Laboratory: A Sixth Edition UNIX Laboratory for OpenSIMH

    As a follow-up to my note on setting up a Sixth Edition UNIX laboratory in OpenSIMH, I have now put the complete laboratory repository on GitHub:

    decuser/lions-laboratory

    The repository contains the V6 distribution materials, OpenSIMH configurations, PDP-11/40 and peripheral documentation, known-good system checkpoints, and the working notes I have accumulated while reading Lions and experimenting with the system.

  • unix research-unix opensimh videos

    Building and Installing OpenSIMH from Source

    A video walking the user through the process of obtaining, building and installing OpenSIMH from source. This is a prerequisite for installing Research Unix Version 6 or 7.

    Enjoy!