Fix bug in PDP11 SET CPU <model> which inadvertently disabled some devices improperly. - Bob Supnik
This commit is contained in:
parent
a145d5362b
commit
eb921d2ea4
1 changed files with 6 additions and 5 deletions
|
@ -1,6 +1,6 @@
|
||||||
/* pdp11_cpumod.c: PDP-11 CPU model-specific features
|
/* pdp11_cpumod.c: PDP-11 CPU model-specific features
|
||||||
|
|
||||||
Copyright (c) 2004-2008, Robert M Supnik
|
Copyright (c) 2004-2013, Robert M Supnik
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a
|
Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
copy of this software and associated documentation files (the "Software"),
|
copy of this software and associated documentation files (the "Software"),
|
||||||
|
@ -25,6 +25,7 @@
|
||||||
|
|
||||||
system PDP-11 model-specific registers
|
system PDP-11 model-specific registers
|
||||||
|
|
||||||
|
06-Jun-13 RMS Fixed change model to set memory size last
|
||||||
20-May-08 RMS Added JCSR default for KDJ11B, KDJ11E
|
20-May-08 RMS Added JCSR default for KDJ11B, KDJ11E
|
||||||
22-Apr-08 RMS Fixed write behavior of 11/70 MBRK, LOSIZE, HISIZE
|
22-Apr-08 RMS Fixed write behavior of 11/70 MBRK, LOSIZE, HISIZE
|
||||||
(Walter Mueller)
|
(Walter Mueller)
|
||||||
|
@ -1090,14 +1091,14 @@ if (val >= MOD_MAX)
|
||||||
return SCPE_IERR;
|
return SCPE_IERR;
|
||||||
if (val == (int32) cpu_model)
|
if (val == (int32) cpu_model)
|
||||||
return SCPE_OK;
|
return SCPE_OK;
|
||||||
if (MEMSIZE > cpu_tab[val].maxm)
|
|
||||||
cpu_set_size (uptr, cpu_tab[val].maxm, NULL, NULL);
|
|
||||||
if (MEMSIZE > cpu_tab[val].maxm)
|
|
||||||
return SCPE_INCOMP;
|
|
||||||
cpu_model = val;
|
cpu_model = val;
|
||||||
cpu_type = 1u << cpu_model;
|
cpu_type = 1u << cpu_model;
|
||||||
cpu_opt = cpu_tab[cpu_model].std;
|
cpu_opt = cpu_tab[cpu_model].std;
|
||||||
cpu_set_bus (cpu_opt);
|
cpu_set_bus (cpu_opt);
|
||||||
|
if (MEMSIZE > cpu_tab[val].maxm)
|
||||||
|
cpu_set_size (uptr, cpu_tab[val].maxm, NULL, NULL);
|
||||||
|
if (MEMSIZE > cpu_tab[val].maxm)
|
||||||
|
return SCPE_INCOMP;
|
||||||
reset_all (0); /* reset world */
|
reset_all (0); /* reset world */
|
||||||
return SCPE_OK;
|
return SCPE_OK;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue