Commit graph pcjs/modules/pdp11/lib/cpustate.js
Author SHA1 Message Date
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
Jeff Parsons
13a1dedbc7 Supoprt for tape images in the Absolute Loader format has been moved to the RAM component, so that those images can be preloaded into RAM in the same way that raw bootstrap images can; the RAM component now provides Absolute Loader image parsing as a service to other components that need it (specifically, the PC11 tape reader) 2016-10-19 11:10:38 -07:00
Jeff Parsons
6683c81299 Created dedicated getOpcode() function, replaced getPCWord() 2016-10-18 10:50:05 -07:00
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
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
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