Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This is a good start: https://www.masswerk.at/minskytron/

The pdp-1 "demoscene" has been rather inactive for ~6 decades now :) Our hope is to breathe some new life into it.



As an "old skool" demo coder, I'm impressed! I'm thinking with the vector display and the fall-off you could probably do some really fun stuff.

Would be interesting to get some modern demo coders onto it to see what was possible.


Regarding the display, it's a point plotting display, which is really the major performance bottleneck, as each dot has to be drawn individually and each dot takes 50 nanoseconds to display. (You can interleave computations and display operations in an asynchronous fashion, but this takes you only that far.) And you have to maintain the screen programatically, redrawing each dot periodically.

As there is no memory or frame buffer involved, the display resolution is pretty high, at 1024 × 1024 display locations (with a "visual resolution" of about 512 × 512, because dot size depends on the intensity and display locations may overlap), but drawing a line across the screen is pretty expensive in terms of runtime. Hence the complexity and fluency of a "display hack" depends largely on the number of dots drawn and maintained.

On the plus side, display commands are pretty simple and straight forward, put one coordinate in the accumulator and the other one in the IO register and off you go. Acording to Marvin Minsky computer graphics just went into decline after this.

Regarding modern and contemporary coders, there are really few tricks that haven't been explored with Spacewar! already. (Mind that Steve Russell was also the programmer, who gave us Lisp.) Spacewar! does all calculations in realtime, without referring to lookup tables, but, otherwise, this is pretty advanced, even featuring a JIT compiler (by Dan Edwards, who is important for the history of Lisp, as well) for the configurable spaceship outlines.

Having said that, the PDP-1 has a pretty fascinating while simple instruction set (including universal indirection), which lends itself especially well to assembler programming, and should be a source of previously unknown joy for any modern coder.




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

Search: