Don't count trailing spaces when checking if path is too long. Enable all write planes in the EGA FillRow function. Fixes crash and glitched graphics in Quest Maker 2 and derived adventure games (House of No Doors, Hot Rod Harry, et al).
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3881
This commit is contained in:
parent
d2209e10b5
commit
58a149deec
2 changed files with 3 additions and 0 deletions
|
@ -101,6 +101,7 @@ bool DOS_MakeName(char const * const name,char * const fullname,Bit8u * drive) {
|
|||
break;
|
||||
}
|
||||
}
|
||||
while (r>0 && name_int[r-1]==' ') r--;
|
||||
if (r>=DOS_PATHLENGTH) { DOS_SetError(DOSERR_PATH_NOT_FOUND);return false; }
|
||||
upname[w]=0;
|
||||
/* Now parse the new file name to make the final filename */
|
||||
|
|
|
@ -155,6 +155,8 @@ static void EGA16_FillRow(Bit8u cleft,Bit8u cright,Bit8u row,PhysPt base,Bit8u a
|
|||
IO_Write(0x3ce,0x8);IO_Write(0x3cf,0xff);
|
||||
IO_Write(0x3ce,0x0);IO_Write(0x3cf,attr);
|
||||
IO_Write(0x3ce,0x1);IO_Write(0x3cf,0xf);
|
||||
/* Enable all Write planes */
|
||||
IO_Write(0x3c4,2);IO_Write(0x3c5,0xf);
|
||||
/* Write some bytes */
|
||||
Bit8u cheight = real_readb(BIOSMEM_SEG,BIOSMEM_CHAR_HEIGHT);
|
||||
PhysPt dest=base+(CurMode->twidth*row)*cheight+cleft;
|
||||
|
|
Loading…
Add table
Reference in a new issue