void neogeo_nvram_handler(void *file,int read_or_write) { if (read_or_write) { /* Save the SRAM settings */ osd_fwrite_msbfirst(file,neogeo_sram,0x2000); /* save the memory card */ neogeo_memcard_save(); } else { /* Load the SRAM settings for this game */ if (file) osd_fread_msbfirst(file,neogeo_sram,0x2000); else memset(neogeo_sram,0,0x10000); /* load the memory card */ neogeo_memcard_load(memcard_number); } }
ROM_END static int terracre_hiload(void) { void *f; /* check if the hi score table has already been initialized */ if (READ_WORD(&terrac_ram[0x004a]) == 0x330e && READ_WORD(&terrac_ram[0x004c]) == 0x2635 && READ_WORD(&terrac_ram[0x0082]) == 0x320e && READ_WORD(&terrac_ram[0x0084]) == 0x3921) { if ((f = osd_fopen(Machine->gamedrv->name,0,OSD_FILETYPE_HIGHSCORE,0)) != 0) { osd_fread_msbfirst(f,&terrac_ram[0x46],14*5); fast_memcpy(&terrac_ram[0x8c], &terrac_ram[0x46], 4); osd_fclose(f); } return 1; } else return 0; /* we can't load the hi scores yet */ }