@@ -105,7 +105,9 @@ int main(int argc, char **argv)
105105
106106 int rxCnt = 0 ;
107107
108- for (long cnt = 0 ; cnt < 2000000 ; cnt++)
108+ int hashReceived = 0 ;
109+
110+ for (long cnt = 0 ; cnt < 1800000 ; cnt++)
109111 {
110112 if (cnt == 100 )
111113 {
@@ -160,7 +162,7 @@ int main(int argc, char **argv)
160162 case 0 :
161163 txTicks = DELAY_FRAMES - 1 ; // Start bit
162164 top->uartRx = 0 ;
163- printf (" TX[%x] %c\r\n " , txData, txData);
165+ // printf("TX[%x] %c\r\n", txData, txData);
164166 break ;
165167 case 1 :
166168 case 2 :
@@ -198,7 +200,7 @@ int main(int argc, char **argv)
198200 break ;
199201 }
200202
201- // printf("TX[%d] %d\r\n", txDataBit, top->uartRx);
203+ // printf("TX[%d] %d\r\n", txDataBit, top->uartRx);
202204
203205 txDataBit++;
204206 }
@@ -224,7 +226,7 @@ int main(int argc, char **argv)
224226 }
225227 else
226228 {
227- // printf("RX[%d] %d\r\n", rxDataBit, top->uartTx);
229+ // printf("RX[%d] %d\r\n", rxDataBit, top->uartTx);
228230
229231 switch (rxDataBit)
230232 {
@@ -261,40 +263,85 @@ int main(int argc, char **argv)
261263
262264 if (rxData == 35 ) // #
263265 {
264- rxCnt = 1 ;
266+ if (hashReceived == 0 )
267+ rxCnt = 1 ;
268+
269+ hashReceived++;
270+ }
271+ else if (rxData == 0x20 ) // space
272+ {
273+ if (hashReceived == 1 )
274+ rxCnt = 100 ;
275+ else
276+ rxCnt = 1 ;
265277 }
278+
266279 else
267280 rxCnt++;
268281
269282 if (true )
270283 {
271284 txData = 0 ;
285+ #if 0 // IO
286+ switch (rxCnt)
287+ {
288+ case 1:
289+ txData = (char)'I'; // IO Read
290+ break;
291+ case 2:
292+ txData = (char)'O';
293+ break;
294+ case 3:
295+ txData = (char)'/';
296+ break;
297+ }
298+ #endif
272299
300+ #if true
273301 switch (rxCnt)
274302 {
275303 case 1 :
276- txData = (char )' 5 ' ; // examine memory at #5
304+ txData = (char )' 7 ' ; // examine/write memory at #77777 (0x7FFF)
277305 break ;
278306 case 2 :
307+ txData = (char )' 7' ;
308+ break ;
309+ case 3 :
310+ txData = (char )' 7' ;
311+ break ;
312+ case 4 :
313+ txData = (char )' 7' ;
314+ break ;
315+ case 5 :
316+ txData = (char )' 7' ;
317+ break ;
318+ case 6 :
279319 txData = (char )' /' ;
280320 break ;
281- case 10 :
282- txData = (char )' 1' ;
321+
322+ case 100 :
323+ txData = (char )' 7' ;
324+ break ;
325+ case 101 :
326+ txData = (char )' 6' ;
283327 break ;
284- case 11 :
285- txData = (char )' 2 ' ;
328+ case 102 :
329+ txData = (char )' 5 ' ;
286330 break ;
287- case 12 :
331+ case 103 :
332+ txData = (char )' 4' ;
333+ break ;
334+ case 104 :
288335 txData = (char )' 3' ;
289336 break ;
290- case 13 :
337+ case 105 :
291338 txData = (char )0x0D ; // LF
292339 break ;
293340 default :
294341 break ;
295342 }
296-
297343
344+ #endif
298345 if (txData > 0 )
299346 {
300347 // Send DATA!
0 commit comments