--- nono/vm/romemu_luna88k.cpp 2026/04/29 17:04:59 1.1.1.8 +++ nono/vm/romemu_luna88k.cpp 2026/04/29 17:05:03 1.1.1.9 @@ -177,7 +177,7 @@ Luna88kPROMEmuDevice::Init() // 元の PSR を r10 に保存しつつ割り込み許可 ms.Write32(OP_ldcr (r10, psr)); - ms.Write32(OP_clr (r2, r10, 2, 1)); // clear IND,SFRZ + ms.Write32(OP_clr (r2, r10, 2, 0)); // clear IND,SFRZ ms.Write32(OP_stcr (r2, psr)); ms.Write32(OP_or_u (r3, r0, ROMIO_BASE >> 16)); @@ -198,7 +198,7 @@ Luna88kPROMEmuDevice::Init() // _back: ms.Write32(OP_ld (r2, r3, (ROMIO_ENTRY - ROMIO_BASE))); // 起動先がなければループ - ms.Write32(OP_bcnd (ne0, r2, 0xfffd)); // 0xfffd = _prompt + ms.Write32(OP_bcnd (eq0, r2, 0xfffd)); // 0xfffd = _prompt // _go: // 起動先があれば後始末して @@ -301,7 +301,7 @@ Luna88kPROMEmuDevice::ROM_Init() // DIPSW#1-1 が UP なら自動起動、DOWN なら ROM モニタ起動なので、 // これを真似する。 - if ((gPIO0->GetDIPSW1() & 1)) { + if ((gPIO0->GetDIPSW1() & 0x80)) { if (gMainApp.exec_file) { // ホストのファイルを読み込んでエントリポイントアドレスを // この Read アクセスの読み出し値として返す。