mirror of
https://github.com/rcornwell/sims.git
synced 2026-05-03 06:29:48 +00:00
I7000: Fixed issues with I7080 test case not running correctly.
This commit is contained in:
@@ -1609,11 +1609,12 @@ stop_cpu:
|
|||||||
|
|
||||||
case OP_RWW: /* RWW 705 only */
|
case OP_RWW: /* RWW 705 only */
|
||||||
MAC2 = MAC;
|
MAC2 = MAC;
|
||||||
if (CPU_MODEL == CPU_7080 &&
|
if (iowait == 0 && CPU_MODEL == CPU_7080 &&
|
||||||
(cpu_unit.flags & IOIRQ) != 0 &&
|
(cpu_unit.flags & IOIRQ) != 0 &&
|
||||||
(flags & EIGHTMODE) == 0 &&
|
(flags & EIGHTMODE) == 0 &&
|
||||||
((selreg >> 8) & 0xff) != 5) {
|
((selreg >> 8) & 0xff) != 5) {
|
||||||
flags |= ANYFLAG|INSTFLAG;
|
flags |= ANYFLAG|INSTFLAG;
|
||||||
|
selreg2 = 0;
|
||||||
} else {
|
} else {
|
||||||
selreg2 = selreg | 0x8000;
|
selreg2 = selreg | 0x8000;
|
||||||
}
|
}
|
||||||
@@ -2567,8 +2568,6 @@ uint16 get_acstart(uint8 reg) {
|
|||||||
/* Store CPU state in CASU 15 */
|
/* Store CPU state in CASU 15 */
|
||||||
void store_cpu(uint32 addr, int full) {
|
void store_cpu(uint32 addr, int full) {
|
||||||
uint8 t;
|
uint8 t;
|
||||||
int j;
|
|
||||||
uint32 ta;
|
|
||||||
|
|
||||||
store_addr(IC, &addr);
|
store_addr(IC, &addr);
|
||||||
/* Save status characters */
|
/* Save status characters */
|
||||||
@@ -2625,8 +2624,6 @@ void store_cpu(uint32 addr, int full) {
|
|||||||
void load_cpu(uint32 addr, int full) {
|
void load_cpu(uint32 addr, int full) {
|
||||||
uint8 t;
|
uint8 t;
|
||||||
uint8 f;
|
uint8 f;
|
||||||
int j;
|
|
||||||
uint32 ta;
|
|
||||||
|
|
||||||
flags = 0;
|
flags = 0;
|
||||||
IC = load_addr(&addr);
|
IC = load_addr(&addr);
|
||||||
@@ -3378,6 +3375,18 @@ cpu_reset(DEVICE * dptr)
|
|||||||
selreg2 = 0;
|
selreg2 = 0;
|
||||||
IC = 4;
|
IC = 4;
|
||||||
sim_brk_types = sim_brk_dflt = SWMASK('E');
|
sim_brk_types = sim_brk_dflt = SWMASK('E');
|
||||||
|
/* Leave 80 mode */
|
||||||
|
if (CPU_MODEL == CPU_7080) {
|
||||||
|
cpu_type = (cpu_unit.flags & EMULATE3)? CPU_7053:CPU_705;
|
||||||
|
EMEMSIZE = MEMSIZE;
|
||||||
|
if (cpu_unit.flags & EMULATE2 && EMEMSIZE > 40000)
|
||||||
|
EMEMSIZE = 40000;
|
||||||
|
if (cpu_type == CPU_705 && (cpu_unit.flags & EMULATE2) == 0 &&
|
||||||
|
EMEMSIZE > 20000)
|
||||||
|
EMEMSIZE = 20000;
|
||||||
|
if (EMEMSIZE > 80000)
|
||||||
|
EMEMSIZE = 80000;
|
||||||
|
}
|
||||||
return SCPE_OK;
|
return SCPE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,10 +3,10 @@ cd i7080
|
|||||||
rm test.log
|
rm test.log
|
||||||
set cpu 80k 7080 emu7053 hist=10000
|
set cpu 80k 7080 emu7053 hist=10000
|
||||||
set console -n -q log=test.log
|
set console -n -q log=test.log
|
||||||
at mta1 t1.tp
|
at mta1 -n t1.tp
|
||||||
at mta2 t2.tp
|
at mta2 -n t2.tp
|
||||||
at mtb1 t3.tp
|
at mtb1 -n t3.tp
|
||||||
at mtb2 t4.tp
|
at mtb2 -n t4.tp
|
||||||
load 8cu10b.dck
|
load 8cu10b.dck
|
||||||
echo "8cu10b"
|
echo "8cu10b"
|
||||||
br 18219
|
br 18219
|
||||||
@@ -32,4 +32,6 @@ load 8cu30b.dck
|
|||||||
echo "8cu30b"
|
echo "8cu30b"
|
||||||
br 2164
|
br 2164
|
||||||
go 4
|
go 4
|
||||||
|
detach -q all
|
||||||
|
del t*.tp
|
||||||
quit
|
quit
|
||||||
|
|||||||
Reference in New Issue
Block a user