Commit graph pcjs/modules/pcjs/lib/x86func.js
Author SHA1 Message Date
Jeff Parsons
f5cd98a7e6 Made DEBUG-only code, um, DEBUG-only 2015-08-27 17:13:27 -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
95f7db7c94 Reorged interrupt info, added MS-DOS 3.21 images, and increased memory size of OS/2 1.0 machine to 2Mb 2015-08-26 13:25:34 -07:00
Jeff Parsons
c18fd50ffc Don't halt on any GP_FAULT by default 2015-08-24 19:00:04 -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
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
8fef77f067 Added support for user-defined Debugger variables (see 'let' and 'print' commands) 2015-08-12 14:25:45 -07:00
Jeff Parsons
2fd9f6cfe5 Lots o' Debugger changes, including support for breakpoint commands and logical expressions
A new "if" command for use within breakpoint commands makes it possible to conditionally halt execution now
2015-08-11 16:50:39 -07:00
Jeff Parsons
c2d9d6b25f Halt (for now) on any 80386 GP fault, and prevent SPACE from scrolling the page 2015-08-07 00:15:29 -07:00
Jeff Parsons
7255ab59a5 Fixed Debug exceptions that occur during REPeated instructions 2015-08-04 07:59:49 -07:00
Jeff Parsons
cffa72205a More Debug register tweaks 2015-08-03 17:13:43 -07:00
Jeff Parsons
9fa2941394 Limited Debug register support 2015-08-02 21:11:19 -07:00
Jeff Parsons
6003e948b6 First v1.18.8 change: preliminary support for 80386 debug registers 2015-07-31 18:25:37 -07:00
Jeff Parsons
812c0af6b6 Standard-mode Windows 3.0 finally runs properly 2015-07-30 12:50:44 -07:00
Jeff Parsons
2150744668 Added support for DRn and TRn instructions (although they're effectively NOPs for now) 2015-07-27 11:29:57 -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
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
c2187e1e1b Assorted Debugger fixes 2015-07-20 13:11:46 -07:00
Jeff Parsons
ad9585b346 Speed up uncompiled code by "IFDEF'ing" disabled code, rare asserts, etc. 2015-07-18 14:21:09 -07:00
Jeff Parsons
b6e8eb8877 Fixed handling of redundant address/data override prefixes 2015-07-17 10:14:17 -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
d45f3174f6 Make sure real-mode CS:IP changes never signal a stack switch 2015-07-15 18:53:56 -07:00
Jeff Parsons
6295c112fe Improved DOS message output (use "m dos on" Debugger command) 2015-07-15 09:09:28 -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
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
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
Jeff Parsons
ab0399064e Changed Debugger and diagnostic functions to call probeAddr() to safely probe linear addresses 2015-05-08 12:22:12 -07:00
Jeff Parsons
3a1d05d541 BOUND fixes 2015-05-07 20:57:49 -07:00
Jeff Parsons
cfa4e0207f Fixed LGDT and LIDT, fixed read-only memory, and fixed mode transition tests 2015-05-06 16:24:28 -07:00
Jeff Parsons
f36b79cd25 Debugger must use CPU memory functions now, in preparation for paging 2015-05-05 16:16:57 -07:00
Jeff Parsons
380db6ef7d 32-bit operand fixes 2015-05-05 11:45:24 -07:00
Jeff Parsons
73086a7ac8 Moved paging functions from Bus to CPU 2015-05-05 10:32:04 -07:00
Jeff Parsons
e057bd7a05 Wired up CR0 and CR3 to the new Bus paging functions 2015-05-04 11:28:10 -07:00
Jeff Parsons
5d2a7b13a3 Fixed SGDT/SIDT (hopefully) 2015-05-03 10:11:18 -07:00
Jeff Parsons
2726514721 Minor tweaks 2015-05-02 09:13:16 -07:00
Jeff Parsons
73e52134ac Assorted 80386 and Debugger fixes 2015-05-01 14:21:23 -07:00
Jeff Parsons
f822efe1f0 TBD function no longer needed 2015-04-30 14:08:10 -07:00
Jeff Parsons
051e12c87e More 80386 instructions and more 80386 Debugger support 2015-04-30 13:27:43 -07:00
Jeff Parsons
453d84c6d8 More PAGEBLOCKS support 2015-04-29 09:47:22 -07:00
Jeff Parsons
759a0c3541 32-bit signed/unsigned division 2015-04-23 16:48:25 -07:00