VOGONS


First post, by paulacchang

User metadata
Rank Newbie
Rank
Newbie

With paging.cpp revision 1.26, WIN31 games (including Betrayal at Antara, Dr. Brain 4, 3D Ultra Pinball) run fine. However, paging.cpp revision 1.27 breaks these games. When I run, I get the generic "Application Execution Error, Unexpected DOS error: 21." message in WIN31. Thanks.

Reply 1 of 4, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

you might want to try the paging changes that are in the win95 diff of hal.
It´s more inline with the 1.26 paging code

Water flows down the stream
How to ask questions the smart way!

Reply 2 of 4, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Um you don't need hal's patch, the different pagefault types are in the sources
(paging.cpp at the cpu.cpl==3 check).

Reply 3 of 4, by paulacchang

User metadata
Rank Newbie
Rank
Newbie

Yeah, both

if (cpu.cpl==3) {
if (((entry.block.us==0) || (table.block.us==0)) || (((entry.block.wr==0) || (table.block.wr==0)) && writing)) { // 486 style, HAL W95 patch

or

if (cpu.cpl==3) {
if (((entry.block.us==0) && (table.block.us==0)) || (((entry.block.wr==0) || (table.block.wr==0)) && writing)) { // paging.cpp, rev 1.27

cause the WIN31 error.[/code]

Reply 4 of 4, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Yeah then something else is wrong as both styles are correct.