X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Feeprom.cpp;h=6b2ef65d68f837ded862b17d59a5328d6dd23abe;hb=6c19e4098a43c47f8cd1824902f7335e124b834f;hp=1e422e4fe2ce9595eb0b014d4b6214b96bb28a51;hpb=9a0e99e77cff558437b14e1cc05a4fb4fd59876f;p=virtualjaguar diff --git a/src/eeprom.cpp b/src/eeprom.cpp index 1e422e4..6b2ef65 100644 --- a/src/eeprom.cpp +++ b/src/eeprom.cpp @@ -6,9 +6,13 @@ // Cleanups/enhancements by James L. Hammons // -#include #include "eeprom.h" + +#include // For memset +#include #include "settings.h" +#include "log.h" +#include "jaguar.h" #define eeprom_LOG @@ -39,14 +43,13 @@ uint16 jerry_ee_data = 0; uint16 jerry_ee_data_cnt = 16; uint16 jerry_writes_enabled = 0; uint16 jerry_ee_direct_jump = 0; -FILE * jerry_ee_fp; static char eeprom_filename[MAX_PATH]; static bool foundEEPROM = false; void eeprom_init(void) { sprintf(eeprom_filename, "%s%08X.eep", vjs.EEPROMPath, (unsigned int)jaguar_mainRom_crc32); - jerry_ee_fp = fopen(eeprom_filename, "rb"); + FILE * jerry_ee_fp = fopen(eeprom_filename, "rb"); if (jerry_ee_fp) { fread(eeprom_ram, 1, 128, jerry_ee_fp); @@ -55,12 +58,7 @@ void eeprom_init(void) foundEEPROM = true; } else - { - WriteLog("EEPROM: Creating %s\n", eeprom_filename); - jerry_ee_fp = fopen(eeprom_filename, "wb"); - if (jerry_ee_fp == NULL) - WriteLog("EEPROM: Could not open/create %s!\n", eeprom_filename); - } + WriteLog("EEPROM: Could not open file \"%s\"!\n", eeprom_filename); } void eeprom_reset(void) @@ -71,13 +69,18 @@ void eeprom_reset(void) void eeprom_done(void) { -//Actually, is this necessary now that we write the file immediately upon write to EEPROM? -// EEPROMSave(); } void EEPROMSave(void) { - jerry_ee_fp = fopen(eeprom_filename, "wb"); + FILE * jerry_ee_fp = fopen(eeprom_filename, "wb"); + + if (jerry_ee_fp == NULL) + { + WriteLog("EEPROM: Could not create file \"%s!\"\n", eeprom_filename); + return; + } + fwrite(eeprom_ram, 1, 128, jerry_ee_fp); fclose(jerry_ee_fp); }