Commit graph

1,686 commits

Author SHA1 Message Date
Jeff Parsons
0f4cbd6e7b Added my first PDP-11 add-on device component (PC11) 2016-10-15 16:32:59 -07:00
Jeff Parsons
b79146880d Debugger now restricts opcodes to the current CPU model 2016-10-15 15:01:39 -07:00
Jeff Parsons
2ce661e141 Refer to all 11/45+ instructions as 11/45, rather than 11/70, since the 11/70 doesn't appear to have added any instructions to the 11/45's set 2016-10-15 13:34:02 -07:00
Jeff Parsons
1e080e720e Debugger now actually prevents an undefined opcode from executing (until/unless you single-step it) 2016-10-15 11:59:48 -07:00
Jeff Parsons
c14f919f4f Debugger now stops on undefined opcodes, as well as on unknown I/O accesses 2016-10-15 11:32:51 -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
342746f2bc Added a PDP-11 "server array" test page 2016-10-14 11:06:33 -07:00
Jeff Parsons
a0f7b85bdd Removed an HTML template hack (should only affect the Node environment) 2016-10-14 09:41: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
d68d1aa9bc README updates 2016-10-13 16:47:30 -07:00
Jeff Parsons
b3c7d4e361 Added current speed control to PDP-11 control panels 2016-10-13 16:39:40 -07:00
Jeff Parsons
854b40c419 Cleaned up PDP-11/70 configs 2016-10-13 16:35:10 -07:00
Jeff Parsons
2a1be67727 In the spirit of the PCx86 Debugger, the PDP11 Debugger can now distinguish between virtual and physical addresses; physical addresses are specified with a leading '%'; this necessitated special CPU memory interfaces that mirror the Bus memory interfaces, which perform mapVirtualToPhysical() as needed, with traps disabled. 2016-10-13 13:11:11 -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
8bb978d7a9 Resolved a problem with the original timer implementation, where a call to setTimer() made in the middle of a CPU burst would not properly account for cycles already executed as part of the current burst 2016-10-12 22:08:45 -07:00
Jeff Parsons
58d358b51e Switching to new interrupt triggers 2016-10-12 16:40:47 -07:00
Jeff Parsons
8315774b1d Implemented a fallback fix for UNIBUS addresses where a byte write is expected to modify the entire word 2016-10-11 16:08:32 -07:00
Jeff Parsons
30e67a015b Fixed some idiosyncrasies involving the versioned folder names for the various emulators. Any compiled pdp*.js script (eg, pdp11.js) will be stored in the /versions/pdpjs folder, just as any compiled c1p*.js script will be stored in the /versions/c1pjs folder. Other emulators that don't use a "js" suffix in their name (eg, PCx86 and PC8080) are stored in /versions folders that mirror their names. 2016-10-11 12:19:54 -07:00
Jeff Parsons
4567e9f6c6 Changed both PDP-11 test machines to use the new LED control panel 2016-10-11 11:42:18 -07:00
Jeff Parsons
4c63c8a97f Quick change (perhaps temporary) to update LEDs on every WAIT transition (similar to the behavior of the original pdp11.js) 2016-10-11 10:47:09 -07:00
Jeff Parsons
eac2f56296 Provided clearer separation between LED triplets 2016-10-11 10:28:37 -07:00
Jeff Parsons
47767416a1 Added preliminary LED support 2016-10-11 10:20:39 -07:00
Jeff Parsons
05626a33cb Version number update 2016-10-10 18:19:17 -07:00
Jeff Parsons
ef2420f585 Handled BYTE register accesses in the IOPAGE more consistently 2016-10-10 18:16:36 -07:00
Jeff Parsons
6514836098 Cleaned up how memory and IOPAGE traps are triggered, how ODD byte-level IOPAGE accesses are handled, and how memory is dumped by the Debugger 2016-10-10 17:09:29 -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 Parsons
cd8b6464a3 Added more MMU handlers 2016-10-07 10:58:15 -07:00
Jeff Parsons
c69ebb7bcb Factored out mapVirtualToPhysical() calls when MMU not enabled, and fixed HALT (it actually halts the CPU now) 2016-10-07 09:49:02 -07:00
Jeff
e24d507aa2 Removed useless version numbers and dates from .js file headers 2016-10-06 16:22:24 -07:00
Jeff
117fe65359 Picked up minor gh-pages changes 2016-10-06 14:40:58 -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
f7659f9f34 Commencing work on v1.30.1 2016-10-06 12:48:48 -07:00
Jeff
4e8d4e95d8 Picked up fixes from the gh-pages rollout 2016-10-06 10:09:41 -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
321f089f76 Updated PDP-11 READMEs 2016-10-05 16:55:26 -07:00
Jeff
bdc736c5f3 Added support for a PDP-11 connected to a VT100 2016-10-05 16:46:09 -07:00
Jeff
85b05ac7a9 Typos 2016-10-05 16:18:30 -07:00
Jeff
8532b011f8 PDP-11 console (TTY) input/output working now 2016-10-05 13:46:44 -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
489a28923c Start the Debugger with reasonable default addresses 2016-10-04 14:06:51 -07:00
Jeff
d90d10ea52 Moved PDP-11 console I/O to SerialPort component 2016-10-04 14:02:39 -07:00
Jeff
7923529aee Improved debugger messages for bus and memory accesses 2016-10-04 10:45:18 -07:00
Jeff
8a78eb7d6b No more MAX_ADDRESS hacks for "fake" register addresses 2016-10-03 17:14:05 -07:00
Jeff
fc48982d4c SRC operands must be fetched before DST operands (continued) 2016-10-03 16:57:15 -07:00
Jeff
a254abc7dc SRC operands must be fetched before DST operands 2016-10-03 16:50:39 -07:00
Jeff
9dd582eda8 Fixed PDP-11 Debugger display of alternate target addresses 2016-10-03 15:45:05 -07:00
Jeff
bdc946a62d Fixed some cycle calculation problems involving src and dst decoding (eg, when the dst operand is only being read, not written) 2016-10-03 15:31:01 -07:00