First post, by truth_deleted
The normal core was designed for pagefault recursion, a feature incompatible with a Windows9x guest in DOSBox. However, the dynamic core avoids this pagefault recursion and therefore 9x guests do not generate errors. A couple of years ago, danoon created a "patch" to Hal's Megabuild6 (MB6) to avoid pagefault recursion in the normal core; this was also implemented in his jDOSBox build. There are two strengths of this way of handling pagefaults within the normal core.
The first is that the normal core is portable across computer architectures, whereas the dynamic core is specific to an architecture (such as x86). Having a normal core with Win9x friendly pagefault handling would avoid the necessity of programming a new dynamic core for non-x86 architectures. This would allow an easy port of DOSBox with 9x compatibility.
The other reason is for debugging: [danoon coded an ISA-based IDE controller (based on qemu) for jDOSBox (normal core). If an attempt is made to port this to DOSBox, then it would be ideal to test it under the same normal core (given any chance that it is incompatible with the dynamic core). There are reports that the qemu IDE controller has undergone "bit rot", so it would be wise to port the Java version instead of the qemu version; yet use the qemu for code where it matches to danoon's Java code base.]
I attached an incomplete patch to disable pagefault recursion. This is based on danoon's Java code and also this Vogon thread: Normal Core Bug vs Dynamic Core. This patch would be applied against DOSBox 0.74/SVN+Hal's MB6 paging code.
I commented out the "longjmp" function and the "jmp_buf top_of_loop" statement. These are posted in that Vogon thread but don't seem to appear in the Java code. Also, I have not yet located the CMPW, CMPB, CMPD functions in the Java code. All these bits are examples of unfinished parts of this patch. I also would like to verify the ported parts appear correct. Danoon has performed the herculean task of providing the 9x friendly pagefault code - it should be much easier to port it and it will future-proof the use of DOSBox with 9x.