Fixed a bug in cpu.js that silently broke the load accumulator instruction causing programs to output unexpected (and incorrect) results.
Disabled the Glados testing script.
Modified the layout of the log, CPU display, memory, and TCB display. It is still a work in progress...
Inlcuded deviceDriverHDD.js in index.html.
Added a routine 'mountHDD()' to control.js.
Added a routine 'is_html5_storage_supported' to control.js.
Modified the host to mount the HDD at boot time.
Created a device driver to interface with the HDD.
Added (but did not implement) the shell commands to interface with the file system.
Created global constants used by the shell to specify IO operations.
Re-organized variable declarations in global.js.
Improved word wrapping capabilities in console.js.
Refactored the HDD device driver to make it more object orienty.
Implemented the format command in the HDD device driver.
Added HDD device driver initialization code to kernel.js.
Added skeleton code for the IO operations.
Added a method 'isValid' that takes a filename as a parameter and indicates whether the filename is valid.
Modified the shell IO commands to call the appropriate kernel IO command.
Included hdd.js in index.html.
Changed the hard-drive initialized code in control.js to match the new HDD interface.
Added a utlity function that determines whether HTML5 local storage is supported.
Modifed the HDD device driver to take a hard-drive object as a parameter.
Modified the kernel bootstrap code to adhere to the new HDD device driver interface.
Refactored the HDD device driver into the device driver and the physical hard disk.
HDD.js is a simulation of a physical disk. It provides routines for peforming raw read and writes at the block level.
The HDD device driver implements the kernel level file system operations.
Modified the read/write routines in hdd.js for readability.
Implemented krnCreateFile in kernel.js and create in deviceDriverHDD.js.
Created method stubs in deviceDriverHDD.js
Moved the raw disk I/O operations (read/write) into the HDD device driver.
Moved the code that mounts the drive into the device driver driverEntry routine.
Created a separate file 'filesystem.js' to represent the methods and variables responsbile for managing the file system.
Added file system initialization code to the krnBootstrap routine.
Created a global variable '_FileSystem' to reprsent the kernel module responsible for managing the file system.
Removed the global variable '_HDD' from global.js. All disk I/O operations are handle directly through the disk device driver. Therefore, there is no need for a global reference to the HDD.
Removed the HDD initialization code from control.js.
Added filesystem.js to index.html.
Deleted hdd.js.
Added filesystem.js.
Created a constant to represent the offset within a block where the pointer to the next block is stored.
Created a constant to represent the offset within a block where the user data is stored.
Implemented the create, read, and delete file system routines.
Modified the kernel so that it delegates all requested I/O operations to the file system module.
Implemented the remaining file I/O operations in filesystem.js.
Implemented swapping to allow up to four processes to execute concurrently.
Made various formatting changes and bug fixes.
Fixed the main memory display so that the tabs work as expected. Added a label to the display.