From 91f93179bb5f6d13bff7780ef85cb27a3a3eac79 Mon Sep 17 00:00:00 2001 From: aap Date: Fri, 28 Oct 2016 19:12:47 +0200 Subject: [PATCH] fixed bug in fastmem --- src/apr.c | 5 ++--- src/main.c | 1 - src/mem.c | 6 +++--- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/apr.c b/src/apr.c index 1d14b78..70f6a32 100644 --- a/src/apr.c +++ b/src/apr.c @@ -2479,13 +2479,12 @@ pulse(et0){ } pulse(et0a){ - static int gen = 0; trace("ET0A\n"); debug("%o: ", apr->pc); if((apr->inst & 0700) != 0700) - debug("%d %s\n", gen++, names[apr->inst]); + debug("%s\n", names[apr->inst]); else - debug("%d %s\n", gen++, ionames[apr->io_inst>>5 & 7]); + debug("%s\n", ionames[apr->io_inst>>5 & 7]); if(PI_HOLD) set_pih(apr, apr->pi_req); // 8-3, 8-4 diff --git a/src/main.c b/src/main.c index b3c1379..c766cb5 100644 --- a/src/main.c +++ b/src/main.c @@ -661,7 +661,6 @@ main(int argc, char *argv[]) extra_l = e; e += 1; initapr(&apr); -// initmem(); coremems[0] = makecoremem("mem_0"); coremems[1] = makecoremem("mem_1"); coremems[2] = makecoremem("mem_2"); diff --git a/src/mem.c b/src/mem.c index 903e6a4..4512e95 100644 --- a/src/mem.c +++ b/src/mem.c @@ -144,14 +144,14 @@ wakeff(Mem *mem, Membus *bus) if(bus != mem->bus[ff->fmc_p_sel]) return 1; + fma = bus->c12>>4 & 017; fma_rd_rq = !!(bus->c12 & MEMBUS_RD_RQ); fma_wr_rq = !!(bus->c12 & MEMBUS_WR_RQ); if(!ff->fmc_act && bus->c12 & MEMBUS_RQ_CYC){ //trace(" accepting memory cycle from proc %d\n", ff->fmc_p_sel); ff->fmc_act = 1; - fma = bus->c12>>4 & 017; - //trace(" sending ADDR ACK\n"); + //trace(" sending ADDR ACK %o\n", fma); bus->c12 |= MEMBUS_MAI_ADDR_ACK; if(fma_rd_rq){ @@ -168,7 +168,7 @@ wakeff(Mem *mem, Membus *bus) } fmc_wr_sel = ff->fmc_act && !fma_rd_rq; if(fmc_wr_sel && ff->fmc_wr && bus->c34){ - //trace(" writing\n"); + //trace(" writing fmem %o %012lo\n", fma, bus->c34); ff->ff[fma] |= bus->c34 & FW; bus->c34 = 0; }