The source code is quite readable as well. pdp11.js has cases for stepping each instruction. 2Mb hard disk image loaded into an array via an ajax request (rk05.js)
Is it possible to benchmark this on a modern PC/browser, against a real PDP-11?
The question is, how do I mount my RL02 pack with the software I saved?
(That's a 14" removable platter drive that stored 5 million bytes! Amazing. A couple decades and the media is essentially unreadable. I suppose someone with a STM could work it out.)
I haven't looked at the physical interface at all, but if you have any interest whatsoever in electronics, that might be something you can whip up yourself with e.g. an Arduino for instance. Of course, that probably requires quite a lot of time invested. And be careful when you write your driver so you don't overwrite the tracks with bogus data, that would be ironic (or something).
Would be awesome to see someone try this on Node or Akshell (http://www.akshell.com/ide/) and see how it performs on server side V8. Could even add a real time, multi-user console to it.
Wow, it's like I was traveling in a time machine back to 70's and saw Ken Thompson hacking. One thing that has always taken for granted is that vi is the ubiquitous editor in Unix world, it's NOT true, :)
I think this is when you learn that ed is truly the ubiquitous editor. None of these fancy visual editors like vi, also if the date is to be believed, this predates vi by a year (1976 is when Joy created it if I remember right).
Also, I just realized its been a long time since I had to use ed, but this is fun. Its like a more civilized age of unix, ls -l doesn't print groups. So much fun to be had here.
I tried vi and edit commands and they didn't work. Thanks for this hint about ed. Works in the this pdp emulator.
Out of curiosity I also tried ed on my Ubuntu and it works here too. Shouldn't obsolete tools like these be removed from the newer linux kernels? Or is there a significant population that still uses it directly or indirectly (using some tools that use ed)?
I think I first started using UNIX around 1986. Always thought that DOS was a poor mans rip off of UNIX. Needless say this emulator is a major treat. I actually used to play "Hunt the Wumpus" with a buddy of mine way back when.
As for "should obsolete tools be removed" no! Everything in UNIX is built upon something else. You could and still can build the most useful shell scripts to support whatever task. Treat UNIX commands like any computer programming langaue commands and you have tools.
Just a week ago I'm using dd to convert old IBM mainframe from "EBCDIC" to "ASCII" data. Followed that up by writing some C language code to process packed decimal data.
All in All *NIX is the most useful command line platform there is!
There are a lot of these ancient tools around. For example, you probably have "rcs", which is a precursor of cvs. Rumors are, there are tools (wikis), which use it.
> Shouldn't obsolete tools like these be removed from the newer linux kernels?
It isn't in the kernel. That's the point: It's just one small file on the hard drive, which barely takes up anyone's resources. It's trivial.
> Or is there a significant population that still uses it directly or indirectly (using some tools that use ed)?
We don't know. What we do know is that if an established distro suddenly released a version without any tools older than a certain date, it would result a political mess that would be a lot worse than any benefits the distro maintainers could get from removing a few files from their distro.
ed is the standard text editor - used to say so in its manpage, too.
I own a Unix book in which the authors dismiss vi as too bloated to be usable ("you need a large PDP-11 for it to fit into memory and still have room for an actual text to edit") and having too many features for anyone to need.
Take a look at rk05.js. It makes a background AJAX request for a URL with the 2Mb hard disk image, then loads it into a plain javascript array and emulates the hard disk accesses to it.
Is it possible to benchmark this on a modern PC/browser, against a real PDP-11?