Commit graph pcjs/modules/pcjs/lib/x86cpu.js
Author SHA1 Message Date
Jeff Parsons
288f28055d Starting work on disambiguating PCjs the emulator from PCjs the project/website; the emulator will become PCx86 2016-05-16 20:55:32 -07:00
Jeff
bc7ec763ca Since "model" properties are strings now, they need to be coerced to numbers 2016-05-14 19:00:13 -07:00
Jeff Parsons
41f58a0035 The 8080 CPU now passes all the 8080 Exerciser tests 2016-04-29 17:57:28 -07:00
Jeff Parsons
84d3f0da00 Starting on v1.21.7 (with live register display fixes) 2016-04-15 12:03:18 -07:00
Jeff Parsons
f94467168d Cleaned up segment zeroing rules and added Windows 95 debugger configuration 2016-03-21 14:36:38 -07:00
Jeff Parsons
33a828a75b Make autoStart a proper (overridable) machine property 2016-03-16 11:37:17 -07:00
Jeff Parsons
410bcb60c9 Conforming code segment correction 2016-03-15 23:48:27 -07:00
Jeff Parsons
81c4b61522 Re-enable PREFTECH, fix IP limit checking, and restore support for autoMount overrides 2016-03-09 09:47:17 -08:00
Jeff Parsons
0c2a50ed0a Consolidated EGA/VGA ROM references with their respective XML video configuration files 2016-03-08 17:42:43 -08:00
Jeff Parsons
7953383fa9 Fixed new modRM decoders 2016-03-08 16:39:10 -08:00
Jeff Parsons
86d96569a0 Fixed more sloppy coding 2016-03-07 17:11:27 -08:00
Jeff Parsons
49ca936a18 Slimmed-down ModRegRM decoding (at some potential performance cost) 2016-03-07 15:34:28 -08:00
Jeff Parsons
b6cf972131 Code cleanup 2016-02-11 15:44:10 -08:00
Jeff Parsons
4ab2c21043 Support for control bindings with user-defined values (eg, for Keyboard "test" button) 2016-02-02 10:21:45 -08:00
Jeff Parsons
e71f8c096a Debugger refinements 2016-02-01 14:25:58 -08:00
Jeff Parsons
e20cb1d0e3 Fixed physical memory breakpoints when paging enabled 2016-01-31 11:23:13 -08:00
Jeff Parsons
a5b9e0cae7 Some improvements for FOOTBALL, including support for the 386 LOADALL instruction 2016-01-28 22:22:36 -08:00
Jeff Parsons
adb2b9aa90 Force all segment register writes to be 16-bit, even when the operand size is 32-bit 2016-01-27 10:58:01 -08:00
Jeff Parsons
5cb676e501 Updated Computer constants 2016-01-16 14:37:39 -08:00
Jeff Parsons
c792895b10 v1.20.3: The Happy 2016 Release 2015-12-31 15:51:14 -08:00
Jeff Parsons
6360fda120 Fixed inspections 2015-12-15 11:09:21 -08:00
Jeff Parsons
a1556df5a5 A little more meat on the X86FPU bones 2015-11-15 11:13:59 -08:00
Jeff Parsons
2b1b62d565 New skeleton for x86fpu.js 2015-11-13 18:20:20 -08:00
Jeff Parsons
0c6db1df46 Preliminary groundwork for FPU support 2015-11-11 18:11:30 -08:00
Jeff Parsons
55c3236380 Fixed lingering code inspection issues 2015-11-09 08:22:08 -08:00
Jeff Parsons
39af7dbe32 Fixed Closure Compiler build (the compiler gets easily confused when objects in different class hierarchies have identical method names) 2015-11-08 21:38:15 -08:00
Jeff Parsons
ef282eee47 The Debugger convinced me to make probeAddr() safe for any 1/2/4-byte read 2015-11-06 14:00:49 -08:00
Jeff Parsons
5db38752aa PREFETCH suffered from the same problem as BACKTRACK (which is really WebStorm's problem, but whatever) 2015-11-02 12:26:58 -08:00
Jeff Parsons
dc8baec9f0 v1.20.0: Limited stepping support and a couple signed/unsigned division fixes 2015-10-31 08:31:31 -07:00
Jeff Parsons
682f930fdd Check in current test386 results 2015-10-30 12:15:13 -07:00
Jeff Parsons
4403f90b5d Now that PCjs supports specific steppings, set the reset revision number accordingly 2015-10-30 08:29:08 -07:00
Jeff Parsons
8bd1794928 Added placeholders for IBTS and XBTS (80386 opcodes on A0-B0 steppings only) 2015-10-29 22:44:33 -07:00
Jeff Parsons
6dcb644a05 Added support for machine configs with a specific CPU stepping (also, fixed IMUL reg,r/m,imm disassembly) 2015-10-28 16:57:55 -07:00
Jeff Parsons
8e71267747 Updated Closure Compiler, fixed some constant inlining problems, and turned PREFETCH off for now 2015-10-27 13:02:43 -07:00
Jeff Parsons
526da018d0 Working prefetch support (speeds up 80386 operation when paging) 2015-10-27 11:25:02 -07:00
Jeff Parsons
645241b634 Removed old traceLog() support (being replaced by tests in /tests/pc that dump results to a COM port) 2015-10-21 13:40:43 -07:00
Jeff Parsons
8218e1a7da Allow the Debugger to step over "ADD [BX+SI],AL" in the rare case that it's valid 2015-10-20 09:57:46 -07:00
Jeff Parsons
b0ada4229d Make far calls restartable when they trigger a fault pushing the return address onto the stack 2015-10-18 17:40:29 -07:00
Jeff Parsons
b944cff3b5 Removed SAMPLER and RegFrame code (DEBUG-only code that's easy to resurrect if needed later) 2015-10-18 11:27:35 -07:00
Jeff Parsons
d1d733e38b Fixed divide-by-zero and data breakpoint exception dispatching 2015-10-18 10:57:51 -07:00
Jeff Parsons
a774fb983e v1.19.7: Windows 95 boots to the desktop 2015-09-21 18:37:44 -07:00
Jeff Parsons
646acf3a8d Simplified the NODE tests 2015-09-16 15:32:49 -07:00
Jeff Parsons
4ef741b7e5 Debugging improvements, including more support for physical vs. linear addresses 2015-09-15 23:10:22 -07:00
Jeff Parsons
deeac4902d v1.19.6: Improved restartability of stack-related instructions 2015-09-14 16:53:57 -07:00
Jeff Parsons
cb9e330cfa Fixed a stack-size bug uncovered by a PUSH SS/POP SS sequence in Windows 95 kernel 2015-09-11 15:13:08 -07:00
Jeff Parsons
e207cabc0a v1.19.5: Finally bit the bullet and throw JavaScript exceptions for improved CPU exception handling 2015-09-10 17:59:46 -07:00
Jeff Parsons
09295a1a27 v1.19.5 checkpoint (includes a fix to the "pop mem" instruction) 2015-09-10 15:18:20 -07:00
Jeff Parsons
cea314d7e8 v1.19.4: I/O bug fixes (16-bit input could trash EAX, and support for true 16-bit/32-bit I/O was lacking) 2015-09-08 21:19:18 -07:00
Jeff Parsons
8d83504d9a Added support for "call breaks", and fixed BTC, BTR and BTS (hopefully correctly this time), 2015-09-04 14:13:09 -07:00
Jeff Parsons
3f52d18182 Corrected frame size for 32-bit INT gates, fixed BT/BTC/BTR/BTS instructions for bit indexes > 31, and disabled the Debugger's IF clear warning when IOPL < CPL 2015-09-03 18:47:40 -07:00