Commits

Show all
Author Commit Message Labels Comments Date
Kevin Veroneau
Began writting UnitTests.
Kevin Veroneau
Updated command parser, and began work on updating the label system.
Kevin Veroneau
Moved memory into own module and initial work on a VGA compatible framebuffer support.
Kevin Veroneau
Finished updating the ASM and CPU routines. Removed previous routines from before the overhaul.
Kevin Veroneau
Finished migrating the current opcodes over to the newer format.
Kevin Veroneau
More updates towards overhaul.
Kevin Veroneau
Commit of initial work on Virtual Machine overhaul, and for syncing to laptop.
Kevin Veroneau
Updated cpu.js to use Uint8Array, which is more efficient as it uses the HEAP.
Kevin Veroneau
README.md edited online with Bitbucket
Kevin Veroneau
README.md edited online with Bitbucket
Kevin Veroneau
Updated main README.md
Kevin Veroneau
Began the initial implementation of the HTML5 virtual machine, which will at one point be-able to run the same bytecodes as the current VM, but in a browser without the need of any plugins.
Kevin Veroneau
Decoupled CPU and Assembler.
Kevin Veroneau
Numerous updates which I haven't commited yet, and some are not fully test. Updates are to make the CPU more x86-like.
Kevin Veroneau
Migrated updates done in Hacker's Edge.
Kevin Veroneau
Implemented argument parsing compatible with Python 2.6, and updated hello.asm
Kevin Veroneau
Updated the HelloWorldHook to actually work correctly.
Kevin Veroneau
Added more capabilities for I/O devices, including memory-mapped I/O, and running custom code during it's cycle.
Kevin Veroneau
Updated documentation and removed CursesHook.
Kevin Veroneau
Added lots of comments to the code to make it easier to understand what's going on and how this all works internally.
Kevin Veroneau
Enabled the ability to push and pop values into the stack from Python coded, also enabled the use of persistent registers when executing code.
Kevin Veroneau
Merged in README.md.
Kevin Veroneau
Added new software interrupt of 8, to allow easy string comparing.
Kevin Veroneau
README.md edited online with Bitbucket
Kevin Veroneau
Implemented software interrupt 5, memory copy function.
Kevin Veroneau
Finished implementing address labeling system.
Kevin Veroneau
Added pointer label support to make referencing addresses during assembly much easier.
Kevin Veroneau
Updated software interrupts to include "int 12" for reading a line of text from the keyboard. Also combined interrupt routines into single loadable binary image. Load interrupt.tbl in address 4000 Load interrupt.bin in address 1000
Kevin Veroneau
Initial work on a proper software interrupt table has been implemented. The location in memory of the interrupt handler vector table is customizable. The stack of pushed registers is now fully stored in user-accessible memory. The location of various segments can now be set: CS: Code segment, controls the offset of the IP(Instruction pointer) DS: Data segment, is used when memory access is performed by code ES: Extra segment, not currently used, and is available to the user. SS: Stack segment, sets where the stack is located in memory. Various pointer registers have also been implemented: SP: Stack pointer, used to determine the stack index. IP: Instruction pointer, points to the next instruction to be run.
Kevin Veroneau
Removed CPUHook system in favor of a more CPU standard IN/OUT operations. Added many new standard registers, and reimplemented the stack. New registers also control where the code segment and data segments are read from.
  1. Prev
  2. Next