Commit graph pcjs/modules/pdp11/lib/defines.js
Author SHA1 Message Date
Jeff Parsons
5808778351 Added getTrapStatus() so that the Debugger can display trap information whenever a trap has just occurred, updated FileDump to store 'load' and 'exec' properties in MACRO-11 listing dumps (so that the individual machine files don't have to specify hard-coded 'load' and 'exec' values themselves), and added a new SerialPort parameter (upperCase) that can be used to force all received data to upper-case 2016-10-21 21:07:26 -07:00
Jeff Parsons
5f05913036 Fixed fault generation on invalid memory accesses; PDP-11 BASIC now starts up! 2016-10-21 17:06:41 -07:00
Jeff Parsons
aa2a25c5ec Minor Debugger improvements, notes, etc, while debugging the PDP-11 BASIC 2016-10-20 22:56:29 -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
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
0f4cbd6e7b Added my first PDP-11 add-on device component (PC11) 2016-10-15 16:32:59 -07:00
Jeff Parsons
3a7b769fa3 Added support to FileDump for generating binary dumps from MACRO11 listing (.lst) files, since I wasn't having much success with dumpobj or obj2hex.pl; note that this assumes a listing file produced by the macro11 cross-assembler written by Richard Krehbiel in 2001, updated in 2009, and maintained here: https://github.com/shattered/macro11. There are other versions of macro11 floating around, like the one in the simtools project that accompanies simh, and the one built for the Windows-based PDP11GUI app. 2016-10-15 11:05:38 -07:00
Jeff Parsons
b1f8fca2d9 Re-enabled source maps, at least for the PDP-11 emulators (for now) 2016-10-14 09:30:17 -07:00
Jeff Parsons
854b40c419 Cleaned up PDP-11/70 configs 2016-10-13 16:35:10 -07:00
Jeff Parsons
686396d726 Switched interrupt management to a new set of Trigger functions and static Trigger objects, eliminating the old InterruptQueue of constantly created/destroyed InterruptEvents 2016-10-13 10:20:11 -07:00
Jeff Parsons
58d358b51e Switching to new interrupt triggers 2016-10-12 16:40:47 -07:00
Jeff Parsons
05626a33cb Version number update 2016-10-10 18:19:17 -07:00
Jeff Parsons
ae4fbeb489 Improved IOPAGE management 2016-10-08 11:09:14 -07:00
Jeff Parsons
0ee3a091b4 More device refactoring 2016-10-07 17:37:13 -07:00
Jeff
e24d507aa2 Removed useless version numbers and dates from .js file headers 2016-10-06 16:22:24 -07:00
Jeff
1a1614a648 Simplify the Bus and Memory interfaces slightly, by enabling WORDBUS, which treats all word accesses as aligned; the CPU is has sole responsibility for detecting unaligned word addresses and trapping appropriatelu 2016-10-06 14:17:29 -07:00
Jeff
21b4fe4942 Renamed PDP11js to PDPjs (mostly a cosmetic change, except for the versions directory, and less of a mouthful) 2016-10-05 17:43:46 -07:00
Jeff
086ef51588 Cleaned up the SerialPort (formerly tty) logic a bit 2016-10-05 12:41:14 -07:00
Jeff
795d57839b Cleaned up the decoding SRCMODE and DSTMODE operands, should be less confusing now 2016-10-04 17:22:25 -07:00
Jeff
ebfcd5133b PDP-11 console output works (first baby step) 2016-10-04 15:24:22 -07:00
Jeff
2a065f4efc First stab at PDP-11 cycle times (11/70 to be precise) is more or less complete now 2016-10-03 14:27:14 -07:00
Jeff
98d3700fa4 Cleaned up OPFLAG handling 2016-09-29 14:02:37 -07:00
Jeff
b3ba03d0a5 Got rid of runState, implemented a solution for WAIT 2016-09-29 11:04:33 -07:00
Jeff
44a2ec9f03 Fixed Debugger memory editing and register handling, tidied up some flag operations, and removed more now-unnecessary address checks in cpustate 2016-09-29 09:11:25 -07:00
Jeff
c7dbfc02be Fixed CPU start/stop control; runCPU is now strictly a worker function, not a control interface (PDP-11 only; other CPUs still need to be updated to match) 2016-09-28 22:21:52 -07:00
Jeff
c858fd0699 Codify reasons for assorted traps 2016-09-28 15:35:22 -07:00
Jeff
0ad98dc68b All PDP-11 opcode decoders implemented now 2016-09-28 13:45:36 -07:00
Jeff
b2c66b5374 Implemented more opcode decoders 2016-09-27 16:21:55 -07:00
Jeff
eb5aaa5d66 Strip leading zeros from selected debugger constants (typically immediate values) 2016-09-27 12:53:36 -07:00
Jeff
3497466113 Cleaned up interrupt handling, register initialization, MMU initialization, etc 2016-09-26 16:53:37 -07:00
Jeff
1e1388b9ca Added KW11 interface (and LKS register) definitions 2016-09-26 12:36:36 -07:00
Jeff
4b4098a5c9 Cleaned up ACCESS defines 2016-09-26 11:57:21 -07:00
Jeff
1ec60573d5 Implemented opJSR, removed more "negative address" tests (eg, in pushWord); bad addresses should result in special exceptions, not negative return values 2016-09-26 09:43:05 -07:00
Jeff
a451bbc5bc Added another example of an I/O address handler (XCSR) 2016-09-25 15:15:06 -07:00
Jeff
da617d454d Laid groundwork for MMU-specific functions, to avoid address mapping work when unnecessary 2016-09-25 12:12:26 -07:00
Jeff
56c305ca64 Added more register documentation 2016-09-24 21:32:00 -07:00
Jeff
c9647a859d Link to Google's Closure Compiler ES6 wiki: https://github.com/google/closure-compiler/wiki/ECMAScript6 2016-09-24 16:45:55 -07:00
Jeff
63b0c9c02c Started centralizing the set of UNIBUS addresses, and adopted my first ES6 feature: octal constants (not the old-fashioned unofficial leading-zero kind, but the new "0o" kind); I will still use hex instead of octal whenever I can, but UNIBUS addresses are ALWAYS documented as octal, so I'm giving in.... 2016-09-24 16:44:42 -07:00
Jeff
b28166f493 Updated Closure Compiler to v20160911, so now we have a version that supports ECMAScript 6, but I'm not going to go bonkers on ES6 features just yet; the first feature I'm going to use is support for octal and binary constants (of the form 0onnnn and 0bnnnn) 2016-09-24 16:03:57 -07:00
Jeff
f82d6f1bfa Assorted improvements to new opcode decoders 2016-09-24 15:12:02 -07:00
Jeff
b5a7525ad2 Fixed some sloppy coding (my bad) 2016-09-23 13:45:01 -07:00
Jeff
9d045008a3 More decoding functions 2016-09-23 13:16:12 -07:00
Jeff
7f0b6a091d Started work on new decoding functions 2016-09-22 18:47:32 -07:00
Jeff
a13bb9348a Bus-related defines moved to the Bus component 2016-09-22 08:21:28 -07:00
Jeff Parsons
614fc11aca Restored support for custom memory controllers in the PDP11 emulator (to be used for UNIBUS I/O) 2016-09-20 11:19:42 -07:00
Jeff Parsons
1df54a338f Assorted PDP-11 debugger changes 2016-09-19 16:30:08 -07:00
Jeff Parsons
cc70c05c07 More PDP-11 debugger work 2016-09-17 18:16:58 -07:00
Jeff Parsons
483d247491 Minor annotation and name changes; the PDP11 emulator "branded" as PDP11js now, since PDP11 is too generic 2016-09-06 10:06:08 -07:00
Jeff Parsons
100779e30a First batch of pdp11.js code adapted but totally untested 2016-09-05 11:05:40 -07:00
Jeff Parsons
4b778b281d Groundwork for a PDP-11 emulator (starting with a gutted copy of PC8080) 2016-09-03 17:43:06 -07:00