v6
-
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:

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

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, anddisplay, and writes its graphics output to/dev/vt0. The corresponding kernel driver is still present in/usr/sys/dmr/vt.cand identifies itself as:VT01 driver via DR11C to 11/20At 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 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.
-
unix research-unix v6
Tweaked version of Lions for Printing and Viewing
Superseded: A later and more complete version is available as Updated and expanded Lions V6 source, revision 1.4.
This was an early reformatted edition of John Lions’ UNIX Operating System Source Code Level Six, prepared for easier printing and viewing. It included the V6 source listing, a table of contents, an alphabetical file listing, and the locations of the corresponding files in a running V6 system.
-
unix research-unix v6
v6 Bootable Tape
A note describing how to boot from Dennis Rithchie's v6 disk-set. It shows two methods, one that builds a bootable tape from scratch, and another that extracts the bootblock of a running v6 system.
-
unix research-unix v6
Hello, World! in Assembly on Research Unix Version 6
A note demonstrating the process of assembling and running a simple hello, world Unix assembly language application on Research Unix Sixth Edition. It's short and sweet, but gets the job done!
-
unix research-unix v6
Adding tar to Research Unix Version 6 Running on a PDP 11/40 in SimH
This note explains an approach to getting a working version of tar running on Research Unix Version 6 (v6) running in a SimH PDP-11/40 Simulator.
NOTE: After working at this for a bit, it is clear to me that while this is workable as a solution to move files from v6 to v7, it is not workable as a true tar for v6. The program has difficulty with directories, timestamps and such when working natively on v6. The issues are not with the instructions outlined below, but rather with limitations of the original program as delivered with v7. More investigation is required to understand its limitations.
-
unix research-unix v6
Installing and Using Research Unix Version 6 in SimH PDP-11/40 Emulator
This note is intended to document the process of running v6 in a PDP-11/40 emulated environment. A subsequent note covers [v7]({% post_url 2015-12-07-installing-and-using-research-unix-v7-in-simh-pdp-11-45-and-70-emulators-rev-1.0 %})