DREAMWEB: Added crash workaround

This commit is contained in:
Vladimir Menshakov 2011-06-19 16:56:19 +04:00
parent 5efe835f20
commit 613a203c8a
2 changed files with 10 additions and 1 deletions

View File

@ -2583,8 +2583,10 @@ findlenextext: mov cl,[es:si]
sub bx,extext sub bx,extext
push bx ax push bx ax
sub cx,bx sub cx,bx
cmp cx, 0xffff; BIG FIXME! Find out why this is happening
jz $1
rep movsb rep movsb
pop bx $1: pop bx
sub extextpos,bx sub extextpos,bx
pop si pop si

View File

@ -8302,7 +8302,11 @@ findlenextext:
push(bx); push(bx);
push(ax); push(ax);
_sub(cx, bx); _sub(cx, bx);
_cmp(cx, 0xffff);
if (flags.z())
goto _tmp1;
_movsb(cx, true); _movsb(cx, true);
_tmp1:
bx = pop(); bx = pop();
_sub(data.word(kExtextpos), bx); _sub(data.word(kExtextpos), bx);
si = pop(); si = pop();
@ -9536,6 +9540,9 @@ void DreamGenContext::selectlocation() {
playchannel0(); playchannel0();
data.byte(kNewlocation) = 255; data.byte(kNewlocation) = 255;
select: select:
_cmp(data.byte(kQuitrequested), 0);
if (!flags.z())
goto quittravel;
delpointer(); delpointer();
readmouse(); readmouse();
showpointer(); showpointer();