public void saveState(String extension) { String directory = (cartridge.romFileName + extension); try { FileOutputStream fl = new FileOutputStream(directory); DataOutputStream sv = new DataOutputStream(fl); saveData(sv, directory); // write battery ram cartridge.saveData(sv, directory); // write graphic memory graphicsChip.saveData(sv, directory); // write io state ioHandler.saveData(sv, directory); // stats.printStats(); sv.close(); fl.close(); } catch (FileNotFoundException e) { System.out.println("Dmgcpu.saveState: Could not open file " + directory); System.out.println("Error Message: " + e.getMessage()); System.exit(-1); } catch (IOException e) { System.out.println("Dmgcpu.saveState: Could not write to file " + directory); System.out.println("Error Message: " + e.getMessage()); System.exit(-1); } System.out.println("Saved stage!"); }