Commit graph pcjs/modules/shared
Author SHA1 Message Date
Jeff Parsons
b1d16c979a Removed obsolete version of Int36 (using signed integers internally); sticking with unsigned integers internally not only simplifies some of the existing logic, but will make it easier to add logical operations later (eg, AND, OR, XOR, etc) 2017-02-18 09:36:47 -08:00
Jeff Parsons
acdf89ec54 Make Int36 toDecimal() more paranoid (we want perfect output, or no output at all) 2017-02-18 09:28:43 -08:00
Jeff Parsons
c1ab8918bd Make Int36 toDecimal() more paranoid (we want perfect output, or no output at all) 2017-02-18 09:23:45 -08:00
Jeff Parsons
7770a6bffe Added an "early out" for Int36 division 2017-02-18 09:17:08 -08:00
Jeff Parsons
3f65a1b770 Simplify Int36 bit handling (only affects division) 2017-02-18 08:50:24 -08:00
Jeff Parsons
55bb0252b7 Be more specific about detected errors 2017-02-17 13:38:34 -08:00
Jeff Parsons
cff039f6a5 Added the reduce() function, to reduce 72-bit extended values to 36-bit values, magnitude permitting 2017-02-17 13:31:17 -08:00
Jeff Parsons
689adca2a7 Comment updates 2017-02-17 12:15:48 -08:00
Jeff Parsons
688fa635c8 Clarified the operation of negate(), added an explicit extend(), and made toDecimal() more robust (in case we end up with goofy values) 2017-02-17 11:52:36 -08:00
Jeff Parsons
80756041f3 Int36.toDecimal() now supports any value up to 72 bits 2017-02-16 15:58:50 -08:00
Jeff Parsons
4de50acdf1 Added alternate Int36 addition/subtraction overflow/underflow detection logic as a verification check 2017-02-16 14:05:05 -08:00
Jeff Parsons
048a10aac6 Fixed toDecimal() for large extended Int36 values (although there are still some very large values that trigger an error) 2017-02-15 23:43:23 -08:00
Jeff Parsons
4d94b5812b Cleaned up divExtended() 2017-02-15 22:27:03 -08:00
Jeff Parsons
40311e82b2 Added Int36 overflow/underflow detection 2017-02-15 22:20:07 -08:00
Jeff Parsons
798fae1898 Updated Int36 comments 2017-02-15 16:35:15 -08:00
Jeff Parsons
6bc0d8ac49 Trying a second approach to the Int36 class that sticks to unsigned numbers internally (only downside so far is that the detecting arithmetic overflow/underflow is more work and hasn't been implemented yet) 2017-02-15 16:16:32 -08:00
Jeff Parsons
259dd7d66f Updated comments 2017-02-15 11:54:16 -08:00
Jeff Parsons
3a33ffdd50 A few more toDecimal() fixes 2017-02-14 17:55:41 -08:00
Jeff Parsons
656f7e6796 Numerous fixes to Int36 class, with improved support for 72-bit mul(), div(), and toString()/toDecimal() 2017-02-14 13:12:27 -08:00
Jeff Parsons
7131e471ac Implemented 36-bit division with support for (up to) 72-bit dividends 2017-02-13 14:04:00 -08:00
Jeff Parsons
a0ddaa2239 Implemented 36-bit multiplication with support for (up to) 72-bit results 2017-02-13 11:55:29 -08:00
Jeff Parsons
f03a5686e5 Implemented 36-bit multiplication with support for (up to) 72-bit results 2017-02-13 11:46:58 -08:00
Jeff Parsons
bfab39cf5a Skeleton of an Int36 class that may be used to support 36-bit integers in a PDP-10 simulation 2017-02-12 11:21:49 -08:00
Jeff Parsons
b25c2dbdb7 Fixed a variety of broken links 2017-02-08 20:33:13 -08:00
Jeff Parsons
d23ae82679 Prevent new scripts from interrupting scripts in progress 2017-02-08 09:25:09 -08:00
Jeff Parsons
d190bc0c9c Added support for "clickOnce" script controls 2017-02-07 17:57:02 -08:00
Jeff Parsons
54a7fb5119 More documentation 2017-02-07 13:27:16 -08:00
Jeff Parsons
63c64843a7 Log script commands to the browser console 2017-02-07 12:41:31 -08:00
Jeff Parsons
16a78693e8 More scripting fixes 2017-02-06 17:37:12 -08:00
Jeff Parsons
2e93b71095 PDP-11 panel switches can now be scripted 2017-02-06 13:07:15 -08:00
Jeff Parsons
112c0e88c6 Scriptable machine improvements (including support for sleep) 2017-02-06 12:03:20 -08:00
Jeff Parsons
033f0bf212 The first PDPjs script is operational (see /devices/pdp11/machine/1170/panel/debugger/xxdp) 2017-02-05 13:49:30 -08:00
Jeff Parsons
cacc2f7dad Support for RX11 diskette drives has been added, but is still untested 2017-02-02 15:14:13 -08:00
Jeff Parsons
8f0b808b1e Switching to machine XML files that use a machine 'type' attribute rather than 'class'; 'class' can still be used to specify the machine type if 'type' is omitted, but going forward, it should only be used to specify an alternate CSS class 2017-01-31 22:05:04 -08:00
Jeff Parsons
f5625625d4 Somehow I failed to add two of the four machines to the release... hmmm. 2017-01-31 16:18:35 -08:00
Jeff Parsons
822ab39cbe Unforked the shared modules -- ES6 is now the default 2017-01-31 13:50:55 -08:00
Jeff Parsons
323a42be37 Converted the rest of the PCjs machines to ES6 2017-01-31 11:44:33 -08:00
Jeff Parsons
f21deebffb Perform a more conservative remapping of keyCodes for Firefox's sake 2017-01-30 15:30:44 -08:00
Jeff Parsons
28856674c2 iOS fixes for PC8080; specifically, the VT100 2017-01-30 13:15:27 -08:00
Jeff Parsons
bb1bcc804f Allow machine XML files to separate machine "type" from machine "class"; if present, "type" should determine the machine type, and "class" simply becomes the machine's style 2017-01-29 10:13:03 -08:00
Jeff Parsons
7157c7e7b8 Allow a machine's 'resume' property to be set by the web page, not just the machine file 2017-01-28 23:22:16 -08:00
Jeff Parsons
5edbdcdce2 Factored PDP-11 drive controller logic into a device-independent superclass (drive.js) and a device-dependent subclass (rk11.js); the RL11 controller is ready to be factored next 2017-01-28 13:39:19 -08:00
Jeff Parsons
25af103509 Added support in the Node web server for scripts on web pages, too 2017-01-25 11:45:22 -08:00
Jeff Parsons
aa4cdca89e Start on support for component scripts 2017-01-24 15:37:46 -08:00
Jeff Parsons
4611153625 Updated PDP-11 Debugger to include line breaks between steps 2017-01-24 14:36:15 -08:00
Jeff Parsons
edf22928b9 Added command to select RL11 drive 2017-01-08 23:16:38 -08:00
Jeff Parsons
2505dde605 Fixed sticky machine support on iOS devices 2017-01-03 23:03:07 -08:00
Jeff Parsons
ca0e8db0d0 Fixed sticky machine support on iOS devices 2017-01-03 22:57:40 -08:00
Jeff Parsons
43bec5fd03 Final tweaks to initial sticky machine demo 2017-01-03 17:28:35 -08:00
Jeff Parsons
813fc7c14f Moved sticky/floating machine classes to common.css, which is unique to Node, allowing Jekyll to define its own classes 2017-01-03 15:45:30 -08:00