多年以前搞的 8086 实模式模拟器竟然又派上了用场
最近张师傅在折腾一个模拟器,在感慨他老人家的工作不饱和之余,我向他隆重介绍了我多年前埋到FreeBSD里的 x86模拟器。
这些代码我自己已经多年没有碰过了,后续也有一些其他开发人员在其上做了新的改进(比如没必要真的分配那么多内存给模拟器,等等)。不过这份来自SciTech Software Inc(是的,就是DOS时代写UniVBE.exe的那个公司),后来辗转经过XFree86、NetBSD最终来到FreeBSD的模拟器的主体部分还是没有什么变化,稍微改一改就可以直接作为一个新的模拟器的基础了。由于不依赖VM86,它的可移植性要比需要VM86的要好很多。从调试方面,由于它的结构,只需要在 x86emu_exec_*
设置断点就可以很容易地在用户态挂调试器进行调试了。