+ //Todo, make word or byte.
+ memorybyte[cmddataword[0]]=cmddata[2];
+ cmddata[0]=memorybyte[cmddataword[0]];
+ txdata(app,verb,1);
+ break;
+ case MONITOR_SIZEBUF:
+ //TODO make the data length target-specific, varying by ram.
+ cmddataword[0]=0x100;
+ txdata(app,verb,2);
+ break;
+ case MONITOR_CHANGE_BAUD:
+ //This command, and ONLY this command, does not reply.
+ setbaud(cmddata[0]);
+ //txdata(app,verb,0);
+ break;
+ case MONITOR_RAM_PATTERN:
+ monitor_ram_pattern();//reboots, will never return
+ break;
+ case MONITOR_RAM_DEPTH:
+ cmddataword[0]=monitor_ram_depth();
+ txdata(app,verb,2);
+ break;
+ case MONITOR_DIR:
+ P5DIR=cmddata[0];
+ txdata(app,verb,1);
+ break;
+ case MONITOR_IN:
+ cmddata[0]=P5IN;
+ txdata(app,verb,1);
+ break;
+ case MONITOR_OUT:
+ P5OUT=cmddata[0];
+ txdata(app,verb,1);
+ break;
+ case MONITOR_SILENT:
+ silent=cmddata[0];
+ txdata(app,verb,1);