Example #1
0
void vm_fclose(VMFILE *fp)
{
	int i;
	int x,y;

	if (!fp->_cnt)
		goto _exit;

	if (fp->_vm > 0)
		if (save_to_vmu(fp->_vm, fp->filename, fp->_base, fp->_cnt)) {
#ifndef NOSERIAL
			printf("SUCCESS port %c%d", 'A'+ fp->_vm/6, fp->_vm%6);
#endif

			goto _exit;
		}

	for (i=0; i<24; i++)
		if (save_to_vmu(i, fp->filename, fp->_base, fp->_cnt)) {
#ifndef NOSERIAL
			printf("SUCCESS port %c%d", 'A'+ i/6, i%6);
#endif
			break;
		}

	if (i>=24) {
#ifndef NOSERIAL			
		fprintf(stderr,"no available vmu\n");
#endif
	}

_exit:
	fh[fp->_fd].used = 0;
	return;
}
Example #2
0
static void SaveData_finalize(unsigned int id)
{
	char path[16];
	char long_desc[32] ;
	char short_desc[16];
	unsigned char buf[MAX_VM_SIZE];
	const char *save_title = "Select a VMU to save";

	if (checked_vm < 0)
		return;

	sprintf(long_desc, "%s/Save File", ini_title);
	milstr_ncpy(short_desc, ini_title ,sizeof(short_desc));


	loadSaveDatafromVmu(id);

  
	ZeroMemory(buf, sizeof(buf));
	sprintf(path, "%x", id);
  
	int files = saveSaveData(id, buf);

	if (!files)
		return;

	int res = checked_vm;

	if (!res && !vmu_select(&res, save_title)) {
		checked_vm = -1;
		return;
	}
  
	for (;;) {
		display_message("Saving, do not power off or remove VMU!");
    
		if (!save_to_vmu(res, path, long_desc, short_desc, buf, MAX_VM_SIZE, &icon)) {

			display_message("Failed!");
			drawlcdstring(res, 0, 8, "FAILED!");

			if (!vmu_select(&res, save_title)) {
				checked_vm = -1;
				return;
			}
		} else {
			display_message("Saved!");
			drawlcdstring(res, 0, 8, "SAVED!");
      
			checked_vm = res;
			return;
		}
	}
}
Example #3
0
int SDL_main(int argc, char *argv[])
{
	int vm;
	unsigned int size;
	uint8_t *data;
	char *srcfile = "profile3.dat";
	
	if(!vmfile_search(srcfile, &vm))
		vm = 1;

	FILE *fp;
	fp = fopen(srcfile, "rb");
	if (!fp)
	{
		stat("failed to open!");
		return 1;
	}

	fseek(fp, 0L, SEEK_END);
	size = ftell(fp);
	fseek(fp, 0L, SEEK_SET);
	
	data = (uint8_t*)malloc(size);
	
	if(!data) {
		fclose(fp);
		return 1;
	}

	memset(data, 0, size);

	fread(data, 1, size, fp);
	fclose(fp);

	save_to_vmu(vm, srcfile, (const char*)data, size);

	free(data);
	return 0;
}