diff --git a/src/ints/int10_char.cpp b/src/ints/int10_char.cpp index 6a610f31..478fa1da 100644 --- a/src/ints/int10_char.cpp +++ b/src/ints/int10_char.cpp @@ -54,14 +54,12 @@ static void CGA4_CopyRow(Bit8u cleft,Bit8u cright,Bit8u rold,Bit8u rnew,PhysPt b static void TANDY16_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/4)+cleft)*4; - PhysPt src=base+((CurMode->twidth*rold)*(cheight/4)+cleft)*4; + Bit8u banks=CurMode->twidth/10; + PhysPt dest=base+((CurMode->twidth*rnew)*(cheight/banks)+cleft)*4; + PhysPt src=base+((CurMode->twidth*rold)*(cheight/banks)+cleft)*4; Bitu copy=(cright-cleft)*4;Bitu nextline=CurMode->twidth*4; - for (Bitu i=0;itwidth*row)*(cheight/4)+cleft)*4; + Bit8u banks=CurMode->twidth/10; + PhysPt dest=base+((CurMode->twidth*row)*(cheight/banks)+cleft)*4; Bitu copy=(cright-cleft)*4;Bitu nextline=CurMode->twidth*4; attr=(attr & 0xf) | (attr & 0xf) << 4; - for (Bitu i=0;i