Enforce call order of the functions used in the bitshift. Fixes visual C /O2 builds. Thanks h-a-l-9000 and wjp.
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3718
This commit is contained in:
parent
cca9bb077a
commit
de75bc83f6
4 changed files with 55 additions and 52 deletions
|
@ -367,7 +367,7 @@ else
|
|||
AC_CHECK_LIB(SDL_net, SDLNet_Init, have_sdl_net_lib=yes, , )
|
||||
fi
|
||||
if test x$have_sdl_net_lib = xyes -a x$have_sdl_net_h = xyes ; then
|
||||
LIBS="$LIBS -lSDL_net"
|
||||
LIBS="$LIBS -lSDL_net /home/pveenstra/qbix/cross3/usr/lib/libvorbisfile.a /home/pveenstra/qbix/cross3/usr/lib/libvorbis.a /home/pveenstra/qbix/cross3/usr/lib/libogg.a"
|
||||
AC_DEFINE(C_MODEM,1)
|
||||
AC_DEFINE(C_IPX,1)
|
||||
else
|
||||
|
@ -499,7 +499,8 @@ esac
|
|||
AC_SUBST(WINDRES)
|
||||
|
||||
|
||||
AC_CONFIG_FILES([
|
||||
|
||||
AC_CONFIG_FILES([
|
||||
Makefile
|
||||
src/Makefile
|
||||
src/cpu/Makefile
|
||||
|
|
|
@ -43,16 +43,16 @@ Bitu PageHandler::readb(PhysPt addr) {
|
|||
return 0;
|
||||
}
|
||||
Bitu PageHandler::readw(PhysPt addr) {
|
||||
return
|
||||
(readb(addr+0) << 0) |
|
||||
(readb(addr+1) << 8);
|
||||
Bitu ret = (readb(addr+0) << 0);
|
||||
ret |= (readb(addr+1) << 8);
|
||||
return ret;
|
||||
}
|
||||
Bitu PageHandler::readd(PhysPt addr) {
|
||||
return
|
||||
(readb(addr+0) << 0) |
|
||||
(readb(addr+1) << 8) |
|
||||
(readb(addr+2) << 16) |
|
||||
(readb(addr+3) << 24);
|
||||
Bitu ret = (readb(addr+0) << 0);
|
||||
ret |= (readb(addr+1) << 8);
|
||||
ret |= (readb(addr+2) << 16);
|
||||
ret |= (readb(addr+3) << 24);
|
||||
return ret;
|
||||
}
|
||||
|
||||
void PageHandler::writeb(PhysPt addr,Bitu /*val*/) {
|
||||
|
|
|
@ -427,15 +427,17 @@ void MEM_A20_Enable(bool enabled) {
|
|||
|
||||
/* Memory access functions */
|
||||
Bit16u mem_unalignedreadw(PhysPt address) {
|
||||
return mem_readb_inline(address) |
|
||||
mem_readb_inline(address+1) << 8;
|
||||
Bit16u ret = mem_readb_inline(address);
|
||||
ret |= mem_readb_inline(address+1) << 8;
|
||||
return ret;
|
||||
}
|
||||
|
||||
Bit32u mem_unalignedreadd(PhysPt address) {
|
||||
return mem_readb_inline(address) |
|
||||
(mem_readb_inline(address+1) << 8) |
|
||||
(mem_readb_inline(address+2) << 16) |
|
||||
(mem_readb_inline(address+3) << 24);
|
||||
Bit32u ret = mem_readb_inline(address);
|
||||
ret |= mem_readb_inline(address+1) << 8;
|
||||
ret |= mem_readb_inline(address+2) << 16;
|
||||
ret |= mem_readb_inline(address+3) << 24;
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -160,19 +160,19 @@ public:
|
|||
addr = PAGING_GetPhysicalAddress(addr) & vgapages.mask;
|
||||
addr += vga.svga.bank_read_full;
|
||||
addr = CHECKED2(addr);
|
||||
return
|
||||
(readHandler(addr+0) << 0) |
|
||||
(readHandler(addr+1) << 8);
|
||||
Bitu ret = (readHandler(addr+0) << 0);
|
||||
ret |= (readHandler(addr+1) << 8);
|
||||
return ret;
|
||||
}
|
||||
Bitu readd(PhysPt addr) {
|
||||
addr = PAGING_GetPhysicalAddress(addr) & vgapages.mask;
|
||||
addr += vga.svga.bank_read_full;
|
||||
addr = CHECKED2(addr);
|
||||
return
|
||||
(readHandler(addr+0) << 0) |
|
||||
(readHandler(addr+1) << 8) |
|
||||
(readHandler(addr+2) << 16) |
|
||||
(readHandler(addr+3) << 24);
|
||||
Bitu ret = (readHandler(addr+0) << 0);
|
||||
ret |= (readHandler(addr+1) << 8);
|
||||
ret |= (readHandler(addr+2) << 16);
|
||||
ret |= (readHandler(addr+3) << 24);
|
||||
return ret;
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -246,19 +246,19 @@ public:
|
|||
addr = PAGING_GetPhysicalAddress(addr) & vgapages.mask;
|
||||
addr += vga.svga.bank_read_full;
|
||||
addr = CHECKED(addr);
|
||||
return
|
||||
(readHandler(addr+0) << 0) |
|
||||
(readHandler(addr+1) << 8);
|
||||
Bitu ret = (readHandler(addr+0) << 0);
|
||||
ret |= (readHandler(addr+1) << 8);
|
||||
return ret;
|
||||
}
|
||||
Bitu readd(PhysPt addr) {
|
||||
addr = PAGING_GetPhysicalAddress(addr) & vgapages.mask;
|
||||
addr += vga.svga.bank_read_full;
|
||||
addr = CHECKED(addr);
|
||||
return
|
||||
(readHandler(addr+0) << 0) |
|
||||
(readHandler(addr+1) << 8) |
|
||||
(readHandler(addr+2) << 16) |
|
||||
(readHandler(addr+3) << 24);
|
||||
Bitu ret = (readHandler(addr+0) << 0);
|
||||
ret |= (readHandler(addr+1) << 8);
|
||||
ret |= (readHandler(addr+2) << 16);
|
||||
ret |= (readHandler(addr+3) << 24);
|
||||
return ret;
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -355,24 +355,24 @@ public:
|
|||
addr = PAGING_GetPhysicalAddress(addr) & vgapages.mask;
|
||||
addr += vga.svga.bank_read_full;
|
||||
addr = CHECKED(addr);
|
||||
if (GCC_UNLIKELY(addr & 1))
|
||||
return
|
||||
(readHandler<Bit8u>( addr+0 ) << 0 ) |
|
||||
(readHandler<Bit8u>( addr+1 ) << 8 );
|
||||
else
|
||||
if (GCC_UNLIKELY(addr & 1)) {
|
||||
Bitu ret = (readHandler<Bit8u>( addr+0 ) << 0 );
|
||||
ret |= (readHandler<Bit8u>( addr+1 ) << 8 );
|
||||
return ret;
|
||||
} else
|
||||
return readHandler<Bit16u>( addr );
|
||||
}
|
||||
Bitu readd(PhysPt addr ) {
|
||||
addr = PAGING_GetPhysicalAddress(addr) & vgapages.mask;
|
||||
addr += vga.svga.bank_read_full;
|
||||
addr = CHECKED(addr);
|
||||
if (GCC_UNLIKELY(addr & 3))
|
||||
return
|
||||
(readHandler<Bit8u>( addr+0 ) << 0 ) |
|
||||
(readHandler<Bit8u>( addr+1 ) << 8 ) |
|
||||
(readHandler<Bit8u>( addr+2 ) << 16 ) |
|
||||
(readHandler<Bit8u>( addr+3 ) << 24 );
|
||||
else
|
||||
if (GCC_UNLIKELY(addr & 3)) {
|
||||
Bitu ret = (readHandler<Bit8u>( addr+0 ) << 0 );
|
||||
ret |= (readHandler<Bit8u>( addr+1 ) << 8 );
|
||||
ret |= (readHandler<Bit8u>( addr+2 ) << 16 );
|
||||
ret |= (readHandler<Bit8u>( addr+3 ) << 24 );
|
||||
return ret;
|
||||
} else
|
||||
return readHandler<Bit32u>( addr );
|
||||
}
|
||||
void writeb(PhysPt addr, Bitu val ) {
|
||||
|
@ -588,18 +588,18 @@ public:
|
|||
Bitu readw(PhysPt addr) {
|
||||
addr = vga.svga.bank_read_full + (PAGING_GetPhysicalAddress(addr) & 0xffff);
|
||||
addr = CHECKED4(addr);
|
||||
return
|
||||
(readHandler(addr+0) << 0) |
|
||||
(readHandler(addr+1) << 8);
|
||||
Bitu ret = (readHandler(addr+0) << 0);
|
||||
ret |= (readHandler(addr+1) << 8);
|
||||
return ret;
|
||||
}
|
||||
Bitu readd(PhysPt addr) {
|
||||
addr = vga.svga.bank_read_full + (PAGING_GetPhysicalAddress(addr) & 0xffff);
|
||||
addr = CHECKED4(addr);
|
||||
return
|
||||
(readHandler(addr+0) << 0) |
|
||||
(readHandler(addr+1) << 8) |
|
||||
(readHandler(addr+2) << 16) |
|
||||
(readHandler(addr+3) << 24);
|
||||
Bitu ret = (readHandler(addr+0) << 0);
|
||||
ret |= (readHandler(addr+1) << 8);
|
||||
ret |= (readHandler(addr+2) << 16);
|
||||
ret |= (readHandler(addr+3) << 24);
|
||||
return ret;
|
||||
}
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue