Fixed some stale links in the previous blog post

This commit is contained in:
Jeff Parsons 2016-10-23 09:09:44 -07:00 committed by Jeff Parsons
commit a3e0e19e95

View file

@ -15,8 +15,7 @@ machines:
connection: serialPort->test1170.dl11 connection: serialPort->test1170.dl11
--- ---
[PDPjs](http://www.pcjs.org/devices/pdp11/machine/) is the newest addition to the PCjs family of emulators, joining [PDPjs](/devices/pdp11/machine/) is the newest addition to the PCjs family of emulators, joining PCx86, PC8080, and C1Pjs.
PCx86, PC8080, and C1Pjs.
While PDPjs may eventually support a range of DEC PDP machines, my current focus is on the PDP-11, starting with the While PDPjs may eventually support a range of DEC PDP machines, my current focus is on the PDP-11, starting with the
PDP-11/70. From there, I'll work backwards to support other PDP-11 models, such as the PDP-11/45, until I reach the PDP-11/70. From there, I'll work backwards to support other PDP-11 models, such as the PDP-11/45, until I reach the
@ -28,24 +27,20 @@ JavaScript [PDP 11/70 Emulator (v1.3)](http://skn.noip.me/pdp11/pdp11.html) writ
Since his emulator is a fully functional 11/70, it made sense to start there and work backwards, neutering features Since his emulator is a fully functional 11/70, it made sense to start there and work backwards, neutering features
as needed. as needed.
The code has already undergone a lot of refactoring. Opcodes are now decoded by function table rather than one The code has already undergone a lot of refactoring. Opcodes are now decoded by function tables rather than a single
large switch statement, and every opcode is implemented with a discrete function. Other refactoring includes switch statement, and every opcode is implemented with a discrete function. Other refactoring includes flag management,
flag management, interrupt management, and device management. interrupt management, and device management.
Most of the work remaining is in device management. Like other PCjs emulators, PDPjs now has a Bus component, Most of the work remaining is in device management. Like other PCjs emulators, PDPjs has a Bus component,
[bus.js](https://github.com/jeffpar/pcjs/blob/master/modules/pdp11/lib/bus.js), that allows separate device components [bus.js](/modules/pdp11/lib/bus.js), that allows separate device components to register I/O handlers for specific
to register I/O handlers for specific UNIBUS addresses. During the initial port, I moved all of Paul's original device UNIBUS addresses. During the initial port, I moved all of Paul's original device management code into one "catch-all"
management code into one "catch-all" component, component, [device.js](/modules/pdp11/lib/device.js), which has now been converted to the new I/O registration model.
[device.js](https://github.com/jeffpar/pcjs/blob/master/modules/pdp11/lib/device.js), which must now be converted
to the new I/O registration model.
The first new device component is The first new device component is [serialport.js](/modules/pdp11/lib/serialport.js), which is currently the
[serialport.js](https://github.com/jeffpar/pcjs/blob/master/modules/pdp11/lib/serialport.js), which is currently the
only means PDPjs has of communicating with the outside world. So you can try only means PDPjs has of communicating with the outside world. So you can try
[PDPjs connected to a VT100 Terminal](http://www.pcjs.org/devices/pdp11/machine/1170/vt100/), by clicking the "Run" [PDPjs connected to a VT100 Terminal](/devices/pdp11/machine/1170/vt100/), by clicking the "Run" button on the test machine.
button on the test machine. The test machine is running The test machine is running [custom boot code](/apps/pdp11/boot/test/), adapted from boot code written by Paul, but due to the
[custom boot code](https://github.com/jeffpar/pcjs/blob/master/apps/pdp11/boot/test/BOOTTEST.mac), adapted from boot code lack of other device support, nothing can be booted yet.
written by Paul, but due to the lack of other device support, nothing can be booted yet.
Obviously PDPjs is very much a work-in-progress. Before I proceed much farther, I really want to put the CPU through Obviously PDPjs is very much a work-in-progress. Before I proceed much farther, I really want to put the CPU through
some rigorous testing, so I'll be on the lookout for some comprehensive PDP-11 instruction tests. Or I'll write my own, some rigorous testing, so I'll be on the lookout for some comprehensive PDP-11 instruction tests. Or I'll write my own,