1
0
Fork 0

hercules updates by hal (herc mode/status reg, herc textmode drawing), fixes blockout

Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3256
This commit is contained in:
Sebastian Strohhäcker 2009-01-11 18:22:59 +00:00
parent a5e74da117
commit a9f0ec5b10
6 changed files with 166 additions and 82 deletions

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 2002-2008 The DOSBox Team
* Copyright (C) 2002-2009 The DOSBox Team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
/* $Id: shell.cpp,v 1.95 2008-09-20 14:51:53 c2woody Exp $ */
/* $Id: shell.cpp,v 1.96 2009-01-11 18:22:59 c2woody Exp $ */
#include <stdlib.h>
#include <stdarg.h>
@ -297,14 +297,12 @@ void DOS_Shell::Run(void) {
return;
}
/* Start a normal shell and check for a first command init */
if(machine != MCH_HERC) { //Hide it for hercules as that looks too weird
WriteOut(MSG_Get("SHELL_STARTUP_BEGIN"),VERSION);
WriteOut(MSG_Get("SHELL_STARTUP_BEGIN"),VERSION);
#if C_DEBUG
WriteOut(MSG_Get("SHELL_STARTUP_DEBUG"));
WriteOut(MSG_Get("SHELL_STARTUP_DEBUG"));
#endif
if(machine == MCH_CGA) WriteOut(MSG_Get("SHELL_STARTUP_CGA"));
WriteOut(MSG_Get("SHELL_STARTUP_END"));
}
if (machine == MCH_CGA) WriteOut(MSG_Get("SHELL_STARTUP_CGA"));
WriteOut(MSG_Get("SHELL_STARTUP_END"));
if (cmd->FindString("/INIT",line,true)) {
strcpy(input_line,line.c_str());

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 2002-2008 The DOSBox Team
* Copyright (C) 2002-2009 The DOSBox Team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
/* $Id: shell_cmds.cpp,v 1.84 2008-09-07 10:55:16 c2woody Exp $ */
/* $Id: shell_cmds.cpp,v 1.85 2009-01-11 18:22:59 c2woody Exp $ */
#include "dosbox.h"
#include "shell.h"
@ -167,7 +167,9 @@ void DOS_Shell::DoCommand(char * line) {
void DOS_Shell::CMD_CLS(char * args) {
HELP("CLS");
reg_ax=0x0003;
// 3 is not good for hercules as it 'forgets' to reset the cursor position
if (machine==MCH_HERC) reg_ax=0x0007;
else reg_ax=0x0003;
CALLBACK_RunRealInt(0x10);
}