Example #1
0
// Checked
uint8_t
XTDBSync(XTDBHandle* handle,uint8_t diskSync) {
    _S_FN(sync);
    if (!DBSync(handle->mainDB,diskSync)) {
        handle->error = XTDB_IO_ERR;
        return False;
    }
    /*DBClose(handle->mainDB);
    DBOpen(handle->mainDB,BDBOCREAT|BDBOWRITER);*/
    /*HashTableIterator iter;
    hash_table_iterate(handle->indexes,&iter);
    while (hash_table_iter_has_more(&iter)) {
       DataBaseBE* be = hash_table_iter_next(&iter);

       DBSync(be);

    }*/

    if (!XTDBForAllIDX(handle,XTDBSyncIndexIter,NULL,NULL,&diskSync)) {
        return False;
    }
    if (!DBSync(handle->descDB,diskSync)) {
        handle->error = XTDB_IO_ERR;
        return False;
    }
    _E_FN(sync);
}
Example #2
0
static void DBPower(CartInfo *info)
{
 lastmc = -1;

 memset(DRegs,0x3F,8);
 DRegs[0]=DRegs[1]=0x1F;

 DBSync();

 setprg8(0xc000,0x3E);
 setprg8(0xe000,0x3F);
}
Example #3
0
static int StateAction(StateMem *sm, int load, int data_only)
{
 SFORMAT StateRegs[]={
        SFARRAYN(DRegs, 8, "DREG"),
	SFVARN(cmd, "CMD"),
	SFVARN(lastA, "LAST"),
	SFVAR(lastmc),
	SFEND
 };


 int ret = MDFNSS_StateAction(sm, load, data_only, StateRegs, "MAPR");

 if(load)
  DBSync();

 return(ret);
}
Example #4
0
uint8_t
XTDBSyncIndexIter(XTDBHandle* handle,const char* indexName,DataBaseBE* db,void* voidArgs) {
    return DBSync(db,*((uint8_t*)voidArgs));
}