public System8080()
 {
     Bus              = new Bus();
     Cpu              = new Cpu(Bus);
     IoController     = new IoController(Bus);
     MemoryController = new MemoryController(Bus);
     VideoController  = new VideoController(Bus);
 }
 public void loadProgram(Stream input, DWord programBase)
 {
     if (input.GetType() == typeof(MemoryStream))
     {
         MemoryController.StoreProgram((MemoryStream)input, programBase);
     }
     else
     {
         using (var ms = new MemoryStream()) {
             input.CopyTo(ms);
             MemoryController.StoreProgram(ms, programBase);
         }
     }
     Cpu.Reg.Pc = MemoryController.ProgramBase;
 }
 public Byte[] getVram()
 {
     return(MemoryController.getVram());
 }