-Many Cleanups to be made, this has just been quickly peiced together from other projects
-Rewrite simulator code
-Rewrite synthetic mem tests in asm
-Add more features
-test test test