Commit graph

1,691 commits

Author SHA1 Message Date
Jeff Parsons
980c2ac5ab Updated PC8080 and PDPjs to support RAM images, eliminating the need for the old "writable ROM" kludge; RAM images can include their own load and exec addresses as part of the JSON file, but the RAM component can provide explicit overrides (if no load address is specified either way, the default load address is the starting RAM address) 2016-10-17 11:01:32 -07:00
Jeff Parsons
4cfaa5ef6e Picked up the fixes from the Jekyll smoke test 2016-10-15 18:19:23 -07:00
Jeff Parsons
e44bd4acec Register PC11 I/O handlers 2016-10-15 17:55:16 -07:00
Jeff Parsons
d928bef562 Register PC11 I/O handlers 2016-10-15 17:54:45 -07:00
Jeff Parsons
6bec38acb4 Updated READMEs 2016-10-15 17:13:43 -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
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