To be honest I really don't know what I'm dealing with here. I haven't ported very big programs from C++ to Java and I really don't know much about how emulators work besides them emulating the hardware the original system used somehow. I think some emulators have self-modifying code, but not all. I figured out what a dynamic core is:
The "dynamic core" of an emulator relates to how the emulator translates the instructions of the emulated system into instructions that the host system can understand.
This can be done in a few ways, but the dynamic core tries to do it in the most efficient way possible, by translating large blocks of instructions at once and storing them for later use. This is faster than translating each instruction one at a time.
So the error happens sometimes when I'm doing something in Windows 95 like making a change in system settings and then going to restart and as soon as I press the start button, it crashes and says Dynamic Core: Self modifying code across page boundaries not implemented yet
Here is the full stack trace:
java.lang.Exception: Stacktrace
at jdos.misc.Log.exit(Log.java:15)
at jdos.cpu.core_dynamic.Helper.decode_putback(Helper.java:78)
at jdos.cpu.core_dynamic.Decoder.CreateCacheBlock(Decoder.java:330)
at jdos.cpu.Core_dynamic$2.call(Core_dynamic.java:109)
at jdos.Dosbox$1.call(Dosbox.java:67)
at jdos.Dosbox.DOSBOX_RunMachine(Dosbox.java:205)
at jdos.cpu.Callback.CALLBACK_RunRealInt(Callback.java:158)
at jdos.shell.Dos_shell.Execute(Dos_shell.java:755)
at jdos.shell.Dos_shell.DoCommand(Dos_shell.java:633)
at jdos.shell.Dos_shell.ParseLine(Dos_shell.java:173)
at jdos.shell.Dos_shell.Run(Dos_shell.java:91)
at jdos.shell.Shell$5.call(Shell.java:398)
at jdos.misc.setup.Config.StartUp(Config.java:97)
at jdos.gui.MainBase.main(MainBase.java:536)
at jdos.gui.MainFrame$4.run(MainFrame.java:247)
at java.base/java.lang.Thread.run(Thread.java:833)
So, somehow we need to add support to modify code across page boundaries?
To be honest I really don't know what I'm dealing with here. I haven't ported very big programs from C++ to Java and I really don't know much about how emulators work besides them emulating the hardware the original system used somehow. I think some emulators have self-modifying code, but not all. I figured out what a dynamic core is:
So the error happens sometimes when I'm doing something in Windows 95 like making a change in system settings and then going to restart and as soon as I press the start button, it crashes and says
Dynamic Core: Self modifying code across page boundaries not implemented yet
Here is the full stack trace:So, somehow we need to add support to modify code across page boundaries?