Hacker News new | past | comments | ask | show | jobs | submit login
Emulation of Unix V6 on a PDP-11 with an emulated teletype (pavel-krivanek.github.io)
62 points by beefhash on March 7, 2020 | hide | past | favorite | 23 comments



    NICE DEMONSTRATION OF WHY KEN DIDN'T SPELL CREAT() WITH AN 'E'.


Yeah, though this feels artificially slow to me. Even the earliest Teletype machines could manage 10+ cps, and by the mid-70's time frame (v6 was released in 1975) much faster devices were available (and of course video terminals were starting to arrive too).

I'm sure someone used a PDP-11 with a terminal this slow, but it's unlikely to have been the typical developer experience.


I used a PDP-11/70 with ASR-33 TTYs as late as 1978. They were still common because while slow and noisy they were much cheaper than the DECwriter, and could also read and punch paper tape. Since mass storage was very expensive (10MB for $20,000) and since floppies were not yet common, paper tape was the USB stick of the time.


Not because that's the system call to eat a carriage return?


I'm afraid not; there wasn't a system call to eat a carriage return until V7. Best I can offer for V6 is stty(2) with mode=|020.


The pidp-11 project is also cool. A miniature and functional PDP-11 replica. https://obsolescence.wixsite.com/obsolescence/pidp-11


Ok but let's be honest: Unix is at it's core still a teletype emulator no matter where you use it. It's the central metaphor for the system.


Well, UNIX "at it's core" is the kernel; what you are talking about is what is known as 'shell.'


UNIX and everything surrounding it is built around the shell though.


TTY is baked pretty deeply in there regardless of the shell


This is very nice. Brought back old memories of my first programming Fortran and BASIC+ on RSTS/E on a PDP-11


You, too? My high school had an 11/34 back in the day, with a couple VT100s, several Visual 200 terminals (cheap junk), one DECwriter II for the console, and another one plus a DECwriter III in the lab. It also ran RSTS/E, and in the summer after my sophomore year they offered a short introductory course. I was hooked. We didn't have any Fortran courses, though, just BASIC+ and COBOL.

I'd take even a DECwriter II over a Teletype, but the III made the II look downright slow, with a 4x faster printhead, the ability to seek quickly, and the ability to print in both directions to avoid wasted motion.


The point where I burst into giggles was when I realized that scrolling the page while output was still going (e.g. from ls /bin) overwrote previous lines with new letters.

That's some dedication to accuracy that's found there.


Don't try to use ^S and ^Q for flow control, it doesn't work and the ^Q will quit Firefox. As a tab horder, I hate quitting the browser.


Just remember to type CHDIR instead of CD.


Did teletypes not have rollover? The most annoying part of this was waiting half a second after each keypress…


Teletypes have metal rods and springs instead of rollover!

I love how the mouse wheel (back in reality) scrolls the paper up and down and it overprints.


But typewriters (at least the one I have tried–I think it was a Selectric?) have the same thing and can support rollover…


The Selectric didn't really do rollover, but it had a mechanism that felt like it. Each key lever had a small tab that entered a trough of ball bearings that had just enough slack for one tab. If you pressed a second key, it would displace the balls and descend when the previous key withdrew.


The teletype keyboard mechanism was less sophisticated than a Selectric. Also, I seem to remember it took like a pound of pressure just to push a key on a teletype, so you ended up vigorously punching it with your index fingers. A Selectric is like typing on air compared to a teletype.


If it doesn't smell like a teletype it isn't a true emulation.


backspace not invented yet? How can you write a program with this thing!


Backspace had been invented; the problem is that on a printing terminal you end up with an illegible mess. So early Unix defaulted to erase '#' kill '@'. You can still see artifacts of that choice — ‘#’ being popular for things that start a line, like comments and C preprocessor commands, and ‘@’ being the only ASCII punctuation with no function in any common Unix tool.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: