   printf("%-20s : %s\n", "Title", rom_title);
   printf("%-20s : %02X\n", "Licensee", licensee);
   printf("%-20s : %d\n", "SGB", is_sgb);
+
+  if cgb_mode == 0x80 {
+    printf("%-20s : %s\n", "CGB", "compatible");
+  } else if cgb_mode == 0xC0 {
+    printf("%-20s : %s\n", "CGB", "require");
+  } else {
+    printf("%-20s : %s\n", "CGB", "no");
+  }
+
   printf("%-20s : %02X\n", "Cartridge", cart);
   printf("%-20s : %d\n", "ROM Size", rom_size);
   printf("%-20s : %d\n", "External RAM Size", ext_ram_size);

      } else {
        gpu_line += 1;
      }
    } else if gpu_line == 153 {
      gpu_line = 0;
    }
  }

    // STEP -> GPU
    let vblank_begin = gpu_step(cycles);

    if vblank_begin {
      // Rasterize framebuffer
      gpu_present();

