Mercurial > hg > Members > kono > os9 > sbc09
comparison v09.c @ 4:6159cc57d44e
on going ...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 04 Jul 2018 19:33:22 +0900 |
parents | 831ac057ea86 |
children | cb7aa75418b8 |
comparison
equal
deleted
inserted
replaced
3:831ac057ea86 | 4:6159cc57d44e |
---|---|
99 main(int argc,char *argv[]) | 99 main(int argc,char *argv[]) |
100 { | 100 { |
101 char *imagename=0; | 101 char *imagename=0; |
102 int i; | 102 int i; |
103 int setterm = 1; | 103 int setterm = 1; |
104 memsize = 512*1024; | |
104 escchar='\x1d'; | 105 escchar='\x1d'; |
105 tracelo=0;tracehi=0xffff; | 106 tracelo=0;tracehi=0xffff; |
106 for(i=1;i<argc;i++) { | 107 for(i=1;i<argc;i++) { |
107 if (strcmp(argv[i],"-t")==0) { | 108 if (strcmp(argv[i],"-t")==0) { |
108 i++; | 109 i++; |
134 i++; | 135 i++; |
135 romstart=strtol(argv[i],(char**)0,0); | 136 romstart=strtol(argv[i],(char**)0,0); |
136 } else if (strcmp(argv[i],"-nt")==0) { // start debugger at the start | 137 } else if (strcmp(argv[i],"-nt")==0) { // start debugger at the start |
137 attention = escape = 1; | 138 attention = escape = 1; |
138 timer = 0; // no timer | 139 timer = 0; // no timer |
140 } else if (strcmp(argv[i],"-m")==0) { | |
141 i++; | |
142 memsize=strtol(argv[i],(char**)0,0) & ~0xffff; | |
143 if (memsize < 512*1024) memsize = 512*1024; | |
139 } else usage(); | 144 } else usage(); |
140 } | 145 } |
146 #ifdef USE_MMU | |
147 phymem = malloc(memsize); | |
148 mem = phymem + memsize - 0x10000 ; | |
149 #else | |
141 #ifdef MSDOS | 150 #ifdef MSDOS |
142 if((mem=farmalloc(65535))==0) { | 151 if((mem=farmalloc(65535))==0) { |
143 fprintf(stderr,"Not enough memory\n"); | 152 fprintf(stderr,"Not enough memory\n"); |
144 exit(2); | 153 exit(2); |
145 } | 154 } |
155 #endif | |
146 #endif | 156 #endif |
147 read_image(); | 157 read_image(); |
148 if (setterm) set_term(escchar); | 158 if (setterm) set_term(escchar); |
149 pcreg=(mem[0xfffe]<<8)+mem[0xffff]; | 159 pcreg=(mem[0xfffe]<<8)+mem[0xffff]; |
150 interpr(); | 160 interpr(); |