Jeff Parsons
13a1dedbc7
Supoprt for tape images in the Absolute Loader format has been moved to the RAM component, so that those images can be preloaded into RAM in the same way that raw bootstrap images can; the RAM component now provides Absolute Loader image parsing as a service to other components that need it (specifically, the PC11 tape reader)
2016-10-19 11:10:38 -07:00
Jeff Parsons
5f3694133a
Updated READMEs regarding RAM image support
2016-10-17 11:18:18 -07:00
Jeff Parsons
980c2ac5ab
Updated PC8080 and PDPjs to support RAM images, eliminating the need for the old "writable ROM" kludge; RAM images can include their own load and exec addresses as part of the JSON file, but the RAM component can provide explicit overrides (if no load address is specified either way, the default load address is the starting RAM address)
2016-10-17 11:01:32 -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 Parsons
8bb978d7a9
Resolved a problem with the original timer implementation, where a call to setTimer() made in the middle of a CPU burst would not properly account for cycles already executed as part of the current burst
2016-10-12 22:08:45 -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
9727a2d4df
Across-the-board debugger fix
2016-09-27 09:34:56 -07:00
Jeff
b2294e2293
Use CPU timer functions (instead of browser timeout/interval functions) to control device interrupts/timeouts
2016-09-26 20:34:31 -07:00
Jeff
b28166f493
Updated Closure Compiler to v20160911, so now we have a version that supports ECMAScript 6, but I'm not going to go bonkers on ES6 features just yet; the first feature I'm going to use is support for octal and binary constants (of the form 0onnnn and 0bnnnn)
2016-09-24 16:03:57 -07:00
Jeff
dfe367f53d
New improved I/O handler functions for the PDP-11
2016-09-21 12:44:25 -07:00
Jeff Parsons
614fc11aca
Restored support for custom memory controllers in the PDP11 emulator (to be used for UNIBUS I/O)
2016-09-20 11:19:42 -07:00
Jeff Parsons
e865857c4b
PC8080's Debugger8080 wasn't properly subclassing Debugger
2016-09-20 08:39:03 -07:00
Jeff Parsons
1265104e6d
Added support for converting numbers to/from octal, along with improved support for binary numbers
2016-09-15 18:23:09 -07:00
Jeff Parsons
5f622303b4
Completed Keys factoring
2016-09-15 08:18:37 -07:00
Jeff Parsons
5398064ec4
Started Keys factoring
2016-09-15 07:59:12 -07:00
Jeff Parsons
e5c5a8e6be
Some more Debugger factoring
2016-09-14 21:11:57 -07:00
Jeff Parsons
522563a72b
Fixed Debugger type inspection problems following the previous refactoring
2016-09-14 15:52:55 -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
100779e30a
First batch of pdp11.js code adapted but totally untested
2016-09-05 11:05:40 -07:00
Jeff Parsons
4b778b281d
Groundwork for a PDP-11 emulator (starting with a gutted copy of PC8080)
2016-09-03 17:43:06 -07:00
Jeff Parsons
a08fcab276
Updated calcRemainingTime() to compensate for large time anomalies (usually caused by external debuggers)
2016-08-24 17:06:01 -07:00
Jeff Parsons
7dc4448f41
Fixed the PC8080 CPUState class name
2016-08-24 14:17:54 -07:00
Jeff Parsons
3ae0c3a263
Remove unused variable
2016-08-24 14:07:45 -07:00
Jeff Parsons
0a4fc6df1c
Removed unneeded Video DEBUG code
2016-08-23 22:45:15 -07:00
Jeff Parsons
244f0dba32
Cleaned up the run loop, less complicated now, and video updates can drive themselves thanks to the new CPU timer functions
2016-08-23 22:41:45 -07:00
Jeff Parsons
97f8e87ca3
Added some iOS usability improvements (related to soft keys/buttons and annoying focus/zoom changes)
2016-08-23 16:08:48 -07:00
Jeff Parsons
2b24e710d2
Fixed the Computer updateFocus() interface to keep the page stable unless fScroll is explicitly set
2016-08-23 14:59:06 -07:00
Jeff Parsons
c1b34a87ed
Immunized cursor blink rate from changes to CPU speed
2016-08-23 12:52:11 -07:00
Jeff Parsons
702b9d36c7
Optimized PC8080's innermost CPU execution loop
2016-08-22 17:17:14 -07:00
Jeff Parsons
bca19fd8ed
Added proper clocking of VT100 keyboard UART, allowing us to restore the proper CPU speed (2.7Mhz) and maintain the correct cursor blink rate
2016-08-22 09:14:34 -07:00
Jeff Parsons
6410ae068c
Updated information about VT100 factory defaults
2016-08-21 09:56:44 -07:00
Jeff Parsons
6a5e18d493
Working on next release (v1.24.1): first change is enabling smooth scrolling by default
2016-08-19 16:10:48 -07:00
Jeff Parsons
23e78b971c
Picked up all the last-minute changes from the gh-pages branch (where I discovered a race condition between machines)
2016-08-19 13:03:30 -07:00
Jeff Parsons
ff46c1d240
Updated receiveData() to always return true in both PCx86 and PC8080, since both machines are buffering all the incoming data anyway (since we still don't have any flow-control interfaces yet)
2016-08-19 08:42:33 -07:00
Jeff Parsons
b52e794997
Added a (temporary) auto-XON hack to the VT100's SerialPort component to prevent ugly buffer overflows when a PC is shoveling the data in too fast (to be replaced later with real flow-control interfaces)
2016-08-18 18:49:01 -07:00
Jeff Parsons
5ed8f13840
A (PC8080) VT100 can now connect to a (PCx86) IBM PC AT; only problem seems to be flow control now.
...
Also, each PCjs debugger can now be independently accessed from an external debugger (eg, "pcx86('ver')" or "pc8080('ver')"); the global '$' symbol is no longer used for debugger access.
TODO: There are still many places where GLOBALVAR should be replaced with PCX86.GLOBALVAR or PC8080.GLOBALVAR as appropriate (which I've finally started doing in each debugger.js file).
2016-08-18 16:46:34 -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
f0509bc5d1
Successfully running PCx86 and PC8080 machines on the same page now
2016-08-18 10:29:24 -07:00
Jeff Parsons
145ec9d125
Starting on v1.24.0; first change: support for encoding ESC characters in SerialPort test strings (support which perhaps should eventually be moved into getComponentParms() instead)
2016-08-17 19:09:23 -07:00
Jeff Parsons
9d289b54da
Dual (connected) terminal configs should be working better, now that both transmitted and received data is clocked according to their respective baud rates
2016-08-17 15:42:02 -07:00
Jeff Parsons
140e1cf094
Adding clocking mechanism for serial data transmission
2016-08-17 14:09:02 -07:00
Jeff Parsons
99023617fd
Fixed lost 8080 interrupts, and added new CPU-driven setTimer() functionality
2016-08-17 11:58:01 -07:00
Jeff Parsons
12dad7291c
Smooth-scroll fix for edge case where scroll offset has returned to zero BUT buffer contents haven't actually been scrolled yet
2016-08-16 15:40:31 -07:00
Jeff Parsons
81239cdbbe
Dual VT100 bi-directional communication is now limping along
2016-08-16 11:34:11 -07:00
Jeff Parsons
cf24023d5d
Enabled smooth scrolling, connected SerialPort UART transmitter status to the ChipSet FLAGS buffer (matching how the Keyboard UART transmitter status is connected), enabled binding of terminal I/O to the Control Panel output window (if any), and added simulation of received data at the programmed baud rate (but a better solution has been noted and needs to be implemented)
2016-08-16 09:34:41 -07:00
Jeff Parsons
8cb79257c9
Spiffed up the VT100 demo pages
2016-08-15 15:00:36 -07:00
Jeff Parsons
762ef22545
Added TEST control to exercise the VT100's 8251A UART (um, excuse me, the PUSART -- an awful acronym)
2016-08-15 14:19:06 -07:00
Jeff Parsons
0ffc09083d
Don't print Video messages unless enabled (use the Debugger "m video on" command)
2016-08-15 12:11:37 -07:00