 
   // I/O Ports
 
-  // if address == 0xFF00 {
-  //   return joy_read(address);
-  // }
+  if address == 0xFF00 {
+    return joy_read(address);
+  }
 
   if (address & 0xF0) >= 0x40 and (address & 0xF0) <= 0x70 {
     // GPU Register

  oam = malloc(160);
  hram = malloc(127);

  // memset(vram, 0, 0x2000);
  // memset(wram, 0, 0x2000);
  // memset(oam, 0, 160);
  // memset(hram, 0, 127);
}

def cpu_fini() {

    return;
  }

  if address == 0xFF00 {
    joy_write(address, value);
    return;
  }

  // GPU Register
  if (address & 0xF0) >= 0x40 and (address & 0xF0) <= 0x70 {
