Commit graph pcjs/modules/pdp11/lib/cpustate.js
Author SHA1 Message Date
Jeff Parsons
a06a4c9324 Fixed RL11 disk memory access (addresses are always mapped, apparently) 2016-11-29 17:10:37 -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
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
559a7eb8fa All but one attempted diagnostic test (EKBBF0 TEST 63) passes now 2016-11-26 13:25:15 -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
7f48221bca Fixed TEST 40 in diagnostic EKBBF0 by including address 177776 in the RED stack overflow range 2016-11-24 09:14:01 -08:00
Jeff Parsons
708869815d Fixed DL11 for RT-11, and added more message capabilities 2016-11-22 16:54:45 -08:00
Jeff Parsons
f70f1f3d97 Isolated some PDP-11/20-specific behavior to that model 2016-11-21 09:42:20 -08:00
Jeff Parsons
48047c4a60 Fixed the evaluation of register operands for the XOR opcode (this slipped through the cracks, since it doesn't use readSrcWord()) 2016-11-20 13:45:08 -08:00
Jeff Parsons
b98a31c7b8 Converted previous notes to a TODO 2016-11-19 17:13:04 -08:00
Jeff Parsons
a6689e1458 Added notes on the question of whether addressing mode 5 (auto-decrement deferred) can trigger a stack overflow on any PDP-11 model 2016-11-19 17:08:43 -08:00
Jeff Parsons
687439e57e More cleanup of RED stack overflow handling 2016-11-19 16:42:52 -08:00
Jeff
0493daef10 Added some more information about one of the stranger EKBEE1 tests (TEST 122: KT BEND) 2016-11-19 11:32:42 -08:00
Jeff
f1c0dce8ab Cleaned up checkStackLimit() processing, fixing some problems along the way (most notably, mode 6 references were not being checked) 2016-11-18 20:27:42 -08:00
Jeff
4f912a56c5 The PDP-11 EKBEE1 diagnostic finally passes (on a 256Kb PDP-11/70 configuration at least) 2016-11-18 10:43:10 -08:00
Jeff
60970617ce Another PDP-11 EKBEE1 diagnostic failure bites the dust 2016-11-18 09:38:50 -08:00
Jeff
7088a185fd Fixed a few more MMU bugs uncovered by the EKBEE1 diagnostics; the end is in sight 2016-11-17 23:51:30 -08:00
Jeff
861d78e6d2 Added support for address-specific message categories in I/O tables 2016-11-17 17:47:57 -08:00
Jeff
05c2f0ebfe Fixed a double-trap MMU bug (both src and dst operands triggered a trap, but since the latter was an abort, the former needed to be ignored) 2016-11-17 16:21:13 -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
2b23c86649 Debugger improvements (dumping/setting MMU registers) 2016-11-16 17:44:52 -08:00
Jeff
00d6fb6c59 Allow pasted text in the virtual SerialPort window to be processed as received data, and tidy up the MMR0 updates 2016-11-16 13:54:10 -08:00
Jeff
9d67f243ef Fixed MMR1/MMR2 updates, and synced boot monitor code with http://skn.noip.me/pdp11/boot.mac 2016-11-15 16:16:38 -08:00
Jeff
7342ea254e Apparently, 248Kb 11/70 configurations are not normal (diagnostic EKBEE1 complains), so all those machine configs have been bumped to 256Kb 2016-11-15 10:38:43 -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
0370b81a69 Leave the DATA display register alone on the 11/70 (making it more diagnostic-friendly) 2016-11-14 15:27:55 -08:00
Jeff
0607d65b70 Fixed RTI on older PDP-11s (ie, 11/20); the old RTI behaves like the new RTT, which did not exist on older machines 2016-11-13 21:17:46 -08:00
Jeff
d533ae69aa Fixed a hardware interrupt signalling check in MAINDEC Test #15 2016-11-13 19:08:00 -08:00
Jeff
85163fe823 Updated comments in readSrcWord() 2016-11-13 11:50:07 -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
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
b87c77b0a0 Factored trap checks into separate function: checkTraps() 2016-11-11 15:49:37 -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
eb6bf8a5a5 Fixed ASRB and RORB instructions, added a new dump command ("ds"), and fixed timer function initialization 2016-11-10 06:10:54 -08:00
Jeff
595c40e446 Cleaned up the Front Panel address and data interfaces so that BOOTMON's "LIGHTS" test works as expected now 2016-11-09 12:46:03 -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
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
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
caf0a728f8 More PDP-11 front panel functionality 2016-11-01 19:02:06 -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
04be27b47b Added some RL11 register definitions 2016-10-25 14:40:33 -07: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
89dc2660f1 Added more PDP-11 paper tape resources 2016-10-22 21:57:45 -07:00
Jeff Parsons
49b5e34ba2 Remove all debugger.js files when running uncompiled without the Debugger, and some PDP-11 layout fixes 2016-10-22 01:36:45 -07:00
Jeff Parsons
35f931f492 Fixed stepCPU() so that, if a Debugger is present, it always calls checkInstruction() on at least the first instruction of a run, so that Debugger features like skipping over an initial HALT opcode works properly 2016-10-21 23:24:27 -07:00
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
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
aa2a25c5ec Minor Debugger improvements, notes, etc, while debugging the PDP-11 BASIC 2016-10-20 22:56:29 -07:00