Exemple #1
0
int main(int argc, char* argv[])
{
    unsigned int val;
    if (argc < 2)
    {
	print_usage();
	return 0;
    }
    if(strncmp(argv[1], "0b", 2) == 0)
    {
    	printf("%s:\t0x%08x\n", itob(btoi(argv[1])), btoi(argv[1]));
	printf("        |       |       |       \n");
	printf("        23      15      7       \n");
    }
    else if(strncmp(argv[1], "0x", 2) == 0)
    {
	val = strtol(argv[1], (char**)NULL, 16);
	printf("0x%08x:\t%s", val, itob(val)); 	 /* wrong usage: creates memory leak*/
	printf("\n\t\t        |       |       |       \n");
	printf("\t\t        23      15      7       \n");
    }
    else
	print_usage();

    return 0;
}
Exemple #2
0
void ReadTOC(void)
{
 unsigned char xbuffer[4];DWORD dwStatus;

 LockGenCDAccess();

 memset(&(sTOC),0,sizeof(sTOC));                       // init toc infos

 dwStatus=GetSCSITOC((LPTOC)&sTOC);                    // get toc by scsi... may change that for ioctrl in xp/2k?

 UnlockGenCDAccess();

 if(dwStatus!=SS_COMP) return;

#ifdef DBGOUT  	 
 auxprintf("TOC Last %d, max %08x,%08x\n",sTOC.cLastTrack,sTOC.tracks[sTOC.cLastTrack].lAddr,reOrder(sTOC.tracks[sTOC.cLastTrack].lAddr));
#endif 
                                                      // re-order it to psemu pro standards
 addr2time(reOrder(sTOC.tracks[sTOC.cLastTrack].lAddr),xbuffer);

#ifdef DBGOUT  	
 auxprintf("TOC %d, %d, %d, %d\n",
           xbuffer[0],xbuffer[1],xbuffer[2],xbuffer[3]  );
#endif
           
 xbuffer[0]=itob(xbuffer[0]);
 xbuffer[1]=itob(xbuffer[1]);
 xbuffer[2]=itob(xbuffer[2]);
 xbuffer[3]=itob(xbuffer[3]);
 lMaxAddr=time2addrB(xbuffer);                         // get max data adr
}
Exemple #3
0
unsigned long GetLastTrack1Addr(void)
{
 unsigned char xbuffer[4];DWORD dwStatus;
 unsigned long lmax;
 TOC xTOC;

 LockGenCDAccess();

 memset(&(xTOC),0,sizeof(xTOC));

 dwStatus=GetSCSITOC((LPTOC)&xTOC);

 UnlockGenCDAccess();

 if(dwStatus!=SS_COMP) return 0;

 addr2time(reOrder(xTOC.tracks[1].lAddr),xbuffer);

 xbuffer[0]=itob(xbuffer[0]);
 xbuffer[1]=itob(xbuffer[1]);
 xbuffer[2]=itob(xbuffer[2]);
 xbuffer[3]=itob(xbuffer[3]);

 lmax=time2addrB(xbuffer);
 if(lmax<150) return 0;

 return lmax-150;
}
Exemple #4
0
static void ReadTrack() {
	cdr.Prev[0] = itob(cdr.SetSector[0]);
	cdr.Prev[1] = itob(cdr.SetSector[1]);
	cdr.Prev[2] = itob(cdr.SetSector[2]);

	CDVD_LOG("KEY *** %x:%x:%x", cdr.Prev[0], cdr.Prev[1], cdr.Prev[2]);
	cdr.RErr = DoCDVDreadTrack(msf_to_lsn(cdr.SetSector), CDVD_MODE_2340);
}
Exemple #5
0
void ReadTrack() {
	cdr.Prev[0] = itob(cdr.SetSector[0]);
	cdr.Prev[1] = itob(cdr.SetSector[1]);
	cdr.Prev[2] = itob(cdr.SetSector[2]);

	CDR_LOG("KEY *** %x:%x:%x\n", cdr.Prev[0], cdr.Prev[1], cdr.Prev[2]);
	cdr.RErr = CDVDreadTrack(MSFtoLSN(cdr.SetSector), CDVD_MODE_2352);
}
Exemple #6
0
void ReadTrack() {
	cdr.Prev[0] = itob(cdr.SetSector[0]);
	cdr.Prev[1] = itob(cdr.SetSector[1]);
	cdr.Prev[2] = itob(cdr.SetSector[2]);

#ifdef CDR_LOG
	CDR_LOG("ReadTrack() Log: KEY *** %x:%x:%x\n", cdr.Prev[0], cdr.Prev[1], cdr.Prev[2]);
#endif
	cdr.RErr = CDR_readTrack(cdr.Prev);
}
Exemple #7
0
main()
{
    int test = 123;
    int b = 2;
    char s[1024];
    itob(test,s, b);
    printf("%d trans to %d is %s\n", test,b,s);
    itob(-test,s, b);
    printf("%d trans to %d is %s\n", -test,b,s);
}
Exemple #8
0
main()
{
	char s[100];

	printf("decimal: %d\n", -183);
	itob(-183, s, 2);
	printf("binary:  %s\n", s);
	itob(-183, s, 16);
	printf("hex:     %s\n", s);
}
Exemple #9
0
static void ReadTrack() {
	cdr.Prev[0] = itob(cdr.SetSector[0]);
	cdr.Prev[1] = itob(cdr.SetSector[1]);
	cdr.Prev[2] = itob(cdr.SetSector[2]);

	CDVD_LOG("KEY *** %x:%x:%x", cdr.Prev[0], cdr.Prev[1], cdr.Prev[2]);
	if (EmuConfig.CdvdVerboseReads)
		DevCon.WriteLn("CD Read Sector %x", msf_to_lsn(cdr.SetSector));
	cdr.RErr = DoCDVDreadTrack(msf_to_lsn(cdr.SetSector), CDVD_MODE_2340);
}
Exemple #10
0
int LoadCdromFile(const char *filename, EXE_HEADER *head) {
	struct iso_directory_record *dir;
	u8 time[4],*buf;
	u8 mdir[4096], exename[256];
	u32 size, addr;
	void *psxaddr;

	if (sscanf(filename, "cdrom:\\%255s", exename) <= 0)
	{
		// Some games omit backslash (NFS4)
		if (sscanf(filename, "cdrom:%255s", exename) <= 0)
		{
			SysPrintf("LoadCdromFile: EXE NAME PARSING ERROR (%s (%u))\n", filename, strlen(filename));
			exit (1);
		}
	}

	time[0] = itob(0); time[1] = itob(2); time[2] = itob(0x10);

	READTRACK();

	// skip head and sub, and go to the root directory record
	dir = (struct iso_directory_record *)&buf[12 + 156]; 

	mmssdd(dir->extent, (char*)time);

	READDIR(mdir);

	if (GetCdromFile(mdir, time, exename) == -1) return -1;

	READTRACK();

	memcpy(head, buf + 12, sizeof(EXE_HEADER));
	size = head->t_size;
	addr = head->t_addr;

	// Cache clear/invalidate dynarec/int. Fixes startup of Casper/X-Files and possibly others.
	psxCpu->Clear(addr, size / 4);
	psxRegs.ICache_valid = FALSE;

	while (size) {
		incTime();
		READTRACK();

		psxaddr = (void *)PSXM(addr);
		assert(psxaddr != NULL);
		memcpy(psxaddr, buf + 12, 2048);

		size -= 2048;
		addr += 2048;
	}

	return 0;
}
Exemple #11
0
int main(void) {

    char buf[1024];
    itob(124, buf, 2);
    printf("Переводим десятичное 124 в двоичную систему счисления: ");
    print(buf);
    printf("Переводим десятичное 124 в шестнадцатиричную систему счисления: ");
    itob(124, buf, 16);
    print(buf);
    return 0;
}
Exemple #12
0
// read CDDA sector into buffer
long CDRreadCDDA(unsigned char m, unsigned char s, unsigned char f, unsigned char *buffer) {
	unsigned char msf[3] = {itob(m), itob(s), itob(f)};
	unsigned char *p;

	if (CDRreadTrack(msf) != 0) return -1;

	p = CDRgetBuffer();
	if (p == NULL) return -1;

	memcpy(buffer, p - 12, CD_FRAMESIZE_RAW); // copy from the beginning of the sector
	return 0;
}
Exemple #13
0
int main(void)
{
  int n;
  char s[1000];

  n = 3545;
  itob(n,s,10);
  itob(n,s,16);
  itob(n,s,8);
  itob(n,s,2);
  return 0;
}
Exemple #14
0
//Exercise 3-5. Write the function itob(n,s,b) that converts the integer n into a base b character representation 
//in the string s. In particular, itob(n,s,16) formats s as a hexadecimal integer in s.
void ex3_5()
{
	char s[MAX_CHARS];
	int n = INT_MIN;//-2147483648;
	int b;
	printf("Number = %d\n", n);
	for (b = 2; b <= 36; b++)
	{
		itob(n, s, b);
		printf("%2d\t%s\n", b, s);
	}
	itob(n, s, b);

}
Exemple #15
0
int main()
{
	int len = 30;
	char data[len];
	int n = -23217;
	itob(n, data, 16);
	printf("%d (16) = %s\n", n, data);
	itob(n, data, 8);
	printf("%d (8) = %s\n", n, data);
	itob(n, data, 2);
	printf("%d (2) = %s\n", n, data);
	itob(n, data, 10);
	printf("%d (10) = %s\n", n, data);
	return 0;
}
Exemple #16
0
/*
 * 函数名: LBTest
 * 描  述: 灯板测试函数
 * 输  入: 无
 * 输  出: 无
 * 调  用: 外部调用
 */
