/* getcd get corrected data */ int getcd (unsigned char *data, int *mdat, struct cmd *pcmd) { int i; int err; /* read answer of weather station from serial port */ if ( ( err = getrd(data, mdat, pcmd)) == -1) return(-1); /* echo raw dataframe */ err = echodata(data, *mdat); /* check data frame and do data correction for masqueraded bytes */ if ( ( err = chkframe(data, mdat, pcmd)) == -1) return(-1); /* echo raw demasqueraded dataframe */ err = echodata(data, *mdat); /* extract message: eliminiate first and last 2 bytes */ for ( i = 0; i < *mdat - 4; i++ ) { data[i] = data[i+2]; } *mdat = *mdat - 4; syslog(LOG_DEBUG, "getcd : Data length getcd : %d\n", *mdat); return(0); }
u32 read_68000mem_b(u32 addr) { if(ISIO68(addr)) return (read_mem_jmp_b[((addr)>>8)&255])(addr,reg68.cycle); addr &= MEM68MSK; #ifdef EMU68DEBUG chkframe(addr,READ_68); #endif return reg68.mem[addr]; }
void write_68000mem_b(u32 addr, u32 v) { if(ISIO68(addr)) { (write_mem_jmp_b[((addr)>>8)&255])(addr,v,reg68.cycle); return; } addr &= MEM68MSK; #ifdef EMU68DEBUG chkframe(addr,WRITTEN_68); #endif reg68.mem[addr] = v; }