+
+ // Write out JagCD EEPROM data
+ fp = fopen(cdromEEPROMFilename, "wb");
+
+ if (fp)
+ {
+ WriteEEPROMToFile(fp, cdromEEPROM);
+ fclose(fp);
+ }
+ else
+ WriteLog("EEPROM: Could not create file \"%s!\"\n", cdromEEPROMFilename);
+}
+
+
+//
+// Read/write EEPROM files to disk in an endian safe manner
+//
+void ReadEEPROMFromFile(FILE * file, uint16_t * ram)
+{
+ uint8_t buffer[128];
+ fread(buffer, 1, 128, file);
+
+ for(int i=0; i<64; i++)
+ ram[i] = (buffer[(i * 2) + 0] << 8) | buffer[(i * 2) + 1];
+}
+
+
+void WriteEEPROMToFile(FILE * file, uint16_t * ram)
+{
+ uint8_t buffer[128];
+
+ for(int i=0; i<64; i++)
+ {
+ buffer[(i * 2) + 0] = ram[i] >> 8;
+ buffer[(i * 2) + 1] = ram[i] & 0xFF;