コード例 #1
0
ファイル: cmd92.c プロジェクト: TI8XEmulator/graph89
int ti92_send_VAR_h(CalcHandle* handle, uint32_t varsize, uint8_t vartype, const char *varname)
{
  uint8_t buffer[32];
  char trans[17];

  ticonv_varname_to_utf8_s(handle->model, varname, trans, vartype);

  buffer[0] = LSB(LSW(varsize));
  buffer[1] = MSB(LSW(varsize));
  buffer[2] = LSB(MSW(varsize));
  buffer[3] = MSB(MSW(varsize));
  buffer[4] = vartype;
  buffer[5] = strlen(varname);
  memcpy(buffer + 6, varname, strlen(varname));

  ticalcs_info(" PC->TI: VAR (size=0x%08X=%i, id=%02X, name=%s)", varsize, varsize, vartype, trans);
  TRYF(dbus_send(handle, PC_TI92, CMD_VAR, 6 + strlen(varname), buffer));

  return 0;
}
コード例 #2
0
ファイル: cmd85.c プロジェクト: debrouxl/tilp-libticalcs
/* Request to send (var header: SPC padded, fixed length) */
int ti85_send_RTS(CalcHandle* handle, uint16_t varsize, uint8_t vartype, const char *varname)
{
  uint8_t buffer[16];
  char trans[9];

  buffer[0] = LSB(varsize);
  buffer[1] = MSB(varsize);
  buffer[2] = vartype;
  buffer[3] = strlen(varname);
  memcpy(buffer + 4, varname, 8);
  pad_buffer_to_8_chars(buffer + 4, ' ');

  ticonv_varname_to_utf8_s(handle->model, varname, trans, vartype);
  ticalcs_info(" PC->TI: RTS (size=0x%04X, id=%02X, name=%s)",
	  varsize, vartype, trans);

  TRYF(dbus_send(handle, PC_TI8586, CMD_RTS, 12, buffer));

  return 0;
}
コード例 #3
0
ファイル: cmd73.c プロジェクト: Jonimoose/tilp-libticalcs
int ti73_send_DEL_h(CalcHandle* handle, uint16_t varsize, uint8_t vartype, const char *varname,
		  uint8_t varattr)
{
	uint8_t buffer[16] = { 0 };
	char trans[9];

	buffer[0] = LSB(varsize);
	buffer[1] = MSB(varsize);
	buffer[2] = vartype == TI83p_APPL ? 0x14 : vartype;
	memcpy(buffer + 3, varname, 8);
	pad_buffer(buffer + 3, '\0');
	buffer[11] = 0x00;

	ticonv_varname_to_utf8_s(handle->model, varname, trans, vartype);
	ticalcs_info(" PC->TI: DEL (name=%s)", trans);

	TRYF(dbus_send(handle, PC_TI7383, CMD_DEL, 11, buffer));
  
	return 0;
}
コード例 #4
0
ファイル: cmd85.c プロジェクト: debrouxl/tilp-libticalcs
/* Variable (std var header: NUL padded, variable length) */
int ti85_recv_VAR(CalcHandle* handle, uint16_t * varsize, uint8_t * vartype, char *varname)
{
  uint8_t host, cmd;
  uint8_t *buffer = (uint8_t *)handle->priv2;
  uint16_t length;
  char trans[9];
  uint8_t strl;

  TRYF(dbus_recv(handle, &host, &cmd, &length, buffer));

  if (cmd == CMD_EOT)
    return ERR_EOT;		// not really an error

  if (cmd == CMD_SKP)
    return ERR_VAR_REJECTED;

  if (cmd != CMD_VAR)
    return ERR_INVALID_CMD;

  //if((length != (4+strlen(varname))) && (length != 9)) 
  //return ERR_INVALID_PACKET; 

  *varsize = buffer[0] | (buffer[1] << 8);
  *vartype = buffer[2];
  if (*vartype != TI8586_BKUP) 
  {
    strl = buffer[3];
    memcpy(varname, buffer + 4, strl);
    varname[strl] = '\0';
  } 
  else 
  {
    memcpy(varname, buffer + 3, 8);
  }

  ticonv_varname_to_utf8_s(handle->model, varname, trans, *vartype);
  ticalcs_info(" TI->PC: VAR (size=0x%04X, id=%02X, name=%s)",
	  *varsize, *vartype, trans);

  return 0;
}
コード例 #5
0
ファイル: filesnsp.c プロジェクト: TI8XEmulator/graph89
/**
 * tnsp_content_display_regular:
 * @content: a FileContent structure.
 *
 * Display fields of a FileContent structure.
 *
 * Return value: an error code, 0 otherwise.
 **/
