Commit graph pcjs/modules/pdp11/lib/bus.js
Author SHA1 Message Date
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
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
58d358b51e Switching to new interrupt triggers 2016-10-12 16:40:47 -07:00
Jeff Parsons
8315774b1d Implemented a fallback fix for UNIBUS addresses where a byte write is expected to modify the entire word 2016-10-11 16:08:32 -07:00
Jeff Parsons
05626a33cb Version number update 2016-10-10 18:19:17 -07:00
Jeff Parsons
ef2420f585 Handled BYTE register accesses in the IOPAGE more consistently 2016-10-10 18:16:36 -07:00
Jeff Parsons
6514836098 Cleaned up how memory and IOPAGE traps are triggered, how ODD byte-level IOPAGE accesses are handled, and how memory is dumped by the Debugger 2016-10-10 17:09:29 -07:00
Jeff Parsons
ae4fbeb489 Improved IOPAGE management 2016-10-08 11:09:14 -07:00
Jeff Parsons
0ee3a091b4 More device refactoring 2016-10-07 17:37:13 -07:00
Jeff
e24d507aa2 Removed useless version numbers and dates from .js file headers 2016-10-06 16:22:24 -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
ebfcd5133b PDP-11 console output works (first baby step) 2016-10-04 15:24:22 -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
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
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
da617d454d Laid groundwork for MMU-specific functions, to avoid address mapping work when unnecessary 2016-09-25 12:12:26 -07:00
Jeff
a13bb9348a Bus-related defines moved to the Bus component 2016-09-22 08:21:28 -07:00
Jeff
122ca78fd5 Internal PSW getter/setter are now getPSW/setPSW 2016-09-22 08:03:43 -07:00
Jeff
0e38c6dbc7 Changed the primary means updating the PSW to setPSW(), and put some handcuffs on writePSW() 2016-09-21 19:02:36 -07:00
Jeff
7b3a2cb676 Migrated old PDP11 IOPAGE code to Device component 2016-09-21 16:00:40 -07:00
Jeff
52665168a9 Fixed I/O handler parameter order 2016-09-21 12:48:05 -07:00
Jeff
dfe367f53d New improved I/O handler functions for the PDP-11 2016-09-21 12:44:25 -07:00
Jeff Parsons
1c9ea6445b New PDP11 Device component can now register read/write handlers for selected I/O addresses 2016-09-20 14:53:09 -07:00