Exemplo n.º 1
0
bool my_utime (const TCHAR *name, struct mytimeval *tv) {

  struct DateStamp stamp;

  DebOut("name: %s\n", name);

  if(!tv) {
    /* get current time */
    struct DateTime dt;
    DateStamp(&dt.dat_Stamp);
    stamp.ds_Days   = dt.dat_Stamp.ds_Days;
    stamp.ds_Minute = dt.dat_Stamp.ds_Minute;
    stamp.ds_Tick   = dt.dat_Stamp.ds_Tick;
  }
  else {
    /* use supplied time */
    /* NOT TESTED! */
    struct mytimeval tv2;
    tv2.tv_sec = tv->tv_sec;
    tv2.tv_usec = tv->tv_usec;

    timeval_to_amiga (&tv2, &stamp.ds_Days, &stamp.ds_Minute, &stamp.ds_Tick);
  }

  DebOut("stamp.ds_Days: %d\n", stamp.ds_Days);
  DebOut("stamp.ds_Minute: %d\n", stamp.ds_Minute);
  DebOut("stamp.ds_Tick: %d\n", stamp.ds_Tick);

  return SetFileDate(name, &stamp);
}
Exemplo n.º 2
0
void fsdb_init_file_info(fsdb_file_info *info)
{
    info->days = 0;
    info->mins = 0;
    info->ticks = 0;
    info->comment = NULL;
    info->mode = A_FIBF_READ | A_FIBF_WRITE | A_FIBF_EXECUTE | A_FIBF_DELETE;

    if (uae_deterministic_mode()) {
        // leave time at 0, 0, 0
    } else {
        fs_time_val tv;
        fs_get_current_time(&tv);
        struct mytimeval mtv;
        mtv.tv_sec = tv.tv_sec + fs_get_local_time_offset(tv.tv_sec);
        mtv.tv_usec = tv.tv_usec;
        timeval_to_amiga (&mtv, &info->days, &info->mins, &info->ticks, 50);
        if (g_fsdb_debug) {
            write_log("- initialized date/time from current time\n");
            write_log("- days %d mins %d ticks %d - %lld %d\n",
                    info->days, info->mins, info->ticks, mtv.tv_sec,
                    mtv.tv_usec);
        }
    }
}
Exemplo n.º 3
0
static uae_u8 cdtvcr_bget2 (uaecptr addr)
{
	uae_u8 v = 0;
	addr &= CDTVCR_MASK;
	if (addr < CDTVCR_RAM_OFFSET) {
		v = cdtvcr_4510_ram[addr];
	}
	if (addr >= CDTVCR_RAM_OFFSET && addr < CDTVCR_RAM_OFFSET + CDTVCR_RAM_SIZE) {
		v = cdtvcr_battram_read(addr - CDTVCR_RAM_OFFSET);
	} else if (addr >= CDTVCR_CLOCK && addr < CDTVCR_CLOCK + 0x20) {
		int reg = addr - CDTVCR_CLOCK;
		int days, mins, ticks;
		int tickcount = currprefs.ntscmode ? 60 : 50;
		struct timeval tv;
		struct mytimeval mtv;
		gettimeofday (&tv, NULL);
		tv.tv_sec -= _timezone;
		mtv.tv_sec = tv.tv_sec;
		mtv.tv_usec = tv.tv_usec;
		timeval_to_amiga(&mtv, &days, &mins, &ticks, tickcount);
		switch (reg)
		{
			case 0:
			case 1:
			v = cdtvcr_clock[reg];
			break;
			case 2:
			v = days >> 8;
			break;
			case 3:
			v = days;
			break;
			case 4:
			v = mins / 60;
			break;
			case 5:
			v = mins % 60;
			break;
			case 6:
			v = ticks / tickcount;
			break;
			case 7:
			v = ticks % tickcount;
			break;
			case 8:
			v = tickcount;
			break;

		}
	} else {
Exemplo n.º 4
0
bool my_utime (const TCHAR *name, struct mytimeval *tv)
{
        int tolocal;
        int days, mins, ticks;
        struct mytimeval tv2;

        if (!tv) {
                struct timeb time;
                ftime (&time);
                tv2.tv_sec = time.time;
                tv2.tv_usec = time.millitm * 1000;
                tolocal = 0;
        } else {
                tv2.tv_sec = tv->tv_sec;
                tv2.tv_usec = tv->tv_usec;
                tolocal = 1;
        }
        timeval_to_amiga (&tv2, &days, &mins, &ticks);
        if (setfiletime (name, days, mins, ticks, tolocal))
                return true;

        return false;
}