|
|
@@ -62,17 +62,15 @@ class MMC extends IMem{ |
|
|
|
|
|
|
|
get address(){return this.__addr;} |
|
|
|
set address(a){ |
|
|
|
if (a >= 0 && a < this.size){ |
|
|
|
this.__addr = a; |
|
|
|
let offset = 0; |
|
|
|
for (let s=0; s < this.__switches.length; s++){ |
|
|
|
if (a >= offset && a < offset + this.__switches[s].mem.size){ |
|
|
|
this.__sidx = s; |
|
|
|
this.__switches[s].mem.address = a - offset; |
|
|
|
break; |
|
|
|
} else { |
|
|
|
offset += this.__switches[s].mem.size; |
|
|
|
} |
|
|
|
this.__addr = Math.min(this.size - 1, Math.max(0, a)); |
|
|
|
let offset = 0; |
|
|
|
for (let s=0; s < this.__switches.length; s++){ |
|
|
|
if (this.__addr >= offset && this.__addr < offset + this.__switches[s].mem.size){ |
|
|
|
this.__sidx = s; |
|
|
|
this.__switches[s].mem.address = this.__addr - offset; |
|
|
|
break; |
|
|
|
} else { |
|
|
|
offset += this.__switches[s].mem.size; |
|
|
|
} |
|
|
|
} |
|
|
|
} |