Mercurial > hg > Members > kono > os9 > sbc09
comparison src/trace.c @ 189:f524c0c95559
add instros9 source and break instruction
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 04 Dec 2023 09:11:10 +0900 |
parents | 6f7276831219 |
children | b93996f54090 |
comparison
equal
deleted
inserted
replaced
188:d9dbd943db21 | 189:f524c0c95559 |
---|---|
29 unsigned char xmbuf[132]; | 29 unsigned char xmbuf[132]; |
30 int xidx; | 30 int xidx; |
31 int acknak; | 31 int acknak; |
32 int rcvdnak; | 32 int rcvdnak; |
33 int blocknum; | 33 int blocknum; |
34 extern int timer; | |
34 | 35 |
35 extern FILE *logfile; | 36 extern FILE *logfile; |
36 extern FILE *infile; | 37 extern FILE *infile; |
37 extern FILE *xfile; | 38 extern FILE *xfile; |
38 extern FILE *disk[]; | 39 extern FILE *disk[]; |
39 | 40 |
40 extern void hexadump( unsigned char *b, int l, int loc, int w); | 41 extern void hexadump( unsigned char *b, int l, int loc, int w); |
41 extern int disasm(int,int); | 42 extern int disasm(int,int); |
42 extern void restore_term(void) ; | 43 extern void restore_term(void) ; |
44 extern void start_timer(void) ; | |
45 extern void stop_timer(void) ; | |
43 | 46 |
44 #ifdef USE_MMU | 47 #ifdef USE_MMU |
45 extern char *prog ; // for disass | 48 extern char *prog ; // for disass |
46 extern Byte * mem0(Byte *iphymem, Word adr, Byte *immu) ; | 49 extern Byte * mem0(Byte *iphymem, Word adr, Byte *immu) ; |
47 extern int paddr(Word adr, Byte *immu) ; | 50 extern int paddr(Word adr, Byte *immu) ; |
134 " S file set input file\n" | 137 " S file set input file\n" |
135 " X exit\n" | 138 " X exit\n" |
136 " q exit\n" | 139 " q exit\n" |
137 " U file upload from srecord file \n" | 140 " U file upload from srecord file \n" |
138 " D file download to srecord file \n" | 141 " D file download to srecord file \n" |
142 " T stop/start timer \n" | |
139 " R do reset\n" | 143 " R do reset\n" |
144 " put 0x41 instruction for break \n" | |
140 " h,? print this\n" | 145 " h,? print this\n" |
141 ); | 146 ); |
142 } | 147 } |
143 | 148 |
144 | 149 |
345 fclose(infile); | 350 fclose(infile); |
346 infile = 0; | 351 infile = 0; |
347 if (s[1]) { | 352 if (s[1]) { |
348 int i=1; while(s[i]==' ') i++; | 353 int i=1; while(s[i]==' ') i++; |
349 infile = fopen(s + i, "r"); | 354 infile = fopen(s + i, "r"); |
355 } | |
356 goto restart; | |
357 break; | |
358 case 'T': | |
359 if (timer) { | |
360 stop_timer(); timer = 0; | |
361 printf("timer off\n"); | |
362 } else { | |
363 start_timer(); timer = 3; | |
364 printf("timer on\n"); | |
350 } | 365 } |
351 goto restart; | 366 goto restart; |
352 break; | 367 break; |
353 case 'h': | 368 case 'h': |
354 case '?': | 369 case '?': |