Commit graph pcjs/modules/pdp11/lib/bus.js
Author SHA1 Message Date
Jeff Parsons
ec438be5c9 Fixed old, longstanding, and surprisingly bad bug in cleanMemory() for all machine implementations 2017-07-12 21:02:30 -07:00
Jeff
9ac0ffe679 Perform the documented encoding of SIXBIT character data for MACRO-10 2017-03-12 11:56:15 -07:00
Jeff Parsons
ba7de38fbf Created PDP-10 skeleton 2017-02-19 15:22:58 -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
6f83ee8beb Fixed the autoStart state of the PDP-11 test machine used for resume testing 2017-01-25 20:59:27 -08:00
Jeff Parsons
94fd473b0a Tidied up some status messages 2017-01-25 14:18:19 -08:00
Jeff Parsons
b5d6afd210 Protect all Node-specific code with NODE checks 2017-01-02 15:16:18 -08:00
Jeff Parsons
ee45dbd8cf Started working on save/restore support for the PDP-11; still a lot of state left to capture, but the basics seem to be working 2016-12-31 16:07:33 -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
f1bb1487e4 More documentation corrections 2016-12-22 09:57:16 -08:00
Jeff Parsons
415cc9a810 More documentation 2016-12-22 09:51:32 -08:00
Jeff Parsons
a03f076355 Fixed assorted inspection errors 2016-12-21 17:37:01 -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
ba8771adf1 Added some RK11 fixes for the 11/70 CPU EXERCISER, and some Debugger improvements for dumping address info ("da") 2016-12-08 17:05:03 -08:00
Jeff Parsons
66ffe17659 Fixed some breakpoint issues, and honored the RK11 IBA bit 2016-12-06 10:47:36 -08:00
Jeff Parsons
9746891780 Debugger commands work with known IOPAGE symbols now 2016-12-05 15:38:46 -08:00
Jeff Parsons
dba6d1cfae Read/write breakpoints should work on IOPAGE addresses now, and the Debugger's disassembler now has a Bus interface it can use to get symbolic information about known IOPAGE addresses 2016-12-05 13:39:25 -08:00
Jeff Parsons
a248b177fd Eliminated the NO_FLAGS hack, which was doubly-annoying because its sole purpose was to prevent writes to ONE address -- the PSW -- from modifying any flags; the proper solution is to simply ensure that all flag updates occur before the destination is written 2016-12-01 21:12:18 -08:00
Jeff Parsons
6bea7fd0e9 Added SerialPort interface to support the passing of flow control signals between machines (only PDP-11 and VT100 for now; PCx86 will come later, after I study how well, or not-so-well, this works with the VT100) 2016-12-01 11:15:27 -08:00
Jeff Parsons
cacff66983 Lots of memory interface cleanup; still can't boot RSTS/E though.... 2016-11-29 14:48:26 -08:00
Jeff Parsons
a5a40ebab4 The PDP-11 Bus component now maintains separate memory maps: one fixed for all Bus (direct) accesses, and another that can vary based on current MMU settings 2016-11-28 14:32:46 -08:00
Jeff Parsons
375146f6bb Hacked the Bus component to permit devices to access the actual memory map (better solution will be maintain two separate maps: one for the CPU and a separate map for device access) 2016-11-28 13:27:06 -08:00
Jeff Parsons
708869815d Fixed DL11 for RT-11, and added more message capabilities 2016-11-22 16:54:45 -08:00
Jeff
e930ac57d7 A minor correction, and removal of dead code 2016-11-19 11:38:33 -08:00
Jeff
861d78e6d2 Added support for address-specific message categories in I/O tables 2016-11-17 17:47:57 -08:00
Jeff
9148cec085 Added MMU dump command ("d mmu [filter]"), fixed byte updates of PDRs, masked 18-bit UNIBUS addresses when UNIBUS relocation map not enabled, and fixed reads of MMR0 when ABORT bits are set 2016-11-17 13:22:25 -08:00
Jeff
5bc0c8cca9 Simplified the I/O registration function, added support for Panel debugger messages, and added some new Panel behavior on the RESET instruction 2016-11-15 10:05:25 -08:00
Jeff
9bc4f81eda Added more PDP-11 diagnostic tapes 2016-11-13 17:44:28 -08:00
Jeff
17816f6fcc Fixed bug in writeDstWord() that was updating flags with negative data (and sadly, none of DEC's basic tests caught it) 2016-11-13 11:34:59 -08:00
Jeff
bdb06e458f Fixed TRAP TEST diagnostic that expected a stack overflow trap to be acknowledged immediately after a hardware interrupt was dispatched 2016-11-11 14:56:01 -08:00
Jeff
db63c30c1e Made some progress with DEC's "TRAP TEST", but looks like it still needs some work 2016-11-10 15:51:47 -08:00
Jeff
eb3b38a5ad Fixed XXDP disk boot (haven't tried any tests yet, but it's still good progress) 2016-11-07 17:20:53 -08:00
Jeff
8188554875 Fixed the fallback logic for IOPAGE ranges where only byte handlers exist (ie, the readROMByte() case) 2016-11-06 09:48:12 -08:00
Jeff
c67176eab0 Added the ability to install external ROMs (eg, M9312 ROM images) into the IOPAGE 2016-11-05 12:01:56 -07:00
Jeff
0cf11c0b01 Fixed the memory clear "toggle-in", by returning the correct amount of installed RAM, and passing properly masked addresses to all the I/O handlers 2016-11-04 17:09:50 -07:00
Jeff
3b88e4c53c Memory can now be explicitly "zeroed" with any byte pattern (but the default is still zero); note that memory blocks are still always zero-initialized when first created 2016-11-03 15:50:19 -07:00
Jeff
97de321daa Fixed zeroMemory() to properly zero any block(s) that originally underlaid the IOPAGE block(s), rather than trying to zero the IOPAGE block itself (which would be a bad idea) 2016-11-03 15:36:37 -07:00
Jeff
d67e848973 Changed 11/70 machines to allocate RAM as a single chunk, and updated the 11/70 page on toggle-ins (/devices/pdp11/machine/1170/panel/debugger/README.md) 2016-11-03 14:42:35 -07:00
Jeff
0afab359ad The memory management toggle-in passes (see /devices/pdp11/machine/1170/panel/debugger) 2016-11-02 21:20:04 -07:00
Jeff
d5c7bf0b5d More Front Panel improvements 2016-11-02 13:35:50 -07:00
Jeff
daefc2992c Attempted to clean up mapUnibus() and bus-related faults; how well or ill-advised these changes are remains to be seen 2016-10-31 12:44:29 -07:00
Jeff
96ad4ec37e Lots of work to try to bring the new RL11 component up to snuff 2016-10-29 11:32:31 -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
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
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