Commit graph pcjs/modules/pdp11/lib/pc11.js
Author SHA1 Message Date
Jeff Parsons
c9d8413a1d Fixed paper tape error handling; RT-11 can now copy files from PC: 2017-02-04 10:36:29 -08:00
Jeff Parsons
c92b1521f3 Paper tape punch definitions, and publication updates 2017-02-03 16:19:14 -08:00
Jeff Parsons
822ab39cbe Unforked the shared modules -- ES6 is now the default 2017-01-31 13:50:55 -08:00
Jeff Parsons
5edbdcdce2 Factored PDP-11 drive controller logic into a device-independent superclass (drive.js) and a device-dependent subclass (rk11.js); the RL11 controller is ready to be factored next 2017-01-28 13:39:19 -08:00
Jeff Parsons
bb24ccaca6 Added resume support for saving/restoring all active timers and IRQs, along with the run/stop state of the CPU 2017-01-25 20:31:05 -08:00
Jeff Parsons
b5d6afd210 Protect all Node-specific code with NODE checks 2017-01-02 15:16:18 -08:00
Jeff Parsons
7c7473f86e Documented the MTPS (11/34A), MFPS (11/34A), and MFPT (11/44+) instructions, even though our basic model support (11/20, 11/40, 11/45, and 11/70) doesn't use them 2017-01-02 12:21:04 -08:00
Jeff Parsons
f87161f5d6 v1.32.0: The New Year Release 2016-12-30 15:56:01 -08:00
Jeff Parsons
4b345bb3d2 PDP-11 command-line (Node-based) operation is finally working 2016-12-30 14:51:32 -08:00
Jeff Parsons
d930b31c53 Some minor changes to make it easier to load a machine in the Node environment 2016-12-27 22:05:59 -08:00
Jeff Parsons
5e2073f3ac Let's switch from import back to require, to simplify future Node support 2016-12-27 17:16:18 -08:00
Jeff Parsons
f4f6181923 v1.31.0 marks our first transition to ES6 classes, but only for PDPjs initially (which is why there must be both /lib and /es6 files in the shared folder for now) 2016-12-18 11:31:55 -08:00
Jeff Parsons
b54253acf9 Numerous changes to make paper tape configurations more consistent with disk configurations. This allows all devices to share the machine-wide "autoMount" configuration object, now that the PC11 has a proper device name ("PTR"), making its properties distinguishable from those for RK11 and RL11 drives (eg, "RK0", "RL0", etc). And all the tape/disk components now use "Load" functions to connect a tape or disk to a device ("Attach" is deprecated). And finally, all tape/disk components now support operations to deposit their media directly into memory -- although in this case, the names of the operations are necessarily different: "Read" for tape images, "Boot" for disk images. The difference is partly historical convention but also reflects the fact that a "Boot" operation is more limited: paper tapes were designed to be completely loaded into memory, whereas bootable disks are designed for only the first sector to be loaded and executed. Also, paper tape images are now flagged as non-auto-starting, because they often require some user action (eg, loading another tape, setting some switches, etc), whereas disk boot sectors are flagged as auto-starting (see the fStart parameter of the loadImage() interface in the RAM component). 2016-12-03 14:49:51 -08:00
Jeff Parsons
02b1b8a34a Handle double-RED abort conditions by stopping the CPU and reporting a PANIC 2016-12-01 20:07:33 -08:00
Jeff Parsons
4f7f72af57 Added rudimentary CSS support for side-by-side machines (the PDP-11/45 with VT100 is the first test case) 2016-12-01 17:32:56 -08:00
Jeff Parsons
f8bc528de3 More register refactoring (no logic changes, so hopefully nothing broken) 2016-11-30 13:04:02 -08:00
Jeff Parsons
47a65f043f Cleaned up IRQ handling, added support for DL11 overrun errors, and fixed buffered message output (although a better solution is needed longer term) 2016-11-26 11:38:03 -08:00
Jeff Parsons
708869815d Fixed DL11 for RT-11, and added more message capabilities 2016-11-22 16:54:45 -08:00
Jeff
297be4e92d Used finish instead of done for "finishing" methods 2016-11-14 16:48:49 -08:00
Jeff
2c1191ce6e DEC's "TRAP TEST" finally passes (and I learned a lot about PDP-11 opcode idiosyncrasies in the process) 2016-11-12 12:54:13 -08:00
Jeff Parsons
de916981f3 It is now possible to re-attach or re-load the current paper tape; re-attaching means repositioning it at the beginning, and re-loading means loading it into RAM again. Note that whenever you reload a tape, it's HIGHLY recommended that you reset the machine first, too. 2016-10-23 13:44:31 -07:00
Jeff Parsons
3db1439b40 Improved Debugger focus handling, added a new zeroMemory() Bus interface, and updated the RAM component's reset() function to re-zero RAM and then restore any predefined contents 2016-10-21 12:15:02 -07:00
Jeff Parsons
21d91cbcfa Fixed the components.xsl for PDPjs machines, and added more instructions, resource links, etc, for the PDP-11 demo machines 2016-10-20 15:16:22 -07:00
Jeff Parsons
5e9891292c Added progress bar control (for the PC11 paper tape reader) 2016-10-19 14:16:14 -07:00
Jeff Parsons
bff199ee7f Fixed the PC11 component to deliver bytes at (roughly) the same rate as a physical "high speed" paper tape reader would (TODO: Add a paper tape status display) 2016-10-19 11:31:43 -07:00
Jeff Parsons
13a1dedbc7 Supoprt for tape images in the Absolute Loader format has been moved to the RAM component, so that those images can be preloaded into RAM in the same way that raw bootstrap images can; the RAM component now provides Absolute Loader image parsing as a service to other components that need it (specifically, the PC11 tape reader) 2016-10-19 11:10:38 -07:00
Jeff Parsons
69b7a682d8 Added code to parse tape data and load it directly into memory if the LOAD button is used instead of the ATTACH button 2016-10-18 20:53:26 -07:00
Jeff Parsons
6c4f8f4bb3 Code in place for parsing tape data when "load" (as opposed to "attach") is requested 2016-10-18 16:53:20 -07:00
Jeff Parsons
16b8b59f12 PDP-11/20 test machine can load BASIC from paper tape, but still has some trouble running it 2016-10-18 15:44:26 -07:00
Jeff Parsons
fbb36c1d1b Updated PDP-11 READMEs 2016-10-18 12:03:23 -07:00
Jeff Parsons
599228db46 Assorted PC11 tape loading fixes 2016-10-18 10:30:34 -07:00
Jeff Parsons
961dce8f78 Added PC11 support for loading tapes remotely 2016-10-17 18:22:42 -07:00
Jeff Parsons
d928bef562 Register PC11 I/O handlers 2016-10-15 17:54:45 -07:00
Jeff Parsons
0f4cbd6e7b Added my first PDP-11 add-on device component (PC11) 2016-10-15 16:32:59 -07:00