Commit graph pcjs/modules/pdp11/lib/cpuops.js
Author SHA1 Message Date
Jeff
57bceb4da9 Fixed the LED (lamp) test, fixed Front Panel update on a machine RESET, and cleaned up the status update code a bit 2016-11-03 10:28:54 -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 Parsons
89dc2660f1 Added more PDP-11 paper tape resources 2016-10-22 21:57:45 -07:00
Jeff Parsons
22e24697fe Fixed read/write breakpoints for instructions that snapshot the cycle count, and improved the disassembly of PC-relative operands 2016-10-21 13:45:01 -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
16b8b59f12 PDP-11/20 test machine can load BASIC from paper tape, but still has some trouble running it 2016-10-18 15:44:26 -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
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
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
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
05626a33cb Version number update 2016-10-10 18:19:17 -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
795d57839b Cleaned up the decoding SRCMODE and DSTMODE operands, should be less confusing now 2016-10-04 17:22:25 -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
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
Jeff
2a065f4efc First stab at PDP-11 cycle times (11/70 to be precise) is more or less complete now 2016-10-03 14:27:14 -07:00
Jeff
0b78b2885e Fixed MOV cycle calculation 2016-09-30 15:43:00 -07:00
Jeff
0e0dcb29ec Added some PDP-11 opcodes I missed (JMP and SWAB) 2016-09-30 15:27:53 -07:00
Jeff
af6b66d2a3 Laying the groundwork for an attempt at PDP-11 cycle counting (it won't be exact, but it should be close) 2016-09-30 12:00:07 -07:00
Jeff
98d3700fa4 Cleaned up OPFLAG handling 2016-09-29 14:02:37 -07:00
Jeff
b3ba03d0a5 Got rid of runState, implemented a solution for WAIT 2016-09-29 11:04:33 -07:00
Jeff
44a2ec9f03 Fixed Debugger memory editing and register handling, tidied up some flag operations, and removed more now-unnecessary address checks in cpustate 2016-09-29 09:11:25 -07:00
Jeff
c858fd0699 Codify reasons for assorted traps 2016-09-28 15:35:22 -07:00
Jeff
0ad98dc68b All PDP-11 opcode decoders implemented now 2016-09-28 13:45:36 -07:00
Jeff
ed189527d0 Optimized branch() 2016-09-27 21:51:24 -07:00
Jeff
b2c66b5374 Implemented more opcode decoders 2016-09-27 16:21:55 -07:00
Jeff
e322c5f912 Implemented INC/DEC opcodes 2016-09-27 09:28:52 -07:00
Jeff
6af956b8f0 Implemented branches and RTS 2016-09-26 11:27:32 -07:00
Jeff
1ec60573d5 Implemented opJSR, removed more "negative address" tests (eg, in pushWord); bad addresses should result in special exceptions, not negative return values 2016-09-26 09:43:05 -07:00
Jeff
a451bbc5bc Added another example of an I/O address handler (XCSR) 2016-09-25 15:15:06 -07:00
Jeff
f82d6f1bfa Assorted improvements to new opcode decoders 2016-09-24 15:12:02 -07:00
Jeff
a7148a6eb3 Finished creating the new PDP-11 decoding skeleton 2016-09-23 17:59:18 -07:00
Jeff
b5a7525ad2 Fixed some sloppy coding (my bad) 2016-09-23 13:45:01 -07:00
Jeff
9d045008a3 More decoding functions 2016-09-23 13:16:12 -07:00
Jeff
7f0b6a091d Started work on new decoding functions 2016-09-22 18:47:32 -07:00
Jeff Parsons
100779e30a First batch of pdp11.js code adapted but totally untested 2016-09-05 11:05:40 -07:00
Jeff Parsons
4b778b281d Groundwork for a PDP-11 emulator (starting with a gutted copy of PC8080) 2016-09-03 17:43:06 -07:00