X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=sim%2Fucsim%2Fs51.src%2Fsim51.cc;h=e4c281df590e74b312c6b8b543d4ab0e3f3b33ed;hb=f27da39dbcab5678aca6d8462f1cc37a643f37e9;hp=658ad57b28c49eee25b6414bedc5afeb0d3cb875;hpb=7fe573ea83f6e0762dc73bc493f15fa2a8f6273d;p=fw%2Fsdcc diff --git a/sim/ucsim/s51.src/sim51.cc b/sim/ucsim/s51.src/sim51.cc index 658ad57b..e4c281df 100644 --- a/sim/ucsim/s51.src/sim51.cc +++ b/sim/ucsim/s51.src/sim51.cc @@ -57,12 +57,16 @@ class cl_uc * cl_sim51::mk_controller(void) { int i; + char *typ= NIL; + class cl_optref type_option(this); + type_option.init(); + type_option.use("cpu_type"); i= 0; - if (app->args->get_sarg('t', 0) == NULL) - app->args->add(new cl_prg_arg('t', 0, "C51")); + if ((typ= type_option.get_value(typ)) == NIL) + typ= "C51"; while ((cpus_51[i].type_str != NULL) && - (strcmp(app->args->get_sarg('t', 0), cpus_51[i].type_str) != 0)) + (strcmp(typ, cpus_51[i].type_str) != 0)) i++; if (cpus_51[i].type_str == NULL) { @@ -73,17 +77,17 @@ cl_sim51::mk_controller(void) switch (cpus_51[i].type) { case CPU_51: case CPU_31: - return(new t_uc51(cpus_51[i].type, cpus_51[i].technology, this)); + return(new cl_51core(cpus_51[i].type, cpus_51[i].technology, this)); case CPU_52: case CPU_32: - return(new t_uc52(cpus_51[i].type, cpus_51[i].technology, this)); + return(new cl_uc52(cpus_51[i].type, cpus_51[i].technology, this)); case CPU_51R: - return(new t_uc51r(cpus_51[i].type, cpus_51[i].technology, this)); + return(new cl_uc51r(cpus_51[i].type, cpus_51[i].technology, this)); case CPU_89C51R: - return(new t_uc89c51r(cpus_51[i].type, cpus_51[i].technology, this)); + return(new cl_uc89c51r(cpus_51[i].type, cpus_51[i].technology, this)); case CPU_251: - return(new t_uc251(cpus_51[i].type, cpus_51[i].technology, this)); + return(new cl_uc251(cpus_51[i].type, cpus_51[i].technology, this)); case CPU_DS390: case CPU_DS390F: - return(new t_uc390(cpus_51[i].type, cpus_51[i].technology, this)); + return(new cl_uc390(cpus_51[i].type, cpus_51[i].technology, this)); } return(NULL); }