--- layout: post title: Booting PDP-11 BASIC date: 2016-10-21 23:00:00 permalink: /blog/2016/10/21/ machines: - id: test1120 type: pdp11 debugger: true autoMount: '' config: /devices/pdp11/machine/1120/basic/debugger/machine.xml --- [PDPjs](http://www.pcjs.org/devices/pdp11/machine/) can now simulate a PDP-11/20. It was one of the first PDP-11 models, and since it had no MMU, it was limited to a maximum of 56Kb of RAM (or as DEC would say, 28K words), since the top 8Kb (or 4K words) of its 16-bit address space was reserved for UNIBUS devices. The first PDPjs test of a PDP-11/20 machine was running [PDP-11 BASIC](/apps/pdp11/tapes/basic/), by loading it directly into memory from the original paper tape image. This required changes to the [RAM](/modules/pdp11/lib/ram.js) component, including a new *loadImage()* interface that understands DEC's paper tape format. To provide a more "authentic" experience, there is also a new [PC11 Paper Tape](/devices/pdp11/pc11/) component, and machines can now be configured to include a virtual paper tape reader, with an [assortment of paper tapes](/apps/pdp11/tapes/) ready to be attached. In the real world, before you could load *any* paper tape, you had to first enter a [Bootstrap Loader](/apps/pdp11/boot/bootstrap/). PDPjs has simplified that process by including the Bootstrap Loader as just another paper tape image that you can "Load" directly into memory. Once that has been loaded, you can then read any other paper tape image, once you "Attach" it to the paper tape reader. {% include machine.html id="test1120" %} *[@jeffpar](http://twitter.com/jeffpar)* *Oct 21, 2016*