Skip to content

Instantly share code, notes, and snippets.

@ao-kenji
Last active April 16, 2024 11:14
Show Gist options
  • Save ao-kenji/6479bdae96e7f77e35c0933bfe3c7312 to your computer and use it in GitHub Desktop.
Save ao-kenji/6479bdae96e7f77e35c0933bfe3c7312 to your computer and use it in GitHub Desktop.
[merged into the main tree with modification] A patch for nono to set reasonable MPU/CMMU version.
--- vm/mpu88xx0.cpp.orig Fri Feb 23 08:37:00 2024
+++ vm/mpu88xx0.cpp Fri Feb 23 11:21:39 2024
@@ -37,6 +37,11 @@
cmmu[0].reset(new m88200(this, 7));
cmmu[1].reset(new m88200(this, 6));
+ // xmem の writeback バグが修正されているバージョンを設定する。(所有している実機にあわせ 0x9)
+ // OpenBSD の sys/arch/m88k/m88k/m8820x_machdep.c::m8820x_apr_cmode() 参照。
+ cmmu[0]->SetVersion(0x9);
+ cmmu[1]->SetVersion(0x9);
+
// レジスタモニター
monitor.func = ToMonitorCallback(&MPU88xx0Device::MonitorUpdate);
monitor.SetSize(79, 28);
@@ -82,6 +87,10 @@
for (int i = 0; i < countof(reg.fcr); i++) {
reg.fcr[i] = Undefined & reg.fcr_mask[i];
}
+
+ // PID に xxx.usr バグ修正済みのバージョンを設定する。(所有している実機にあわせ 0xb)
+ // OpenBSD の sys/arch/m88k/m88k/m88100_machdep.c::m88100_apply_patches() 参照。
+ reg.pid = 0x0000 << 16 | 0x00 << 8 | 0x0b << 1 | 0x1;
reg.epsr = Undefined;
reg.ssbr = Undefined;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment