research-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 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 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.

  • unix research-unix v7

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

    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.

  • unix research-unix v6

    Installing and Using Unix V6 in the Open SIMH PDP-11 Emulator

    This note details the process of building a working v6 instance from a copy of the original tape distribution. The v6 instance runs in a virtual PDP-11/40 provided by OpenSIMH, a masterwork emulator.

  • unix research-unix v6

    Updated and expanded Lions V6 source v1.4

    This is revision 1.4 of my updated and expanded edition of John Lions’ UNIX Operating System Source Code Level Six. It preserves Lions’ original source selection, organization, source-sheet numbering, and line references while reformatting the booklet for letter-size printing.

    This edition also adds a table of contents, an alphabetical source-file listing, the locations of the files in a running V6 system, alphabetical procedure listings, file-and-procedure indexes, defined-symbol listings, source-code cross-references, and alphabetical and numerical symbol tables for the configured kernel.