
JavaScript PDP11 emulator running Unix V6 - sedachv
http://pdp11.aiju.de/
======
angusgr
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?

------
enf
Pretty amazing. My tips to anyone else trying this out:

* Remember that cd was spelled chdir in v6

* "stty -lcase" will make it stop putting everything in caps

~~~
Maci
chdir usr

chdir games

wump

edit: fixed.

~~~
dman
Just tried it - its wump and not wumpus - and at least in google chrome amd64
linux it segfaults.

~~~
angusgr
Strange, I'm on the same config as you and apart from 'wump' I was in
nostalgia-wumpus heaven. :) Chrome 10.0.648.204 (amd64 linux.)

~~~
dman
Sorry my bad. Its firefox4 :) Apparently I am still getting used to the
firefox 4 UI where the tabs take up most of the screen.

~~~
bzbarsky
Did you end up with a crash report for this? Or was this a distro build?

I've been trying to get this to crash with a 64-bit build on Mac, but mostly
falling into holes in cave floors...

------
jws
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.)

~~~
unwind
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).

------
st3fan
Pretty awesome. I compiled HELLO.C. Took a minute, but it works.

------
wtracy
This emulator and this codebase need to get together:
<http://github.com/qrush/unix>

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

------
tectonic
# date

Fri Oct 10 12:33:34 EDT 1975

------
angusgr
It'd be extra awesome if it also emulated a front panel
<http://en.wikipedia.org/wiki/File:Pdp-11-70-panel.jpg>

~~~
lloeki
Or a way to stuff it into Cathode:
<http://www.secretgeometry.com/apps/cathode/>

------
cygwin98
# pwd

/usr/ken

# vi

vi: not found

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, :)

~~~
mitchty
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.

~~~
SingAlong
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)?

~~~
mnwcsult
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!

Website scraping anyone, start with "wget".

Bye now.

------
tectonic
It sure isn't happy about `rm-rf /`

------
silon
Complete with non working backspace, just like in Linux early days.

~~~
com
Early days? Still happens for me with odd terminal apps here and there on
things like Windows.

~~~
mnwcsult
Hyperterminal?

------
exit
i don't understand where the file system / hard disk content is store.

~~~
angusgr
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.

