Commit graph pcjs/modules/pcx86/lib/computer.js
Author SHA1 Message Date
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
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
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
30df38738c Added support for automatic scripts (ie, autoScript) 2017-07-25 12:52:36 -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 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
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
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
c20fe69872 More attempts to clean-up and reduce spurious alerts 2017-06-27 10:32:30 -07:00
Jeff Parsons
7aa689c745 Let's try to tone down the alerts when 'resume' is set to AUTO (1) 2017-06-27 09:54:59 -07:00
Jeff Parsons
0b803b23f1 The computer's 'resume' property can now be passed in as a machine property, allowing pages to set and/or override it 2017-06-23 14:21:03 -07:00
Jeff Parsons
503cda40f7 Fixed machine array demos, by permitting machine IDs with hyphenated numeric suffixes to use a machine state file created with an unhyphenated machine ID, and added a demo of Windows 1.0 (the "Premiere Edition") 2017-06-23 14:00:27 -07:00
Jeff Parsons
991e924d01 Added support for special autoType sequences (eg, $date and $time, which generate current date and time strings accepted by the PC-DOS date and time prompts) 2017-06-23 09:39:40 -07:00
Jeff Parsons
0bd1be0df9 When a 'state' file is passed as a URL parameter, that's supposed to override a machine's 'resume' setting, but if a 'state' file is passed as EITHER a computer parameter (the original XML-based method) OR as a machine parameter (a newer method that allows a web page to override certain XML settings), that is NOT supposed to override the 'resume' setting. This restores the ability of the DONKEY.BAS demo to BOTH define a state file AND allow the machine to be suspended and resumed. Additionally, a new-ish Video card property (offStartAddr), which was originally added for the EGA/VGA, was not properly initialized for other cards, so when we restored the display of a suspended machine with a CGA, nothing would be displayed, due to lots of NaN buffer address calculations. 2017-06-22 17:45:36 -07:00
Jeff Parsons
a16f0586f4 More alert suppression changes 2017-06-22 16:36:51 -07:00
Jeff Parsons
11c6380eba Changed the alert style for restore failures 2017-06-22 16:06:19 -07:00
Jeff Parsons
1ce03810d3 Added support for (attempting to) suppress alerts that are meaningless if the user has aborted a machine by exiting the page before it was done loading 2017-06-22 15:53:34 -07:00
Jeff Parsons
822ab39cbe Unforked the shared modules -- ES6 is now the default 2017-01-31 13:50:55 -08:00
Jeff Parsons
323a42be37 Converted the rest of the PCjs machines to ES6 2017-01-31 11:44:33 -08:00
Jeff Parsons
df5eb66429 Instead of hard-coding the 'resume' setting inside individual machine files, we now support a 'resume' setting inside a page's machine properties 2017-01-28 23:39:03 -08:00
Jeff Parsons
f87161f5d6 v1.32.0: The New Year Release 2016-12-30 15:56:01 -08:00
Jeff Parsons
d930b31c53 Some minor changes to make it easier to load a machine in the Node environment 2016-12-27 22:05:59 -08:00
Jeff Parsons
9ab8d5eb5f Trying to keep the focus code synced 2016-10-23 09:30:01 -07:00
Jeff Parsons
d0618c34bc Added more PDP-11 paper tape resources 2016-10-23 00:43:20 -07:00
Jeff Parsons
b1f8fca2d9 Re-enabled source maps, at least for the PDP-11 emulators (for now) 2016-10-14 09:30:17 -07:00
Jeff
e24d507aa2 Removed useless version numbers and dates from .js file headers 2016-10-06 16:22:24 -07:00
Jeff
1a1614a648 Simplify the Bus and Memory interfaces slightly, by enabling WORDBUS, which treats all word accesses as aligned; the CPU is has sole responsibility for detecting unaligned word addresses and trapping appropriatelu 2016-10-06 14:17:29 -07:00
Jeff Parsons
a8bb0c7841 First stab at factoring some common Debugger functionality into a shared component 2016-09-14 15:36:38 -07:00
Jeff Parsons
3bd02c7e19 Bumped version to 1.30 in honor of the PDP11 module that's being integrated, along with my first attempt to use a newer version of the Closure Compiler (ie, the JavaScript version), as well as giving Gulp a try -- although Gulp leaves just as bad a taste in my mouth as Grunt did 2016-09-13 15:33:17 -07:00
Jeff Parsons
6fb2f02b13 Try the same calRemainingTime() anomaly-detection code in PCx86 that we've already implemented in PC8080 2016-09-06 11:08:01 -07:00
Jeff Parsons
7dc4448f41 Fixed the PC8080 CPUState class name 2016-08-24 14:17:54 -07:00
Jeff Parsons
c08d399d3f Moved Message categories into messages.js, and include defines.js as appropriate 2016-08-19 16:35:09 -07:00
Jeff Parsons
a3c0995934 Folded a PC8080 change back into PCx86 2016-08-18 11:32:10 -07:00
Jeff Parsons
0e4ad76b94 Cross-machine serial port connections are only half-working (need to defer initConnection() until all machines on the page have initialized their bus) 2016-08-18 11:30:22 -07:00
Jeff Parsons
a1e999e0c4 More PCjs/PCx86 disambiguation 2016-05-17 00:04:51 -07:00
Jeff Parsons
288f28055d Starting work on disambiguating PCjs the emulator from PCjs the project/website; the emulator will become PCx86 2016-05-16 20:55:32 -07:00
Renamed from modules/pcjs/lib/computer.js (Browse further)