mirror of
https://github.com/retro100/dosbox-wii.git
synced 2024-12-25 18:11:50 +01:00
sync with svn
This commit is contained in:
parent
f0f674830f
commit
aafb1122b6
@ -16,7 +16,7 @@
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/* $Id: decoder.h,v 1.58 2009/10/08 20:01:31 c2woody Exp $ */
|
||||
/* $Id: decoder.h,v 1.59 2009/10/18 17:52:09 c2woody Exp $ */
|
||||
|
||||
#define X86_DYNFPU_DH_ENABLED
|
||||
#define X86_INLINED_MEMACCESS
|
||||
@ -2665,7 +2665,8 @@ restart_prefix:
|
||||
dyn_push(src);
|
||||
break;
|
||||
default:
|
||||
IllegalOption("opcode 0xff");
|
||||
LOG(LOG_CPU,LOG_ERROR)("CPU:GRP5:Illegal opcode 0xff");
|
||||
goto illegalopcode;
|
||||
}}
|
||||
break;
|
||||
default:
|
||||
|
@ -16,7 +16,7 @@
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/* $Id: decoder.h,v 1.7 2009/10/08 20:01:31 c2woody Exp $ */
|
||||
/* $Id: decoder.h,v 1.8 2009/10/18 17:52:10 c2woody Exp $ */
|
||||
|
||||
|
||||
#include "decoder_basic.h"
|
||||
@ -566,7 +566,16 @@ restart_prefix:
|
||||
if (dyn_grp4_eb()) goto finish_block;
|
||||
break;
|
||||
case 0xff:
|
||||
if (dyn_grp4_ev()) goto core_close_block;
|
||||
switch (dyn_grp4_ev()) {
|
||||
case 0:
|
||||
break;
|
||||
case 1:
|
||||
goto core_close_block;
|
||||
case 2:
|
||||
goto illegalopcode;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -16,7 +16,7 @@
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/* $Id: decoder_opcodes.h,v 1.9 2009/06/25 19:31:43 c2woody Exp $ */
|
||||
/* $Id: decoder_opcodes.h,v 1.10 2009/10/18 17:52:10 c2woody Exp $ */
|
||||
|
||||
|
||||
/*
|
||||
@ -818,7 +818,7 @@ static bool dyn_grp4_eb(void) {
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool dyn_grp4_ev(void) {
|
||||
static Bitu dyn_grp4_ev(void) {
|
||||
dyn_get_modrm();
|
||||
if (decode.modrm.mod<3) {
|
||||
dyn_fill_ea(FC_ADDR);
|
||||
@ -848,10 +848,10 @@ static bool dyn_grp4_ev(void) {
|
||||
|
||||
gen_restore_addr_reg();
|
||||
gen_mov_word_from_reg(FC_ADDR,decode.big_op?(void*)(®_eip):(void*)(®_ip),decode.big_op);
|
||||
return true;
|
||||
return 1;
|
||||
case 0x4: // JMP Ev
|
||||
gen_mov_word_from_reg(FC_OP1,decode.big_op?(void*)(®_eip):(void*)(®_ip),decode.big_op);
|
||||
return true;
|
||||
return 1;
|
||||
case 0x3: // CALL Ep
|
||||
case 0x5: // JMP Ep
|
||||
if (!decode.big_op) gen_extend_word(false,FC_OP1);
|
||||
@ -865,15 +865,16 @@ static bool dyn_grp4_ev(void) {
|
||||
gen_restore_reg(FC_OP1,FC_ADDR);
|
||||
gen_call_function_IRRR(decode.modrm.reg == 3 ? (void*)(&CPU_CALL) : (void*)(&CPU_JMP),
|
||||
decode.big_op,FC_OP2,FC_ADDR,FC_RETOP);
|
||||
return true;
|
||||
return 1;
|
||||
case 0x6: // PUSH Ev
|
||||
if (decode.big_op) gen_call_function_raw((void*)&dynrec_push_dword);
|
||||
else gen_call_function_raw((void*)&dynrec_push_word);
|
||||
break;
|
||||
default:
|
||||
IllegalOptionDynrec("dyn_grp4_ev");
|
||||
// IllegalOptionDynrec("dyn_grp4_ev");
|
||||
return 2;
|
||||
}
|
||||
return false;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
@ -709,8 +709,8 @@
|
||||
else {GetEAa;Push_32(LoadMd(eaa));}
|
||||
break;
|
||||
default:
|
||||
E_Exit("CPU:66:GRP5:Illegal call %2X",which);
|
||||
break;
|
||||
LOG(LOG_CPU,LOG_ERROR)("CPU:66:GRP5:Illegal call %2X",which);
|
||||
goto illegal_opcode;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -1165,8 +1165,8 @@
|
||||
else {GetEAa;Push_16(LoadMw(eaa));}
|
||||
break;
|
||||
default:
|
||||
E_Exit("CPU:GRP5:Illegal Call %2X",which);
|
||||
break;
|
||||
LOG(LOG_CPU,LOG_ERROR)("CPU:GRP5:Illegal Call %2X",which);
|
||||
goto illegal_opcode;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -16,7 +16,10 @@
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/* $Id: midi_coreaudio.h,v 1.12 2009/10/18 18:06:28 qbix79 Exp $ */
|
||||
|
||||
#include <AudioToolbox/AUGraph.h>
|
||||
#include <CoreServices/CoreServices.h>
|
||||
|
||||
// A macro to simplify error handling a bit.
|
||||
#define RequireNoErr(error) \
|
||||
|
@ -16,7 +16,7 @@
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/* $Id: sblaster.cpp,v 1.77 2009/07/11 10:39:38 harekiet Exp $ */
|
||||
/* $Id: sblaster.cpp,v 1.78 2009/10/25 16:22:22 c2woody Exp $ */
|
||||
|
||||
#include <iomanip>
|
||||
#include <sstream>
|
||||
@ -250,7 +250,7 @@ static INLINE void SB_RaiseIRQ(SB_IRQS type) {
|
||||
switch (type) {
|
||||
case SB_IRQ_8:
|
||||
if (sb.irq.pending_8bit) {
|
||||
E_Exit("SB: 8bit irq pending");
|
||||
// LOG_MSG("SB: 8bit irq pending");
|
||||
return;
|
||||
}
|
||||
sb.irq.pending_8bit=true;
|
||||
@ -258,7 +258,7 @@ static INLINE void SB_RaiseIRQ(SB_IRQS type) {
|
||||
break;
|
||||
case SB_IRQ_16:
|
||||
if (sb.irq.pending_16bit) {
|
||||
E_Exit("SB: 16bit irq pending");
|
||||
// LOG_MSG("SB: 16bit irq pending");
|
||||
return;
|
||||
}
|
||||
sb.irq.pending_16bit=true;
|
||||
|
@ -16,7 +16,7 @@
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/* $Id: int10_char.cpp,v 1.59 2009/07/11 10:25:25 c2woody Exp $ */
|
||||
/* $Id: int10_char.cpp,v 1.60 2009/10/15 20:36:56 c2woody Exp $ */
|
||||
|
||||
/* Character displaying moving functions */
|
||||
|
||||
@ -26,18 +26,18 @@
|
||||
#include "inout.h"
|
||||
#include "int10.h"
|
||||
|
||||
static void CGA2_CopyRow(Bit8u cleft,Bit8u cright,Bit8u rold,Bit8u rnew,PhysPt base) {
|
||||
Bit8u cheight = real_readb(BIOSMEM_SEG,BIOSMEM_CHAR_HEIGHT);
|
||||
PhysPt dest=base+((CurMode->twidth*rnew)*(cheight/2)+cleft);
|
||||
PhysPt src=base+((CurMode->twidth*rold)*(cheight/2)+cleft);
|
||||
Bitu copy=(cright-cleft);
|
||||
Bitu nextline=CurMode->twidth;
|
||||
for (Bitu i=0;i<cheight;i++) {
|
||||
MEM_BlockCopy(dest,src,copy);
|
||||
MEM_BlockCopy(dest+8*1024,src+8*1024,copy);
|
||||
dest+=nextline;src+=nextline;
|
||||
}
|
||||
}
|
||||
static void CGA2_CopyRow(Bit8u cleft,Bit8u cright,Bit8u rold,Bit8u rnew,PhysPt base) {
|
||||
Bit8u cheight = real_readb(BIOSMEM_SEG,BIOSMEM_CHAR_HEIGHT);
|
||||
PhysPt dest=base+((CurMode->twidth*rnew)*(cheight/2)+cleft);
|
||||
PhysPt src=base+((CurMode->twidth*rold)*(cheight/2)+cleft);
|
||||
Bitu copy=(cright-cleft);
|
||||
Bitu nextline=CurMode->twidth;
|
||||
for (Bitu i=0;i<cheight/2U;i++) {
|
||||
MEM_BlockCopy(dest,src,copy);
|
||||
MEM_BlockCopy(dest+8*1024,src+8*1024,copy);
|
||||
dest+=nextline;src+=nextline;
|
||||
}
|
||||
}
|
||||
|
||||
static void CGA4_CopyRow(Bit8u cleft,Bit8u cright,Bit8u rold,Bit8u rnew,PhysPt base) {
|
||||
Bit8u cheight = real_readb(BIOSMEM_SEG,BIOSMEM_CHAR_HEIGHT);
|
||||
@ -56,7 +56,7 @@ static void TANDY16_CopyRow(Bit8u cleft,Bit8u cright,Bit8u rold,Bit8u rnew,PhysP
|
||||
PhysPt dest=base+((CurMode->twidth*rnew)*(cheight/4)+cleft)*4;
|
||||
PhysPt src=base+((CurMode->twidth*rold)*(cheight/4)+cleft)*4;
|
||||
Bitu copy=(cright-cleft)*4;Bitu nextline=CurMode->twidth*4;
|
||||
for (Bitu i=0;i<cheight/2U;i++) {
|
||||
for (Bitu i=0;i<cheight/4U;i++) {
|
||||
MEM_BlockCopy(dest,src,copy);
|
||||
MEM_BlockCopy(dest+8*1024,src+8*1024,copy);
|
||||
MEM_BlockCopy(dest+16*1024,src+16*1024,copy);
|
||||
@ -106,22 +106,21 @@ static void TEXT_CopyRow(Bit8u cleft,Bit8u cright,Bit8u rold,Bit8u rnew,PhysPt b
|
||||
MEM_BlockCopy(dest,src,(cright-cleft)*2);
|
||||
}
|
||||
|
||||
static void CGA2_FillRow(Bit8u cleft,Bit8u cright,Bit8u row,PhysPt base,Bit8u attr) {
|
||||
Bit8u cheight = real_readb(BIOSMEM_SEG,BIOSMEM_CHAR_HEIGHT);
|
||||
PhysPt dest=base+((CurMode->twidth*row)*(cheight/2)+cleft);
|
||||
Bitu copy=(cright-cleft);
|
||||
Bitu nextline=CurMode->twidth;
|
||||
attr=(attr & 0x3) | ((attr & 0x3) << 2) | ((attr & 0x3) << 4) | ((attr & 0x3) << 6);
|
||||
for (Bitu i=0;i<cheight;i++) {
|
||||
for (Bitu x=0;x<copy;x++) {
|
||||
mem_writeb(dest+x,attr);
|
||||
mem_writeb(dest+8*1024+x,attr);
|
||||
}
|
||||
dest+=nextline;
|
||||
}
|
||||
static void CGA2_FillRow(Bit8u cleft,Bit8u cright,Bit8u row,PhysPt base,Bit8u attr) {
|
||||
Bit8u cheight = real_readb(BIOSMEM_SEG,BIOSMEM_CHAR_HEIGHT);
|
||||
PhysPt dest=base+((CurMode->twidth*row)*(cheight/2)+cleft);
|
||||
Bitu copy=(cright-cleft);
|
||||
Bitu nextline=CurMode->twidth;
|
||||
attr=(attr & 0x3) | ((attr & 0x3) << 2) | ((attr & 0x3) << 4) | ((attr & 0x3) << 6);
|
||||
for (Bitu i=0;i<cheight/2U;i++) {
|
||||
for (Bitu x=0;x<copy;x++) {
|
||||
mem_writeb(dest+x,attr);
|
||||
mem_writeb(dest+8*1024+x,attr);
|
||||
}
|
||||
dest+=nextline;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void CGA4_FillRow(Bit8u cleft,Bit8u cright,Bit8u row,PhysPt base,Bit8u attr) {
|
||||
Bit8u cheight = real_readb(BIOSMEM_SEG,BIOSMEM_CHAR_HEIGHT);
|
||||
PhysPt dest=base+((CurMode->twidth*row)*(cheight/2)+cleft)*2;
|
||||
@ -411,10 +410,10 @@ void ReadCharAttr(Bit16u col,Bit16u row,Bit8u page,Bit16u * result) {
|
||||
Bit8u bitline=mem_readb(fontdata++);
|
||||
Bit8u res=0;
|
||||
Bit8u vidline=0;
|
||||
Bit16u tx=x;
|
||||
Bit16u tx=(Bit16u)x;
|
||||
while (bitsel) {
|
||||
//Construct bitline in memory
|
||||
INT10_GetPixel(tx,y,page,&res);
|
||||
INT10_GetPixel(tx,(Bit16u)y,page,&res);
|
||||
if(res) vidline|=bitsel;
|
||||
tx++;
|
||||
bitsel>>=1;
|
||||
@ -517,10 +516,10 @@ void WriteChar(Bit16u col,Bit16u row,Bit8u page,Bit8u chr,Bit8u attr,bool useatt
|
||||
Bit8u bitsel=128;
|
||||
Bit8u bitline = mem_readb(Real2Phys( fontdata ));
|
||||
fontdata = RealMake( RealSeg( fontdata ), RealOff( fontdata ) + 1);
|
||||
Bit16u tx=x;
|
||||
Bit16u tx=(Bit16u)x;
|
||||
while (bitsel) {
|
||||
if (bitline&bitsel) INT10_PutPixel(tx,y,page,attr);
|
||||
else INT10_PutPixel(tx,y,page,attr & xor_mask);
|
||||
if (bitline&bitsel) INT10_PutPixel(tx,(Bit16u)y,page,attr);
|
||||
else INT10_PutPixel(tx,(Bit16u)y,page,attr & xor_mask);
|
||||
tx++;
|
||||
bitsel>>=1;
|
||||
}
|
||||
@ -594,7 +593,7 @@ static void INT10_TeletypeOutputAttr(Bit8u chr,Bit8u attr,bool useattr,Bit8u pag
|
||||
if(cur_row==nrows) {
|
||||
//Fill with black on non-text modes and with 0x7 on textmode
|
||||
Bit8u fill = (CurMode->type == M_TEXT)?0x7:0;
|
||||
INT10_ScrollWindow(0,0,(Bit8u)(nrows-1),ncols-1,-1,fill,page);
|
||||
INT10_ScrollWindow(0,0,(Bit8u)(nrows-1),(Bit8u)(ncols-1),-1,fill,page);
|
||||
cur_row--;
|
||||
}
|
||||
// Set the cursor for the page
|
||||
|
@ -16,7 +16,7 @@
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/* $Id: int10_modes.cpp,v 1.90 2009/09/06 19:25:34 c2woody Exp $ */
|
||||
/* $Id: int10_modes.cpp,v 1.91 2009/10/19 16:00:22 h-a-l-9000 Exp $ */
|
||||
|
||||
#include <string.h>
|
||||
|
||||
@ -607,8 +607,9 @@ bool INT10_SetVideoMode_OTHER(Bit16u mode,bool clearmem) {
|
||||
RealOff(vparams) + i + crtc_block_index*16) << 8));
|
||||
if (machine==MCH_CGA) {
|
||||
// mode register
|
||||
IO_WriteB(crtc_base + 4, real_readb(RealSeg(vparams),
|
||||
RealOff(vparams) + 4*16 + 24 + mode));
|
||||
Bit8u mode_control = real_readb(RealSeg(vparams), RealOff(vparams) + 80 + mode);
|
||||
IO_WriteB(crtc_base + 4, mode_control);
|
||||
real_writeb(BIOSMEM_SEG,BIOSMEM_CURRENT_MSR, mode_control);
|
||||
}
|
||||
|
||||
if (machine==MCH_TANDY) {
|
||||
|
Loading…
Reference in New Issue
Block a user