Commit graph pcjs/modules/pcjs/lib/x86seg.js
Author SHA1 Message Date
Jeff Parsons
f94467168d Cleaned up segment zeroing rules and added Windows 95 debugger configuration 2016-03-21 14:36:38 -07:00
Jeff Parsons
6202c108fd Remove DEBUG code 2016-03-17 17:11:54 -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
0735ea8186 Blog update 2016-03-09 14:22:26 -08:00
Jeff Parsons
7953383fa9 Fixed new modRM decoders 2016-03-08 16:39:10 -08:00
Jeff Parsons
7ca64fcea5 Added more demos and support for mixed-case properties (including a new 'debugger' property in Markdown files) 2016-03-05 18:09:41 -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
b9a2968f03 Fixed problems booting the Oct 86 CP-DOS boot disk (the showstopper was allowing the mode of the LDT register to be changed by LOADALL) 2016-01-25 15:07:44 -08:00
Jeff Parsons
c7ce1c43c0 Fixed one (of several known) TSS fault cases that pre-1.0 OS/2 builds depended on, and added support for the SysReq soft-key binding (since pre-1.0 OS/2 builds used that instead of Ctrl-Esc) 2016-01-23 13:21:19 -08:00
Jeff Parsons
c122c57e45 Generate a #TS fault instead of an #SS fault when there are problems with a new stack selector inside the TSS 2016-01-22 21:09:23 -08:00
Jeff Parsons
2c1b6485e9 Some machines were unnamed, and some doc links were broken 2016-01-21 19:16:40 -08:00
Jeff Parsons
36624947d7 TSS stack pointer size depends on the TSS segment type, not the code segment type 2016-01-16 14:40:05 -08:00
Jeff Parsons
c792895b10 v1.20.3: The Happy 2016 Release 2015-12-31 15:51:14 -08:00
Jeff Parsons
66456ecf54 Fixed inspections 2015-12-15 11:25:29 -08:00
Jeff Parsons
a1556df5a5 A little more meat on the X86FPU bones 2015-11-15 11:13:59 -08: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
caccae5cc8 Rolling out v1.19.8 (and cleaning up how gate frame size is tracked) 2015-10-21 10:47:37 -07:00
Jeff Parsons
7babb15868 Fixed WDEB386 fielding of V86-mode exceptions 2015-10-20 19:23:45 -07:00
Jeff Parsons
d1d733e38b Fixed divide-by-zero and data breakpoint exception dispatching 2015-10-18 10:57:51 -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
09295a1a27 v1.19.5 checkpoint (includes a fix to the "pop mem" instruction) 2015-09-10 15:18:20 -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
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
1a67c7acbd v1.19.3: More Windows 95-related updates 2015-09-01 16:19:20 -07:00
Jeff Parsons
8c945bac17 Fixed ECX corruption in LOOP instructions 2015-08-26 14:54:59 -07:00
Jeff Parsons
0e9ce2d653 Comment corrections 2015-08-25 12:33:54 -07:00
Jeff Parsons
7d2ca8cb1e Don't halt on GP_FAULTs of bogus segment loads 2015-08-24 18:16:59 -07:00
Jeff Parsons
1a092371d3 Perform GP_FAULT checks before NP_FAULT checks 2015-08-24 18:11:17 -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
5b64488286 Made RETF restartable when the target segment is not present 2015-08-21 15:19:16 -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
b52f27f35f Cleaned up fCall handling a bit 2015-08-16 09:38:05 -07:00
Jeff Parsons
a3f1df0ba7 Removed fSuppress hack from general-purpose segment register operations 2015-08-16 08:41:13 -07:00
Jeff Parsons
f72b8ddeaf Success running standard-mode Windows under WDEB386 2015-08-08 09:09:36 -07:00
Jeff Parsons
e269cd49c3 v1.18.5: Working on running Windows 3.00 in real/standard/enhanced modes 2015-07-26 17:02:48 -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
4102ef0514 Added support for both 80286 and 80386 gates and TSS segments 2015-07-22 16:03:21 -07:00
Jeff Parsons
545c290785 Begin differentiating 286 and 386 descriptors 2015-07-21 09:39:26 -07:00
Jeff Parsons
d45f3174f6 Make sure real-mode CS:IP changes never signal a stack switch 2015-07-15 18:53:56 -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
e5c7a377c0 Must load LDTR sooner rather than later in switchTSS() 2015-05-18 15:39:09 -07:00
Jeff Parsons
d97c773613 Some task-switching fixes 2015-05-17 11:58:36 -07:00
Jeff Parsons
30d0d22e41 A few Debugger fixes whilst tracking down TSS issues 2015-05-16 09:58:51 -07:00
Jeff Parsons
a28fa95d25 More 80286 testing 2015-05-15 09:08:42 -07:00
Jeff Parsons
c431e5dde8 Future-proof ADDR_INVALID checks by using strict [in]equality 2015-05-14 13:11:46 -07:00