Created process.js, which includes a function for creating a new process control block.
Created memory.js - a hardware simulation of main memory.
Created a device driver to interface with the memory display "device" - which is an HTML table displayed within a DIV.
The device driver provides methods for initializing, updating, and clearing the display.
h
Implemented the main memory simulation with an array. The simulation includes methods for reading and writing to memory.
Changed the filename to vbos.css and added several styles to the memory display div and table.
- Modified the description of the load command.
- Added a method 'validateSourceCode' which takes an array of strings as input and returns a boolean that indicates whether every array element qualifies as valid syntax.
- Added the run command.
- Added a method 'loadProgram' that validates the source code in the user input area, loads it into main memory, creates a new process control block and returns the resulting PID to the console.
- Added a method 'executeProcess' that takes in a PID and attempts to schedule the associated process for execution.
- Added and revised comments for clarity.
Created a global constant MEMORY_MAX to represent the maximum amount of main memory available on the system.

Created a global constant MAX_PROCESSES to represent the maximum number of active processes that can exist at any time on the system.

Created a global variable '_MainMemory' to provide access to the main memory hardware simulation.

Created a global variable '_MemoryManager' to provide access to the MMU.

Created a global variable '_memoryDisplayDevice' to provide access to the memory display device simulation.

Created a global constant SYSTEM_CALL_IRQ to represent the value of a system call interrupt request.

Created a global variable '_KernelReadyQueue' to store the list of active processes awaiting CPU time.

Created a global variable '_KernelPCBList' to store the list of active processes.

Created a global variable 'krnMemDispDriver' to provide access to the memory display device driver functions.
Revised class comments.
Fixed a bug in updateClockDisplay that was causing the system clock to be partially obscured.
Added a wrapper div to allow the content to be centered.
Added a div for the memory display table.
Added code to initialize the reference to the memory display device.
Added code to instantiate and initialize main memory.
Added functions to model the 6502 instruction set.
Modified the cycle function to include the fetch, decode, execute cycle.
Created a utility method 'fetchOperand' for reading a two-byte  operand from main memory.
Implemented the MMU which provides methods for reading/writing to main memory and allocating/deallocating memory blocks.
Fixed a bug that was preventing the console display from scrolling properly.
Added code to initialize the MMU, ready queue, and PCB list.
Added code to load and initialize the memory display device driver.
Created a method 'krnNewProcess' for creating a new process.
Created a method 'krnSystemCallIsr' for allowing a process to execute a system call.
Created  a method 'krnDispatchProcess' for scheduling CPU time for a process.
Created a method 'generatePID' for generating a valid process identifier.
Made several minor formatting changes.
Added an interrupt level for a process requesting termination.
Added a global variable '_ActiveProcess' for storing the PID of the currently executing process.
Modified the styles for the memoryDisplay element.
Modified the call to clear to reflect the updated method signature.
Fixed a bug caused by the read operations interpreting the raw data as base 10 rather than base 16.
Fixed several bugs caused by the mispelling of the names of the CPUs general registers.