int tnsp_content_display_regular(FileContent *content)
{
  int i;
  char trans[17];

  if (content == NULL)
  {
    tifiles_critical("%s(NULL)", __FUNCTION__);
    return ERR_INVALID_FILE;
  }

  tifiles_info("Signature:         %s",
	  tifiles_calctype2signature(content->model));
  tifiles_info("Comment:           %s", content->comment);
  tifiles_info("Default folder:    %s", content->default_folder);
  tifiles_info("Number of entries: %i", content->num_entries);

  for (i = 0; i < content->num_entries /*&& i<5 */ ; i++) 
  {
    tifiles_info("Entry #%i", i);
    tifiles_info("  folder:    %s", content->entries[i]->folder);
    tifiles_info("  name:      %s",
	    ticonv_varname_to_utf8_s(content->model, content->entries[i]->name, 
			trans, content->entries[i]->type));
    tifiles_info("  type:      %02X (%s)",
	    content->entries[i]->type,
	    tifiles_vartype2string(content->model, content->entries[i]->type));
    tifiles_info("  attr:      %s",
	    tifiles_attribute_to_string(content->entries[i]->attr));
    tifiles_info("  length:    %04X (%i)",
	    content->entries[i]->size, content->entries[i]->size);
  }

  tifiles_info("Checksum:    %04X (%i) ", content->checksum,
	  content->checksum);

  return 0;
}
コード例 #6
0
ファイル: cmd82.c プロジェクト: TI8XEmulator/graph89
int ti82_recv_RTS_h(CalcHandle* handle, uint16_t * varsize, uint8_t * vartype, char *varname)
{
  uint8_t host, cmd;
  uint8_t *buffer = (uint8_t *)handle->priv2;
  char trans[9];


  TRYF(dbus_recv(handle, &host, &cmd, varsize, buffer));

  if (cmd != CMD_RTS)
    return ERR_INVALID_CMD;

  *varsize = buffer[0] | (buffer[1] << 8);
  *vartype = buffer[2];
  memcpy(varname, buffer + 3, 8);
  varname[8] = '\0';

  ticonv_varname_to_utf8_s(handle->model, varname, trans, *vartype);
  ticalcs_info(" TI->PC: RTS (size=0x%04X=%i, id=%02X, name=%s)",
	  *varsize, *varsize, *vartype, trans);

  return 0;
}
コード例 #7
0
ファイル: cmd73.c プロジェクト: debrouxl/tilp-libticalcs
TIEXPORT3 int TICALL ti73_recv_RTS(CalcHandle* handle, uint16_t * varsize, uint8_t * vartype, char *varname, uint8_t * varattr)
{
	uint8_t host, cmd;
	uint8_t *buffer;
	char trans[9];

	if (handle == NULL)
	{
		ticalcs_critical("%s: handle is NULL", __FUNCTION__);
		return ERR_INVALID_HANDLE;
	}
	if (varsize == NULL || vartype == NULL || varname == NULL || varattr == NULL)
	{
		ticalcs_critical("%s: an argument is NULL", __FUNCTION__);
		return ERR_INVALID_PACKET;
	}

	buffer = (uint8_t *)handle->priv2;
	TRYF(dbus_recv(handle, &host, &cmd, varsize, buffer));

	if (cmd != CMD_RTS)
	{
		return ERR_INVALID_CMD;
	}

	*varsize = buffer[0] | (buffer[1] << 8);
	*vartype = buffer[2];
	memcpy(varname, buffer + 3, 8);
	varname[8] = '\0';
	*varattr = (buffer[12] & 0x80) ? ATTRB_ARCHIVED : ATTRB_NONE;

	ticonv_varname_to_utf8_s(handle->model, varname, trans, *vartype);
	ticalcs_info(" TI->PC: RTS (size=0x%04X, id=%02X, name=%s, attrb=%i)", *varsize, *vartype, trans, *varattr);

	return 0;
}