Commit graph pcjs/modules/pcjs/lib/x86ops.js
Author SHA1 Message Date
Jeff Parsons
763b02794b When halting on faults in the Debugger, interrupt the instruction in the same manner as the actual fault would 2016-01-27 13:04:52 -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
57d58e1b79 Fix Moria state file 2015-12-21 14:46:00 -08:00
Jeff Parsons
6360fda120 Fixed inspections 2015-12-15 11:09:21 -08:00
Jeff Parsons
bf75b8a059 Fixed space handling on iOS 9.1 2015-12-01 19:22:03 -08:00
Jeff Parsons
d9e280f279 More FPU work 2015-11-16 17:41:55 -08:00
Jeff Parsons
0c6db1df46 Preliminary groundwork for FPU support 2015-11-11 18:11:30 -08:00
Jeff Parsons
b0bac10944 v1.20.1: Updated touch support to improve tablet operation 2015-10-31 15:22:01 -07:00
Jeff Parsons
8fd53cbb34 Comment typo 2015-10-31 09:33:18 -07: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
8c67a50f92 Fixed 16-bit unsigned division overflow detection 2015-10-31 07:31:32 -07:00
Jeff Parsons
05c261f849 Eliminated test386 multiplication differences, now on to division differences 2015-10-30 13:23:57 -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
526da018d0 Working prefetch support (speeds up 80386 operation when paging) 2015-10-27 11:25:02 -07:00
Jeff Parsons
37bedaa8df Fix restartability of POP [mem] when a page fault occurs 2015-10-22 18:01:30 -07:00
Jeff Parsons
823c9062ed Fix restartability of POP [mem] when a page fault occurs 2015-10-22 18:00:16 -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
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
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
ee2f5ff761 Revamped dump extensions to accept argument arrays, added probeDesc() for Debugger-safe segment descriptor loading 2015-09-03 09:07:40 -07:00
Jeff Parsons
f56815c11b Added WDEB386 service simulation (INT 0x41) 2015-08-27 16:23:12 -07:00
Jeff Parsons
8c945bac17 Fixed ECX corruption in LOOP instructions 2015-08-26 14:54:59 -07:00
Jeff Parsons
927a71d681 v1.19.2: Added support for timer Read-Back command, segment probes, and improved instruction restartability 2015-08-24 17:27:34 -07:00
Jeff Parsons
2d7cbe2864 Fixed high 8-bit register MOVs, restricted ACCESSED bit updates to SEGMENT descriptors, and prevented the Debugger from looping endlessly on bad instructions 2015-08-20 22:42:27 -07:00
Jeff Parsons
e39550f835 Ensure all 8-bit I/O restricts itself to 8 bits (fixes video glitches in Win95 Setup) 2015-08-17 10:51:50 -07:00
Jeff Parsons
712ecb7eaf Fixed read/write breakpoint checking, added support for file table rebuilds, and improved BACKTRACK support for MOVSD operations 2015-08-15 16:10:05 -07:00
Jeff Parsons
4bb34eb81d CPU caches CPL now (independent of segCS.cpl) 2015-07-26 12:14:30 -07:00
Jeff Parsons
fc9a2a903f Added separate dumpers for physical and linear address space, added more information to the TSS dump, fixed breakpoint updates when the address(es) are not yet valid, fixed recursion error when an UNPAGED block is accessed, made string instructions restartable after a fault, and enabled port-trapping in V86-mode. 2015-07-25 16:42:39 -07:00
Jeff Parsons
afcdd055e1 Assorted V86-mode fixes and IOPM support 2015-07-24 16:53:39 -07:00
Jeff Parsons
f8d7c5d518 Updated reset to reset page tables, fixed RET[F]n instructions, and added some Debugger improvements 2015-07-23 16:58:01 -07:00
Jeff Parsons
b6e8eb8877 Fixed handling of redundant address/data override prefixes 2015-07-17 10:14:17 -07:00
Jeff Parsons
a6c418ff3f Add 0x0F,0xFF to the ranks of invalid opcodes (as opposed to undefined) 2015-07-16 14:10:23 -07:00
Jeff Parsons
31e316d636 Fixed 32-bit INC, DEC, NEG, NOT, TEST, MOVSB and MOVSW
(several things that slipped through the cracks during 32-bit development)
2015-07-16 13:14:34 -07:00
Jeff Parsons
e76655a48f Fixed I/O port handling 2015-07-15 14:32:20 -07:00
Jeff Parsons
74bb240255 Fix opcode 0x6A (PUSH imm8) 2015-07-09 18:28:22 -07:00
Jeff Parsons
ef3873da6e Black Book demo L23-1 works now 2015-06-19 11:01:51 -07:00
Jeff Parsons
cfd02bb4ae Improvements to code and stack limit checks (still not perfect, but better) 2015-05-21 15:45:26 -07:00
Jeff Parsons
5f29c9967b Starting work on v1.18.1 2015-05-21 11:20:52 -07:00
Jeff Parsons
30d0d22e41 A few Debugger fixes whilst tracking down TSS issues 2015-05-16 09:58:51 -07:00
Jeff Parsons
07530c7e58 Fix 32-bit segment-register MOVs (they write 32 bits to a register, but only 16 bits to memory) 2015-05-08 13:36:02 -07:00