示例#1
0
void print_memory_page2(int mem_index) {
    int i,j;
    int pagesize = 256;
    //  printf("\n  printf(   \%04x ,mem_index);");
    for(i=mem_index; i<mem_index + 16; ++i) {
        /*    printf("        ----'----\n");*/

        printf("%02x ", 	conv_bitstr2int(memory[i],0,7));
        /* printf("%i   ", 	conv_bitstr2int(memory[i],0,7)); */
        /* printf("%s   ", 	memory[i]); */
        /* for(j=0;memory[i][j]; j++) */
        /*   printf("%c", memory[i][j]); */
    }
    printf("sdfsdf\n");
    /*  printf("        ----'----");*/
    printf("   ");
    for(i=0; i<16; i++) {
        printf("%02x ",i);
    }
    i=0;
    for(j=0; j<4; ++j) {
        printf("\n%02x ",	pagesize*mem_index+j*16+i);
        for(i=0; i<16; ++i) {
            //    printf("        ----'----\n");

            printf("%02x ",	conv_bitstr2int(memory[pagesize*mem_index+j*16+i],0,7));
            /* printf("%i   ", 	conv_bitstr2int(memory[i],0,7)); */
            /* printf("%s   ", 	memory[i]); */
            /* for(j=0;memory[i][j]; j++) */
            /*   printf("%c", memory[i][j]); */
        }

    }
}
示例#2
0
int pc2int(){
  int i,j;
  i = conv_bitstr2int(pcl, 0, 7);
  j = conv_bitstr2int(pch, 0, 7);
  j = (j<<8) + i;
  return j;
}
示例#3
0
void print_stack(struct _6510_cpu* cpu, char memory[][9]){
  int spi = conv_bitstr2int(cpu->sp,0,7);
  int i;
  for(i=spi-2;i<spi+3;i++){
    printf("mem[%02x'%02x] = \t   %02x\n", 1, i%256, conv_bitstr2int(memory[i%256+256],0,7));
  }
}
示例#4
0
void monitor_print_mem(int mem_index, int rows, int cols){
   int i,j;
  int pc = pc2int();
  clear();//move(0,0);

  mon_print_opcodeinfo0();
  mon_print_registers();
  mon_print_src_line(pc);
	
  printw("\n     ");
  for(i=0;i<cols;i++){
	printw("%02x ",(mem_index+i)%256);
  }
  i=0;
  for(j=0; j<rows; ++j) {
    printw("\n%04x ",	mem_index +j*cols);
    for(i=0; i<cols; ++i) {
	  if(pc==mem_index+ j*cols+i){
		printw("%02x ",conv_bitstr2int(memory[mem_index + j*cols+i],0,7));
		//print_color(conv_bitstr2int(memory[mem_index + j*cols+i],0,7));
	  //printf(RED "%02x " RESET ,conv_bitstr2int(memory[mem_index + j*cols+i],0,7));
	  } else {
		printw("%02x ",conv_bitstr2int(memory[mem_index + j*cols+i],0,7));
		//		mvprintw(0,0,"%02x",conv_bitstr2int(memory[mem_index + j*cols+i],0,7));
		
		//print_color(conv_bitstr2int(memory[mem_index + j*cols+i],0,7));
		//		printf("%02x ",	conv_bitstr2int(memory[mem_index + j*cols+i],0,7));
	  }
    }
  }
  printw("\n");
  doupdate();
  refresh();
}
示例#5
0
void printm(struct _6510_cpu* cpu, char memory[][9]){
  int adr = 12 ; 
  printf("\nmem[%02x'%02x] = \t   %02x\n", conv_bitstr2int(cpu->pch,0,7), conv_bitstr2int(cpu->pcl,0,7), conv_bitstr2int(memory[adr],0,7));

  print_stack(cpu, memory);
  printf("abrl:  \t\t   %02x\n",   conv_bitstr2int(cpu->abrl,0,7));
  printf("abrh:  \t\t   %02x\n",   conv_bitstr2int(cpu->abrh,0,7));
  printf("dbr:   \t\t   %02x\n",   conv_bitstr2int(cpu->dbr,0,7));
  printf("***********************************\n\n");
}
示例#6
0
void print_memory_page0(char memory[][9], int adr){
 int i=0,j;
 // char (*mem)[9] = (char*) &(memory[adr]);
  for(j=0;j<5;j++){
    printf("%04x ", adr+j*16);
    for(i=0;i<16;i++){
      //      printf(" %02x ", conv_bitstr2int(mem++,0,7));
      printf(" %02x ", conv_bitstr2int(memory[adr + j*16+i],0,7));
    }
    printf(" \n");
  }
}
示例#7
0
void print_cpu_dis(struct _6510_cpu* cpu, char memory[][9] ) {
  char dis_txt[] = "                                                                   \n";
  int pc = pc2int(cpu);
  //dis(cpu, (char*)memory[pc], dis_txt);
  dis(cpu, memory+pc, dis_txt);

  printf("AC XR YR SP NV-BDIZC         \n");
  printf("%02x %02x %02x %02x %c%c%c%c%c%c%c%c %s\n",
	 conv_bitstr2int(cpu->rega,0,7),
	 conv_bitstr2int(cpu->regx,0,7),
	 conv_bitstr2int(cpu->regy,0,7),
	 conv_bitstr2int(cpu->sp,0,7),

	 cpu->flags[NFLAG],
	 cpu->flags[OFLAG],
	 '-',
	 cpu->flags[BFLAG],
	 cpu->flags[DFLAG],
	 cpu->flags[IFLAG],
	 cpu->flags[ZFLAG],
    cpu->flags[CFLAG],
	 dis_txt 
	 );
}
示例#8
0
void print_memory_page0(int mem_index) {
    int rows = 6;
    int cols = 16;
    int i,j;
    printf("\n     ");
    for(i=0; i<cols; i++) {
        printf("%02x ",(mem_index+i)%256);
    }
    i=0;
    for(j=0; j<rows; ++j) {
        printf("\n%04x ",	mem_index +j*cols);
        for(i=0; i<cols; ++i) {
            printf("%02x ",	conv_bitstr2int(memory[mem_index + j*cols+i],0,7));
        }
    }
    printf("\n");
}
示例#9
0
void print_dis_memory(char memory[][9], int adr){
 int i=0,j;
 char dis[40];

 int bytes = dis_mem(memory, adr, dis) ;

 for(j=0;j<5;j++){
    printf("%04x", adr);
    for(i=0;i<bytes;i++){
      printf(" %02x", conv_bitstr2int(memory[adr+i],0,7));
    }
    for(i=0;i<3-bytes;i++){
      //      printf("   ", conv_bitstr2int(memory[adr+i],0,7));
      printf("   ");
    }
    printf(" %s", dis);
    printf(" \n");
    adr = adr + bytes;
    bytes =  dis_mem(memory, adr, dis) ;
  }
}
示例#10
0
void mon_print_registers(){
  printw(" PC  AC XR YR SP NV-BDIZC IR \n");
  printw("%02x%02x %02x %02x %02x %02x %c%c%c%c%c%c%c%c %02x \n",
		 conv_bitstr2int(pch,0,7),
		 conv_bitstr2int(pcl,0,7),
		 conv_bitstr2int(acc,0,7),
		 conv_bitstr2int(idx,0,7),
		 conv_bitstr2int(idy,0,7),
		 conv_bitstr2int(sp,0,7),

		 getSignflag(flags),
		 getOverflowflag(flags),
		 '1',
		 getBRKflag(flags),
		 getDflag(flags),
		 getIRQflag(flags),
		 getZeroflag(flags),
		 getCarryflag(flags),  
		 
		 conv_bitstr2int(ir,0,7));
}
示例#11
0
//  print_cpu
void print_cpu(struct _6510_cpu* cpu) {
  printf("pc   AC XR YR SP NV-BDIZC \n");
  printf("%02x%02x %02x %02x %02x %02x %c%c%c%c%c%c%c%c\n",
	 conv_bitstr2int(cpu->pch,0,7),
	 conv_bitstr2int(cpu->pcl,0,7),
	 conv_bitstr2int(cpu->rega,0,7),
	 conv_bitstr2int(cpu->regx,0,7),
	 conv_bitstr2int(cpu->regy,0,7),
	 conv_bitstr2int(cpu->sp,0,7),

	 cpu->flags[NFLAG],
	 cpu->flags[OFLAG],
	 '-',
	 cpu->flags[BFLAG],
	 cpu->flags[DFLAG],
	 cpu->flags[IFLAG],
	 cpu->flags[ZFLAG],
	 cpu->flags[CFLAG]
	 );
}
示例#12
0
void mon_print_opcodeinfo0(){
    struct cpu_operator* optr;
	optr = (struct cpu_operator*) getop(ir);
	printw("CMD:    %s\nopcode: %02x\nfct:    %s\nflags: %s\n", optr?optr->mnemonic:"XXX", conv_bitstr2int(ir,0,7), optr->action, optr->flagsettings);

}