Commit graph pcjs/modules/pcjs/lib/x86func.js
Author SHA1 Message Date
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
Jeff Parsons
06f689c7a3 Some mul/div cleanup 2015-04-23 11:08:02 -07:00
Jeff Parsons
d68f1bd985 32-bit multiplication 2015-04-22 17:24:40 -07:00
Jeff Parsons
061cb7ea08 Changed the default DiskDump label, and cleaned up some jshint warnings 2015-04-22 12:21:06 -07:00
Jeff Parsons
1508cd1bf3 Compaq DeskPro 386 ROM BIOS boots UNMODIFIED now 2015-04-16 17:31:40 -07:00
Jeff Parsons
158cc65da3 Cleaned up DMA port handling and minor tweaks 2015-04-13 14:02:02 -07:00
Jeff Parsons
fa88aa6a2d New Debugger command to dump Bus memory allocations 2015-04-08 09:45:13 -07:00
Jeff Parsons
b71fd5002b Simplified 80386 word/dword dispatching 2015-04-07 16:51:31 -07:00
Jeff Parsons
3ce78f23ed romtests.json updated 2015-04-04 21:11:06 -07:00
Jeff Parsons
8ac1219c13 Assorted changes after upgrading WebStorm and Node 2015-03-31 17:23:18 -07:00
Jeff Parsons
177032223c 80386 0x0F opcodes more or less fleshed out 2015-03-29 20:37:46 -07:00
Jeff Parsons
f9cb8a5bec More 80386 instructions 2015-03-29 15:57:57 -07:00
Jeff Parsons
f098335db9 Minor naming convention changes 2015-03-27 12:45:55 -07:00
Jeff Parsons
0cbae3ea11 Assorted tweaks for the DeskPro 386 ROM 2015-03-26 12:13:16 -07:00
Jeff Parsons
f5c0930f83 Assorted 80386 tweaks 2015-03-24 11:20:47 -07:00
Jeff Parsons
7085b72fc4 Support for true physical memory aliases 2015-03-23 18:15:29 -07:00
Jeff Parsons
8248268abe Removed obsolete flag definitions 2015-03-16 18:37:07 -07:00