Commit graph pcjs/modules
Author SHA1 Message Date
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
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
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
Jeff
8a78eb7d6b No more MAX_ADDRESS hacks for "fake" register addresses 2016-10-03 17:14:05 -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
9dd582eda8 Fixed PDP-11 Debugger display of alternate target addresses 2016-10-03 15:45:05 -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
07ee5497bc Added some polyfills for old browsers 2016-10-01 14:37:02 -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
a731313215 Updated default PDP-11 speed 2016-09-29 22:43:55 -07:00
Jeff
1d395b7bd5 Added some comments on cycle times 2016-09-29 15:36:34 -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
98081c6a6d Allow the PDP-11 debugger to use parentheses for sub-expressions 2016-09-29 09:38:17 -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
c7dbfc02be Fixed CPU start/stop control; runCPU is now strictly a worker function, not a control interface (PDP-11 only; other CPUs still need to be updated to match) 2016-09-28 22:21:52 -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
eb5aaa5d66 Strip leading zeros from selected debugger constants (typically immediate values) 2016-09-27 12:53:36 -07:00
Jeff
15fe831fc7 Sanpshot the bootcode used for initial PDP-11 testing 2016-09-27 11:40:47 -07:00
Jeff
9727a2d4df Across-the-board debugger fix 2016-09-27 09:34:56 -07:00
Jeff
e322c5f912 Implemented INC/DEC opcodes 2016-09-27 09:28:52 -07:00
Jeff
b2294e2293 Use CPU timer functions (instead of browser timeout/interval functions) to control device interrupts/timeouts 2016-09-26 20:34:31 -07:00
Jeff
3497466113 Cleaned up interrupt handling, register initialization, MMU initialization, etc 2016-09-26 16:53:37 -07:00
Jeff
1e1388b9ca Added KW11 interface (and LKS register) definitions 2016-09-26 12:36:36 -07:00
Jeff
4b4098a5c9 Cleaned up ACCESS defines 2016-09-26 11:57:21 -07:00
Jeff
6af956b8f0 Implemented branches and RTS 2016-09-26 11:27:32 -07:00
Jeff
5b25dc91ae Let's stop on any un(re)implemented opcode for now 2016-09-26 10:02:21 -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
a4613082f8 Converted all "short" references to "word", since word meant 16-bit in the PDP-11 world, and no one said short back then 2016-09-26 08:53:35 -07:00
Jeff
a451bbc5bc Added another example of an I/O address handler (XCSR) 2016-09-25 15:15:06 -07:00
Jeff
da617d454d Laid groundwork for MMU-specific functions, to avoid address mapping work when unnecessary 2016-09-25 12:12:26 -07:00
Jeff
56c305ca64 Added more register documentation 2016-09-24 21:32:00 -07:00