unix

  • 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 v6 dec

    Getting DOS-11 V004A Running on a PDP-11/40

    Getting DOS-11 V004A Running on a PDP-11/40

    I did not set out to install DOS-11.

    I have been working with Sixth Edition UNIX on a simulated PDP-11/40, partly to understand the system itself and partly to get closer to the environment described by Lions. That inevitably led downward. Reading the V6 source means reading PDP-11 assembly, and reading PDP-11 assembly means spending some time with the tools and conventions that existed around the machine before and alongside UNIX.

    That led me to PAL-11R, DEC's relocatable assembler for the PDP-11, and from there to DOS-11.

  • unix research-unix v6

    Setting Up UNIX—Sixth Edition: An OpenSIMH Laboratory for Reading Lions

    This note covers building a complete, restorable Sixth Edition UNIX laboratory in OpenSIMH for reading John Lions’ A Commentary on the UNIX Operating System. First, the reader is led through restoring the original V6 distribution from tape to RK05 disk images. Next, the kernel is reconfigured and rebuilt for the PDP-11/40 and the simulated devices used in the laboratory. The remaining source and documentation filesystems are then installed, the required special files are created, and the completed system is verified and archived as a restorable baseline.

    The note explains each step of the process in detail and connects Lions’ commentary and numbered source listing to the corresponding files and configured kernel in the running V6 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!

  • unix research-unix v7

    Research Unix Version 7 - 3.2

    This is an updated note that covers building a working v7 instance from tape files that will run in the OpenSImH emulator. First, the reader is led through the restoration of a pristine v7 instance from tape to disk. Next, the reader is led through adding a regular user and making the system multi-user capable. Then, the reader is shown how to make the system multi-session cable to allow multiple simultaneous sessions. Finally, the system is put to use with hello world, DMR style, and the learn system is enabled.

    The note explains each step of the process in detail.

  • unix research-unix v7 videos

    Installing and Using Research Unix Version 7 on the OpenSIMH PDP-11 Emulator

    A video walking the user through the process of installing and using Research Unix Version 7 on the Open SIMH PDP-11/45 and PDP-11/70 emulators.

    Enjoy!

  • unix

    Warren Toomey Awarded 2022 USENIX Flame

    Warren Toomey, the founder and maintainer of all things related to The Unix Heritage Society (TUHS) https://www.tuhs.org/ has been awarded the 2022 USENIX Lifetime Achievment Award ("The Flame").

    Without TUHS, it would hardly even be possible to enjoy retro unix explorations. This is a well earned accolade by an unassuming and very hard working individual.

    Congratulations, Warren!

    flame{: width="480" }

  • unix python

    dircmp.py - a plan to improve and extend

    dircmp.py

    A plan to improve and extend

    This note pertains to dircmp.py a program that I wrote to give me information about two directories for the purpose of deciding what to keep and what to remove and to learn about python. The note is a draft note and as such it's not very refined and it may lack in many ways, but I thought it might be interesting to put it out there and let anyone see it. Email me if you have comments or suggestions.

  • unix research-unix v7

    Installing and Using Research Unix Version 7 in the OpenSIMH PDP-11/45 and 11/70 Emulators 3.1

    This note covers building a working v7 instance from tape files that will run in the OpenSImH emulator. First, the reader is led through the restoration of a pristine v7 instance from tape to disk. Next, the reader is led through adding a regular user and making the system multi-user capable. Then, the reader is shown how to make the system multi-session cable to allow multiple simultaneous sessions. Finally, the system is put to use with hello world, DMR style, and the learn system is enabled.

    The note explains each step of the process in detail.