I've had issues with a console program not clearing the screen when it's supposed to. I've traced the problem down to dlls/winedos/int10.c function DOSVM_Int10Handler() with and AH reg of 0x0b.
Are you sure you found the right place to fix? According to interrupt documentation, 0x0b subfunction 0x00 is supposed to only set background color. It is possible that the subfunction also clears screen but I would like you to make sure that this is the real place missing clear screen.
One place that is certain to have missing clear screen is entering text mode. Right now VGA emulation does not do this; VGA_SetAlphaMode should have a boolean flag that tells whether clear screen is desired or not and this flag should be set according to VGA mode bit 7 (or some VESA mode flag). I suspect that this is what is really causing the bug you have observed. Perhaps you should check whether this is the case?
I will try to make a patch that fixes clear screen bug when entering text mode but it might take a few days (and it might be that this is not an issue here, anyway).
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Are you sure you found the right place to fix? According to interrupt documentation, 0x0b subfunction 0x00 is supposed to only set background color. It is possible that the subfunction also clears screen but I would like you to make sure that this is the real place missing clear screen.
No, I am not sure at all. But it seems like whenever the application want a clearscreen this function is called.
One place that is certain to have missing clear screen is entering text mode. Right now VGA emulation does not do this; VGA_SetAlphaMode should have a boolean flag that tells whether clear screen is desired or not and this flag should be set according to VGA mode bit 7 (or some VESA mode flag). I suspect that this is what is really causing the bug you have observed. Perhaps you should check whether this is the case?
I've tried adding the clear-code here, and the program didn't even start. I've tried removing the code and the program didn't start. I've tried to remove the winedos directory and the program still didn't start. I've also tried with another machince which had the program and wine installed and the program don't start there either (did yesterday and I haven't touched it since)
I'm afraid I can't test this for now. I guess it'll have to be postponed.
Regards Ulrik
Ulrik Mikaelsson wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Are you sure you found the right place to fix? According to interrupt documentation, 0x0b subfunction 0x00 is supposed to only set background color. It is possible that the subfunction also clears screen but I would like you to make sure that this is the real place missing clear screen.
No, I am not sure at all. But it seems like whenever the application want a clearscreen this function is called.
One place that is certain to have missing clear screen is entering text mode. Right now VGA emulation does not do this; VGA_SetAlphaMode should have a boolean flag that tells whether clear screen is desired or not and this flag should be set according to VGA mode bit 7 (or some VESA mode flag). I suspect that this is what is really causing the bug you have observed. Perhaps you should check whether this is the case?
I've tried adding the clear-code here, and the program didn't even start. I've tried removing the code and the program didn't start. I've tried to remove the winedos directory and the program still didn't start. I've also tried with another machince which had the program and wine installed and the program don't start there either (did yesterday and I haven't touched it since)
I'm afraid I can't test this for now. I guess it'll have to be postponed.
Since you are on CVS I assume that this is a regression. could you please find the patch that broke it.
http://www.winehq.org/docs/wine-devel/cvs-regression.shtml
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Since you are on CVS I assume that this is a regression. could you please find the patch that broke it.
As i said, I have also tested the program on my laptop, which have not been touched since yesterday, when it worked (no cvs update or recompile since then). Very, very strange.
Regards Ulrik