--- nono/util/runx/iocscall.cpp 2026/04/29 17:05:27 1.1 +++ nono/util/runx/iocscall.cpp 2026/04/29 17:05:36 1.1.1.2 @@ -32,6 +32,25 @@ iocscall(pid_t pid, struct reg *reg) int have_fpu = 1; // XXX switch (callno) { + case 0x80: // _B_INTVCS + { + uint32 num = RegD(1); + uint32 newaddr = RegA(1); + uint32 oldaddr; + if (num < 0x100) { + // 例外ベクタ。 + oldaddr = readmem4(num * 4); + writemem4(num * 4, newaddr); + TRACE(pc, "IOCS _B_INTVCS(#$%04x, $%06x) -> $%06x", + num, newaddr, oldaddr); + } else { + // 未対応。 + TRACE(pc, "IOCS _B_INTVCS(#$%04x, $%06x) Not supported", + num, newaddr); + } + break; + } + case 0x82: // _B_BPEEK { uint32 addr = RegA(1);