void LBTest(void)
{
	rt_uint32_t key_value;
	
	while(1)
	{
		LCD_Clear();
		LCD_SetXY(0,0);
		LCD_WriteString("=========LB=========");
		LCD_SetXY(0,1);
		LCD_WriteString("LB1:");
		LCD_WriteInt(LB_Count(1));
		LCD_SetXY(10,1);
		LCD_WriteString("LB2:");
		LCD_WriteInt(LB_Count(2));
		LCD_SetXY(0,2);
		LCD_WriteString("LB1:");
		LCD_Printf("%s",itob(LB_recv[0].v));
		LCD_SetXY(0,4);
		LCD_WriteString("LB2:");
		LCD_Printf("%s",itob(LB_recv[1].v));
		LCD_SetXY(0,6);
		LCD_WriteString("1.LB_Init");
		LCD_SetXY(10,6);
		LCD_WriteString("2.LB_State");
		LCD_SetXY(0,7);
		LCD_WriteString("3.LB_Test");
		
		if(rt_mb_recv(&Mb_Key, &key_value, RT_WAITING_NO) == RT_EOK)
		{
			switch(key_value)
			{
				case key1:
					LB_Init();
					break;
				case key2:
					LB_State();
					break;
				case key3:
					LB_Test();
					break;
				case keyback:
					return;
			}
		}
		Delay_ms(10);
	}
}
void write_frame(ID3v2_frame* frame, FILE* file)
{
    fwrite(frame->frame_id, 1, 4, file);
    fwrite(itob(frame->size), 1, 4, file);
    fwrite(frame->flags, 1, 2, file);
    fwrite(frame->data, 1, frame->size, file);
}
Exemple #18
0
int main(int argc, char *argv[])
{
	int base = 10;
	if (argc > 2 || (argc == 2 && strlen(argv[1]) != 2)) return -1;
	else if (argc == 2)
		if (argv[1][1] == 'o') base = 8;
		else if (argv[1][1] == 'x') base = 16;
		else return -1;
	
	int len, line = 0;
	long num;	/* can't deal with double */
	char word[MAXWORD];
	while ((len = getword(word, MAXWORD)) != END) {
		if (len == NUMBER) {
			num = atol(word);
			itob(num, word, base);
			len = strlen(word);
		}
		if (len == NEWLINE) {
			putchar('\n');
			line = 0;
		} else if ((line + len) > MAXLINE) {
			printf("\n%s", word);
			line = len;
		} else {
			line += len;
			printf("%s", word);
		}
	}
	return 0;
}
Exemple #19
0
int main(void)
{
	char buffer[20];

	itob(INT_MIN,buffer,7);
	printf("Decimal : %s\n", buffer);
}
int main()
{
    char buffer[100];
    itob(165, buffer, 10);
    printf("%s\n", buffer);
    return 0;
}
/**
  @brief Sauvegarde le schema dans un fichier RIFF
  @param mem Tampon mémoire
  @return Résultat de procèdure
*/
bool QEquipmentView::toRIFF(PTR* mem)
{
    RIFF riff = {{'R','I','F','F'},sizeof(RIFF_HEADER)};

    QList<QGraphicsItem*> list = scene.items();
    QList<QGraphicsItem*>::iterator i;

    //ecrit les données
    if(!riff_write(mem,&riff))
        return false;

    for (i = list.begin(); i != list.end(); ++i){
        QEquipmentItem* item = (QEquipmentItem*)*i;
        //initialise la structure de l'item
        RIFF_EQUIP equip;
        equip.id = item->getEquipment().equipmentId;
        strcpy(equip.name,item->getEquipment().name.toLatin1().data());
        strcpy(equip.type,item->getEquipment().type.toLatin1().data());
        //ecrit en mémoire
        if(!riff_write_tag(mem,"EQUI",sizeof(RIFF_EQUIP)))
            return false;
        if(!itob(mem,equip.id))
            return false;
        if(!bwrite(mem,equip.name,sizeof(equip.name)))
            return false;
        if(!bwrite(mem,equip.type,sizeof(equip.type)))
            return false;
    }

    return QRESULT_OK();
}
Exemple #22
0
main() {
    char num[50] = "";
    int n;
    n = 47;
    itob(n, num, 16);
    printf("\nresult %s base %d\n", num, 16);
}
Exemple #23
0
//turn false:自分から相手 true:相手から自分
int doxor(int fin_int, bool from, bool to, int shift, bool turn) {
	int tohand,fromhand;
	bool shifted[4],dest[16],fin[16];

	itob(fin_int,fin);

	if (!turn) {
		tohand=to?3:2;
		fromhand=from?1:0;
	} else {
		tohand=to?1:0;
		fromhand=from?3:2;
	}

	for (int i=0;i<4;i++) {
		if (i!=tohand) {
			for (int j=0;j<4;j++) dest[i*4+j]=fin[i*4+j];
		} else {
			for (int j=0;j<4;j++) shifted[j]=false;
			for (int j=0;j<4;j++) if (0<=j+shift && j+shift<4) shifted[j+shift]=fin[fromhand*4+j];
			for (int j=0;j<4;j++) dest[tohand*4+j] = fin[tohand*4+j] ^ shifted[j];
		}
	}

	return btoi(dest);
}
Exemple #24
0
main()
{
	char s[999];
	itob(200, s, 20);
	printf("S is %s\n", s);
	return 0;
}
Exemple #25
0
static void ReadTrack(const u8 *time)
{
	unsigned char tmp[3];
	struct SubQ *subq;
	u16 crc;

	tmp[0] = itob(time[0]);
	tmp[1] = itob(time[1]);
	tmp[2] = itob(time[2]);

	if (memcmp(cdr.Prev, tmp, 3) == 0)
		return;

	CDR_LOG("ReadTrack *** %02x:%02x:%02x\n", tmp[0], tmp[1], tmp[2]);

	cdr.RErr = CDR_readTrack(tmp);
	memcpy(cdr.Prev, tmp, 3);

	//senquack - PPF patch file support; not yet added (TODO?)
#if 0
	if (CheckSBI(time))
		return;
#endif

	subq = (struct SubQ *)CDR_getBufferSub();
	if (subq != NULL && cdr.CurTrack == 1) {
		crc = calcCrc((u8 *)subq + 12, 10);
		if (crc == (((u16)subq->CRC[0] << 8) | subq->CRC[1])) {
			cdr.subq.Track = subq->TrackNumber;
			cdr.subq.Index = subq->IndexNumber;
			memcpy(cdr.subq.Relative, subq->TrackRelativeAddress, 3);
			memcpy(cdr.subq.Absolute, subq->AbsoluteAddress, 3);
		}
		else {
			CDR_LOG_I("subq bad crc @%02x:%02x:%02x\n",
				tmp[0], tmp[1], tmp[2]);
		}
	}
	else {
		generate_subq(time);
	}

	CDR_LOG(" -> %02x,%02x %02x:%02x:%02x %02x:%02x:%02x\n",
		cdr.subq.Track, cdr.subq.Index,
		cdr.subq.Relative[0], cdr.subq.Relative[1], cdr.subq.Relative[2],
		cdr.subq.Absolute[0], cdr.subq.Absolute[1], cdr.subq.Absolute[2]);
}
Exemple #26
0
int main(){
	int n = 14,b = 16;
	char s[60];
	int i;
	itob(n,s,b);
	for(i=0;s[i]!='\0';++i)putchar(s[i]);
	return 0;
}
Exemple #27
0
int main(void){
	char s[100];
	itob(35,s,2);

	printf("%s\n",s);
	getchar();
	return 0;
}
int main(void)
{
    char s[64];
    itob(-255, s, 8);
    printf("%s\n", s);

    return EXIT_SUCCESS;
}
Exemple #29
0
int main(){
	unsigned int x = 02665;
	unsigned int y = 012;
	char c[BITS+1];
	c[BITS] = '\0';
	itob(x,c);
	printf("x:");
	printb(c);
	itob(y,c);
	printf("y:");
	printb(c);
	itob(getbits(x,6,4,y),c);
	printf("R:");
	printb(c);
	//printf("%d\n", getbits(x,8,3,y));
	return 0;
}
Exemple #30
-1
int main() {

    int i, j, b, l;
    char a[MAXSTRING];

    i = 25;
    itoa(i, a);
    printf("itoa(%d, a) = %s\n", i, a);
    i = -13;
    itoa(i, a);
    printf("itoa(%d, a) = %s\n", i, a);

    b = 2;
    i = 27;
    itob(i, a, b);
    printf("itob(%d, a, %d) = %s\n", i, b, a);
    b = 16;
    itob(i, a, b);
    printf("itob(%d, a, %d) = %s\n", i, b, a);

    i = 27;
    l = 0;
    itoa2(i, a, l);
    printf("itoa2(%d, a, %d) = %s, strlen(a) = %d\n", i, l, a, strlen(a));
    l = 4;
    itoa2(i, a, l);
    printf("itoa2(%d, a, %d) = %s, strlen(a) = %d\n", i, l, a, strlen(a));
    l = 15;
    itoa2(i, a, l);
    printf("itoa2(%d, a, %d) = %s, strlen(a) = %d\n", i, l, a, strlen(a));

    return 0;
}