Exetools

Exetools (https://forum.exetools.com/index.php)
-   General Discussion (https://forum.exetools.com/forumdisplay.php?f=2)
-   -   Bochs's source code fix for S-ICE v2.80 (https://forum.exetools.com/showthread.php?t=19810)

BlackWhite 03-17-2021 01:41

Bochs's source code fix for S-ICE v2.80
 
The bug resides in source code "cpu/event.cc", and the concerned function is as follows:
void BX_CPU_C::InterruptAcknowledge(void)

This function is responsible for generating a hardware interrupt when the interrupt flag IF is turned on,
but it does not check the mask in port 0x21(master pic) and port 0xA1(slave pic) thus results in generating
unexpected interrupts.

It is the very bug that causes Nu-Mega's DOS version debugger S-ICE to crash when we command P to single step.

It costs me about 9 months to debug Bochs's source code with VS2019's embedded debugger which further
debugs Bochs's enhanced debugger which debugs S-ICE which debugs a sample 16-bit DOS program. Finally
I figure out the bug and get it fixed.

Here I provide in the attachment the fixed version of "cpu/event.cc" and "iodev/pic.h" . Please note that the
modifed part is marked by [%].

https://blog.cnstock.com/UploadFiles...7127770025.zip

jonwil 03-17-2021 05:38

Did you submit the fix to the original developers of bochs?

BlackWhite 03-17-2021 09:12

Quote:

Originally Posted by jonwil (Post 122710)
Did you submit the fix to the original developers of bochs?

Yes, I did. Here is the link:
https://sourceforge.net/p/bochs/patches/558/


All times are GMT +8. The time now is 14:52.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Always Your Best Friend: Aaron, JMI, ahmadmansoor, ZeNiX