Commit graph pcjs/modules/pcjs/lib/x86seg.js
Author SHA1 Message Date
Jeff Parsons
c431e5dde8 Future-proof ADDR_INVALID checks by using strict [in]equality 2015-05-14 13:11:46 -07:00
Jeff Parsons
42cf78b8e0 Fix segment ACCESSED tracking 2015-05-12 15:01:03 -07:00
Jeff Parsons
33f75e5610 Fixed save/restore for I386 2015-05-11 18:46:48 -07:00
Jeff Parsons
4cfca24ed7 A segment descriptor address (addrDesc) now better reflects whether a valid descriptor exists 2015-05-11 17:01:21 -07:00
Jeff Parsons
5eed275008 Update ACCESSED bits in GDT/LDT descriptors (finally) 2015-05-11 13:11:30 -07:00
Jeff Parsons
a9b3eb764e Clean up segment limit checks 2015-05-11 08:40:06 -07:00
Jeff Parsons
ac862f3b1d Fixed the Debugger opcode history buffer (was broken by DbgAddr changes) 2015-05-09 07:52:03 -07:00
Jeff Parsons
f3646d206f Fixed MOVSX,MOVZX, and passed initial paging test 2015-05-07 16:00:38 -07:00
Jeff Parsons
df838b8f86 Improved segment compatibility across mode changes 2015-05-06 19:48:26 -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
9ab1f92adc Fixed 32-bit protected-mode test code 2015-05-05 18:26:19 -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
2784934491 Cleaned up conditional jump handling 2015-05-04 19:26:06 -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
73e52134ac Assorted 80386 and Debugger fixes 2015-05-01 14:21:23 -07:00
Jeff Parsons
051e12c87e More 80386 instructions and more 80386 Debugger support 2015-04-30 13:27:43 -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
158cc65da3 Cleaned up DMA port handling and minor tweaks 2015-04-13 14:02:02 -07:00
Jeff Parsons
ca8fa1e5ee Assorted changes after upgrading WebStorm and Node 2015-03-31 13:50:21 -07:00
Jeff Parsons
41a7ebf370 Post refactoring cleanup 2015-03-27 12:15:54 -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
1dc0aeccd6 CPU function reorg 2015-03-05 14:41:34 -08:00
Jeff Parsons
f50612e7ca Debugger changes for improved 32-bit support 2015-02-28 11:55:55 -08:00
Jeff Parsons
eb196c3048 Added Compaq DeskPro 386 ROMs 2015-02-22 15:42:54 -08:00
Jeff Parsons
c8aec14b0b Follow my own advice and write any 32-bit hex constant > 0x7fffffff as (constant|0)
The Closure Compiler does a fine job of replacing all such expressions with their decimal equivalent, relieving us from having to calculate them ourselves, and eliminating any runtime impact
2015-02-19 11:18:40 -08:00
Jeff Parsons
2cd13b2058 Baby steps 2015-02-02 14:36:30 -08:00
Jeff Parsons
13c50f7bd0 Stack optimizations 2015-02-01 12:48:04 -08:00
Jeff Parsons
e1d760c814 Performance improvements 2015-02-01 00:31:07 -08:00
Jeff Parsons
e2ddc497c3 dataSize and addrSize tweaks 2015-01-30 12:00:12 -08:00
Jeff Parsons
84572178c5 Dynamically switch getWord/setWord based on current dataSize 2015-01-26 17:29:19 -08:00
Jeff Parsons
e0959dc00c Added 32-bit interfaces to the Memory component 2015-01-25 14:09:24 -08:00
Jeff Parsons
d6b4b9c438 More BACKTRACK support, more 32-bit support, more more. 2015-01-21 17:19:58 -08:00
Jeff Parsons
418f3bd603 Restructured ModRM decoding 2015-01-20 20:10:48 -08:00
Jeff Parsons
1ede9acf15 v1.17.0: Widening registers 2015-01-19 22:32:15 -08:00
Jeff Parsons
b8407aa96d v1.16.5: Getting ready for 2015 2014-12-29 23:06:28 -08:00
Jeff Parsons
08261fa568 Starting work on v1.16.4: fixed command-line (Node) version of PCjs 2014-12-11 20:28:29 -08:00
Jeff Parsons
88cc526c32 v1.16.3: Keyboard module rewrite
There are still a few regressions to address, but keyCode-to-simCode-to-scanCode conversion feels more robust/cleaner, and new features like programmable repeat rates will actually be doable now
2014-12-09 16:34:46 -08:00
Jeff Parsons
a5f239fb8d More hard disk (AT) and interrupt-handling fixes
Both real-mode and protected-mode hard disk I/O should be relatively happy now
2014-12-04 11:33:05 -08:00
Jeff Parsons
a14d22c806 Unified call/int/trap gate handling a bit 2014-12-02 12:14:52 -08:00
Jeff Parsons
d628eacfc6 Factored common RETF logic into opHelpRETF 2014-12-01 14:50:38 -08:00
Jeff Parsons
c85398db6b Some cleanup involving invalid addresses 2014-12-01 13:31:23 -08:00
Jeff Parsons
019ce280f6 OS/2 1.0 boots!
(at least through the first couple of screens)
2014-11-30 14:37:34 -08:00
Jeff Parsons
2ff339f190 Cleaned up debugger message handling 2014-11-30 12:56:59 -08:00
Jeff Parsons
6248972684 Starting on 1.16.1 2014-11-29 08:29:25 -08:00
Jeff Parsons
311868bc95 Protected-mode interrupt/trap gate fixes 2014-11-28 13:35:01 -08:00
Jeff Parsons
6194aac5af Phase 1 of consolidating descriptor processing in x86seg.js (TSS descriptors are next) 2014-11-27 09:28:12 -08:00
Jeff Parsons
38c2928882 Fixed INT and RETF when stack switches occur 2014-11-26 16:34:54 -08:00
Jeff Parsons
9523de773d More protected-mode improvements 2014-11-25 17:21:20 -08:00