Commit graph pcjs/versions
Author SHA1 Message Date
Jeff Parsons
f88a2a2ae8 Minor website tweaks 2016-10-22 10:16:29 -07:00
Jeff Parsons
74aa27b1da Merge branch 'master' into gh-pages 2016-10-22 09:32:18 -07:00
Jeff Parsons
d7e25a5817 Merge branch 'next-release' 2016-10-22 09:31:51 -07:00
Jeff Parsons
f7f9de1e36 Creating a top-level Software link to both the Apps and Disks collections 2016-10-22 09:31:26 -07:00
Jeff Parsons
27c7d97ec0 Merge branch 'master' into gh-pages 2016-10-21 23:25:06 -07:00
Jeff Parsons
ae4a03f366 Merge branch 'next-release' 2016-10-21 23:24:46 -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
07957044e3 Merge branch 'master' into gh-pages 2016-10-21 22:47:17 -07:00
Jeff Parsons
baac8d4ea8 Merge branch 'next-release' 2016-10-21 22:43:18 -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
5f05913036 Fixed fault generation on invalid memory accesses; PDP-11 BASIC now starts up! 2016-10-21 17:06:41 -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
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
21d91cbcfa Fixed the components.xsl for PDPjs machines, and added more instructions, resource links, etc, for the PDP-11 demo machines 2016-10-20 15:16:22 -07:00
Jeff Parsons
5e9891292c Added progress bar control (for the PC11 paper tape reader) 2016-10-19 14:16:14 -07:00
Jeff Parsons
bff199ee7f Fixed the PC11 component to deliver bytes at (roughly) the same rate as a physical "high speed" paper tape reader would (TODO: Add a paper tape status display) 2016-10-19 11:31:43 -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
69b7a682d8 Added code to parse tape data and load it directly into memory if the LOAD button is used instead of the ATTACH button 2016-10-18 20:53:26 -07:00
Jeff Parsons
6c4f8f4bb3 Code in place for parsing tape data when "load" (as opposed to "attach") is requested 2016-10-18 16:53:20 -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
6683c81299 Created dedicated getOpcode() function, replaced getPCWord() 2016-10-18 10:50:05 -07:00
Jeff Parsons
599228db46 Assorted PC11 tape loading fixes 2016-10-18 10:30:34 -07:00
Jeff Parsons
961dce8f78 Added PC11 support for loading tapes remotely 2016-10-17 18:22:42 -07:00
Jeff Parsons
ed24094683 Lots of tweaks in advance of PDPjs support for loading tape files 2016-10-17 15:19:01 -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
b750bcca69 Merge branch 'master' into gh-pages 2016-10-15 18:00:54 -07:00
Jeff Parsons
c54a27e2e5 Merge branch 'next-release' 2016-10-15 17:55:46 -07:00
Jeff Parsons
e44bd4acec Register PC11 I/O handlers 2016-10-15 17:55:16 -07:00
Jeff Parsons
0f4cbd6e7b Added my first PDP-11 add-on device component (PC11) 2016-10-15 16:32:59 -07:00
Jeff Parsons
b79146880d Debugger now restricts opcodes to the current CPU model 2016-10-15 15:01:39 -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
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
8bb978d7a9 Resolved a problem with the original timer implementation, where a call to setTimer() made in the middle of a CPU burst would not properly account for cycles already executed as part of the current burst 2016-10-12 22:08:45 -07:00
Jeff Parsons
58d358b51e Switching to new interrupt triggers 2016-10-12 16:40:47 -07:00
Jeff Parsons
30e67a015b Fixed some idiosyncrasies involving the versioned folder names for the various emulators. Any compiled pdp*.js script (eg, pdp11.js) will be stored in the /versions/pdpjs folder, just as any compiled c1p*.js script will be stored in the /versions/c1pjs folder. Other emulators that don't use a "js" suffix in their name (eg, PCx86 and PC8080) are stored in /versions folders that mirror their names. 2016-10-11 12:19:54 -07:00
Jeff Parsons
47767416a1 Added preliminary LED support 2016-10-11 10:20:39 -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 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
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
f7659f9f34 Commencing work on v1.30.1 2016-10-06 12:48:48 -07:00
Jeff Parsons
4ba76449b2 Merge branch 'next-release' 2016-10-06 10:10:10 -07:00