ANSI emulation is activated for the session when an escape sequence is encountered other than those used by internal messages. Fixes LucasArts setup programs (Bug #458) provided that ANSI emulation is not activated.
Compatible scroll fill for ANSI emulation. Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4097
This commit is contained in:
parent
c7ced14d56
commit
630b9befb5
4 changed files with 28 additions and 9 deletions
|
@ -138,6 +138,7 @@ void Program::WriteOut(const char * format,...) {
|
|||
va_end(msg);
|
||||
|
||||
Bit16u size = (Bit16u)strlen(buf);
|
||||
dos.internal_output=true;
|
||||
for(Bit16u i = 0; i < size;i++) {
|
||||
Bit8u out;Bit16u s=1;
|
||||
if (buf[i] == 0xA && last_written_character != 0xD) {
|
||||
|
@ -146,6 +147,7 @@ void Program::WriteOut(const char * format,...) {
|
|||
last_written_character = out = buf[i];
|
||||
DOS_WriteFile(STDOUT,&out,&s);
|
||||
}
|
||||
dos.internal_output=false;
|
||||
|
||||
// DOS_WriteFile(STDOUT,(Bit8u *)buf,&size);
|
||||
}
|
||||
|
@ -153,6 +155,7 @@ void Program::WriteOut(const char * format,...) {
|
|||
void Program::WriteOut_NoParsing(const char * format) {
|
||||
Bit16u size = (Bit16u)strlen(format);
|
||||
char const* buf = format;
|
||||
dos.internal_output=true;
|
||||
for(Bit16u i = 0; i < size;i++) {
|
||||
Bit8u out;Bit16u s=1;
|
||||
if (buf[i] == 0xA && last_written_character != 0xD) {
|
||||
|
@ -161,6 +164,7 @@ void Program::WriteOut_NoParsing(const char * format) {
|
|||
last_written_character = out = buf[i];
|
||||
DOS_WriteFile(STDOUT,&out,&s);
|
||||
}
|
||||
dos.internal_output=false;
|
||||
|
||||
// DOS_WriteFile(STDOUT,(Bit8u *)format,&size);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue