cfg.c 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #include "cfg.h"
  2. #include "config.h"
  3. #include "uart.h"
  4. #include "fileops.h"
  5. cfg_t CFG =
  6. {
  7. .cfg_ver_maj = 1,
  8. .cfg_ver_min = 0,
  9. .last_game_valid = 0,
  10. .vidmode_menu = VIDMODE_AUTO,
  11. .vidmode_game = VIDMODE_AUTO,
  12. .pair_mode_allowed = 0,
  13. .bsx_use_systime = 0,
  14. .bsx_time = 0x0619970301180530LL
  15. };
  16. int cfg_save()
  17. {
  18. int err = 0;
  19. file_open( CFG_FILE, FA_CREATE_ALWAYS | FA_WRITE );
  20. if ( file_writeblock( &CFG, 0, sizeof( CFG ) ) < sizeof( CFG ) )
  21. {
  22. err = file_res;
  23. }
  24. file_close();
  25. return err;
  26. }
  27. int cfg_load()
  28. {
  29. int err = 0;
  30. file_open( CFG_FILE, FA_READ );
  31. if ( file_readblock( &CFG, 0, sizeof( CFG ) ) < sizeof( CFG ) )
  32. {
  33. err = file_res;
  34. }
  35. file_close();
  36. return err;
  37. }
  38. int cfg_save_last_game( uint8_t *fn )
  39. {
  40. int err = 0;
  41. file_open( LAST_FILE, FA_CREATE_ALWAYS | FA_WRITE );
  42. err = f_puts( ( const TCHAR * )fn, &file_handle );
  43. file_close();
  44. return err;
  45. }
  46. int cfg_get_last_game( uint8_t *fn )
  47. {
  48. int err = 0;
  49. file_open( LAST_FILE, FA_READ );
  50. f_gets( ( TCHAR * )fn, 255, &file_handle );
  51. file_close();
  52. return err;
  53. }
  54. void cfg_set_last_game_valid( uint8_t valid )
  55. {
  56. CFG.last_game_valid = valid;
  57. }
  58. uint8_t cfg_is_last_game_valid()
  59. {
  60. return CFG.last_game_valid;
  61. }