Commit graph pcjs/modules/pcx86
Author SHA1 Message Date
Jeff Parsons
591d6b85d5 Found another way to fix bogus ".call" inspection warnings 2017-08-08 18:02:04 -07:00
Jeff Parsons
2fc2872386 Fixed a few lingering code inspection warnings and typos 2017-08-08 17:30:28 -07:00
Jeff Parsons
f6fe72f43f Cleaned up the SerialPort header a bit 2017-08-08 17:12:20 -07:00
Jeff Parsons
bf5e1faf67 Changed X86CPU.reset() to not stop the CPU on a RESET (you can still force HALT after RESET by simply halting the machine manually before clicking RESET); moreover, by not calling stopCPU() in the X86CPU.reset() handler, we avoid problems in the CPU's speed recalculation logic (for example, if you repeatedly clicked RESET on a running machine, speed variables would get out of sync) 2017-08-07 19:21:15 -07:00
Jeff Parsons
e5a9b01dde Updated addTimer() interface to include an ID; cleaned up how the CPU tracks the base speed, current speed, and target speed 2017-08-07 13:58:41 -07:00
Jeff Parsons
f71b4d648c Updated more PCx86 components to use the CPU's timer functions to do callbacks 2017-08-05 11:01:28 -07:00
Jeff Parsons
13b0c23b0a Cleaned up PC8080 cross-browser full-screen support (matches PCx86 now) 2017-08-03 08:42:29 -07:00
Jeff Parsons
c397937a87 Eliminated an outdated TODO 2017-08-03 08:18:35 -07:00
Jeff Parsons
d0052eb7cd Minor PCx86 Debugger-related improvements 2017-08-02 19:02:23 -07:00
Jeff Parsons
aefe2b4b5b Improved logging of strings with embedded carriage returns 2017-08-02 10:58:21 -07:00
Jeff Parsons
a3c252bf99 Cleaned up browser support for full-screen and pointer-locking in the Video component, and reduced the default scale factor for mouse movement events from 1.0 to 0.5, since modern screens are generally much higher resolution 2017-08-02 10:37:45 -07:00
Jeff Parsons
072b8fa2df Laid the groundwork for bring PCx86 up-to-date with timer functionality matching PC8080 and PDPjs (new timer services added) 2017-08-01 14:26:52 -07:00
Jeff Parsons
d8804faba0 Fixed soft keyboard controls for both iOS and non-iOS browsers, and updated the TopView 1.01 page 2017-07-25 18:50:14 -07:00
Jeff Parsons
30df38738c Added support for automatic scripts (ie, autoScript) 2017-07-25 12:52:36 -07:00
Jeff Parsons
1b987df6e2 Added more scripting support to PCx86 (eg, for loading disks, typing keys, and waiting for both to finish) 2017-07-25 10:30:29 -07:00
Jeff
fe74e12e40 Added the *scaleMouse* property so that host mouse coordinates can undergo an optional scaling transformation (default is 1.0) 2017-07-24 18:47:10 -07:00
Jeff
6a3f7f4a5d Added support for segment wrap-around in 8086/8088 real-mode (all stack operations, instruction fetches, and operand accesses should wrap now); real-mode wrap-around on newer processors should trigger a GP fault instead 2017-07-23 14:59:26 -07:00
Jeff
a85662632c Fixed serial port transmitter interrupts, and added a new blog post (RetroReview: SPEEDUP) 2017-07-22 23:08:46 -07:00
Jeff
b7e424a46c Found a fix for the unwanted blinking caret in Internet Explorer browsers (IE9 through IE11, the last version of IE) 2017-07-21 11:34:25 -07:00
Jeff
d8f98fb263 Tidied up some Bus and Disk messages 2017-07-20 21:25:54 -07:00
Jeff
d8cdebae3b Fixed full-screen support (it was broken in the commit that enabled flicker support), and more tweaks to the stack limit checks in the pushWord() and popWord() functions 2017-07-20 20:00:31 -07:00
Jeff
fb493d09ac Handle wrap-around for 16-bit real-mode POPs as well 2017-07-20 12:13:08 -07:00
Jeff
a0951aeea9 Replaced the previous temporary PUSH fix with a permanent fix, along with 8086/8088 support for 16-bit pushes that wrap around 64K boundaries (must be done with two discrete byte operations) 2017-07-20 11:25:58 -07:00
Jeff Parsons
308bd75af4 Added a temporary fix to PUSH operations to ensure that 16-bit pushes wrap around 64K boundaries (TODO: a 16-bit PUSH at offset 0x0001 or a POP at offset 0xFFFF must either wrap or fault as appropriate) 2017-07-19 23:24:18 -07:00
Jeff Parsons
6c6f28c1ef Fixed PCx86 to recover from situations where a page entered an "unloaded" state but wasn't actually unloaded. 2017-07-19 14:57:19 -07:00
Jeff Parsons
8035a95cf9 The PCSIG08 README needed to use a "raw" link rather than a Markdown link, so that it could set the "download" attribute on the link, preventing the page's "onbeforeunload" handler from firing (which would otherwise shutdown any machines on the page) 2017-07-19 14:13:29 -07:00
Jeff Parsons
88ab0cd106 Added new blog post: Flickery Fakery 2017-07-15 10:48:06 -07:00
Jeff Parsons
1760ae4ff9 Fixed a regression in EGA/VGA video page calculations (introduced by the other recent paging-related fixes) 2017-07-14 17:47:03 -07:00
Jeff Parsons
aa93903c1a Screen buffer wrap-around support (and some retrace tweaks) for the FlickerFree utility 2017-07-14 11:57:39 -07:00
Jeff Parsons
ec438be5c9 Fixed old, longstanding, and surprisingly bad bug in cleanMemory() for all machine implementations 2017-07-12 21:02:30 -07:00
Jeff Parsons
9e149dda6a Added support for a new "flicker" PCx86 Video property that simulates good old-fashioned CGA flicker -- don't leave home without it! 2017-07-12 16:22:26 -07:00
Jeff Parsons
9cb68b77fd Updated the PC Magazine Disks page with a new improved way of quickly loading disks into a demo machine 2017-07-12 10:14:01 -07:00
Jeff Parsons
773ed2db37 Remove the hard disk "Save" feature from mobile devices 2017-07-11 22:48:57 -07:00
Jeff Parsons
c9053b1d47 Updated the CP/M-86 disk page, and added a new Debugger dump command ("da") that's useful for dumping the ASCII contents of a PCx86 text video buffer 2017-07-06 08:41:25 -07:00
Jeff Parsons
e33adffbf4 Switched from mouse event clientX and clientY to screenX and screenY (will it make any difference on high DPI screens? I don't know...) 2017-07-05 23:01:50 -07:00
Jeff Parsons
35a3006000 Added some Modula-2 and PCTJ disks 2017-07-02 15:55:25 -07:00
Jeff Parsons
131e5eac69 Added another old Infocom game 2017-07-02 11:14:25 -07:00
Jeff Parsons
7c3d20f534 Added another old Infocom game 2017-07-02 11:14:04 -07:00
Jeff Parsons
97ee1cf73d Accommodate operations like PC-DOS 1.10 reformatting a single-sided 160Kb disk image as a double-sided 320kb disk image 2017-07-01 11:39:28 -07:00
Jeff Parsons
3abd13e8ca Updated COMPAQ MS-DOS READMEs, along with a few PCx86 debugger improvements 2017-06-30 12:03:35 -07:00
Jeff Parsons
65421dad68 Updated COMPAQ MS-DOS READMEs 2017-06-29 17:37:37 -07:00
Jeff Parsons
85b3aade36 Updated some DOS READMEs and made the onReset handler honor the running state of the CPU 2017-06-29 15:27:22 -07:00
Jeff Parsons
51f8440e9b More diagnostic output improvements 2017-06-28 17:51:15 -07:00
Jeff Parsons
ea82dfec93 A machine's screen can now be used to display initialization (diagnostic) messages, up until the Computer component is ready to power/start the CPU, at which point control of the screen reverts to the Video component 2017-06-28 16:24:33 -07:00
Jeff Parsons
d4d3448fd5 Cleaned up how components print messages and how the Computer component overrides their notice/print/println methods (in preparation for new Computer overrides) 2017-06-28 10:53:44 -07:00
Jeff Parsons
6f9bfa1950 Trying to do a better job of properly typing DOM objects 2017-06-28 09:41:01 -07:00
Jeff Parsons
743511d5db Fixed recent problems introduced with my switch to addEventListener 2017-06-27 17:39:20 -07:00
Jeff Parsons
2cb0be42f0 Setting the stage for a resource status update mechanism 2017-06-27 16:01:00 -07:00
Jeff Parsons
754a4a4027 Machine states now save/restore the CPU's running state 2017-06-27 14:08:16 -07:00
Jeff Parsons
60aaeaa3bf More attempts to clean-up and reduce spurious alerts 2017-06-27 10:39:21 -07:00