diff --git a/acinclude.m4 b/acinclude.m4 index 9cbf5dfa..08653d83 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -370,38 +370,40 @@ typedef double Real64; #if SIZEOF_UNSIGNED_INT == 4 typedef unsigned int Bit32u; typedef signed int Bit32s; +#define sBit32t #elif SIZEOF_UNSIGNED_LONG == 4 typedef unsigned long Bit32u; typedef signed long Bit32s; +#define sBit32t "l" #else # error "can't find sizeof(type) of 4 bytes!" #endif +#define sBit32fs(a) sBit32t #a #if SIZEOF_UNSIGNED_LONG == 8 typedef unsigned long Bit64u; typedef signed long Bit64s; +#define sBit64t "l" #elif SIZEOF_UNSIGNED_LONG_LONG == 8 typedef unsigned long long Bit64u; typedef signed long long Bit64s; +#define sBit64t "ll" #else # error "can't find data type of 8 bytes" #endif +#define sBit64fs(a) sBit64t #a #if SIZEOF_INT_P == 4 typedef Bit32u Bitu; typedef Bit32s Bits; -#define sBitud "%u" -#define sBitux "%x" -#define sBituX "%X" +#define sBitfs sBit32fs #else //SIZEOF_INT_P typedef Bit64u Bitu; typedef Bit64s Bits; -#define sBitud "%lu" -#define sBitux "%lx" -#define sBituX "%lX" +#define sBitfs sBit64fs #endif diff --git a/src/cpu/callback.cpp b/src/cpu/callback.cpp index ed13a6e8..88109183 100644 --- a/src/cpu/callback.cpp +++ b/src/cpu/callback.cpp @@ -527,7 +527,7 @@ Bitu CALLBACK_SetupExtra(Bitu callback, Bitu type, PhysPt physAddress, bool use_ phys_writeb(physAddress+0x1B,(Bit8u)0xC3); //A RETN Instruction return (use_cb?32:27); default: - E_Exit("CALLBACK:Setup:Illegal type " sBitud,type); + E_Exit("CALLBACK:Setup:Illegal type %" sBitfs(u),type); } return 0; } diff --git a/src/cpu/cpu.cpp b/src/cpu/cpu.cpp index 1a55bace..9d46a99a 100644 --- a/src/cpu/cpu.cpp +++ b/src/cpu/cpu.cpp @@ -349,7 +349,7 @@ bool CPU_SwitchTask(Bitu new_tss_selector,TSwitchType tstype,Bitu old_eip) { FillFlags(); TaskStateSegment new_tss; if (!new_tss.SetSelector(new_tss_selector)) - E_Exit("Illegal TSS for switch, selector=" sBitux ", switchtype=%x",new_tss_selector,tstype); + E_Exit("Illegal TSS for switch, selector=%" sBitfs(x) ", switchtype=%x",new_tss_selector,tstype); if (tstype==TSwitch_IRET) { if (!new_tss.desc.IsBusy()) E_Exit("TSS not busy for IRET"); @@ -503,7 +503,7 @@ doconforming: Segs.val[cs]=new_cs; break; default: - E_Exit("Task switch CS Type " sBitud,cs_desc.Type()); + E_Exit("Task switch CS Type %" sBitfs(u),cs_desc.Type()); } } CPU_SetSegGeneral(es,new_es); @@ -725,7 +725,7 @@ do_interrupt: } break; default: - E_Exit("INT:Gate Selector points to illegal descriptor with type " sBitux,cs_desc.Type()); + E_Exit("INT:Gate Selector points to illegal descriptor with type %" sBitfs(x),cs_desc.Type()); } Segs.val[cs]=(gate_sel&0xfffc) | cpu.cpl; @@ -755,7 +755,7 @@ do_interrupt: } return; default: - E_Exit("Illegal descriptor type " sBituX " for int " sBituX,gate.Type(),num); + E_Exit("Illegal descriptor type %" sBitfs(X) " for int %" sBitfs(X),gate.Type(),num); } } assert(1); @@ -902,7 +902,7 @@ void CPU_IRET(bool use32,Bitu oldeip) { EXCEPTION_GP,n_cs_sel & 0xfffc) break; default: - E_Exit("IRET:Illegal descriptor type " sBituX, n_cs_desc.Type()); + E_Exit("IRET:Illegal descriptor type %" sBitfs(X), n_cs_desc.Type()); } CPU_CHECK_COND(!n_cs_desc.saved.seg.p, "IRET with nonpresent code segment", @@ -1059,7 +1059,7 @@ CODE_jmp: CPU_SwitchTask(selector,TSwitch_JMP,oldeip); break; default: - E_Exit("JMP Illegal descriptor type " sBituX,desc.Type()); + E_Exit("JMP Illegal descriptor type %" sBitfs(X),desc.Type()); } } assert(1); @@ -1295,7 +1295,7 @@ call_code: CPU_Exception(EXCEPTION_GP,selector & 0xfffc); return; default: - E_Exit("CALL:Descriptor type " sBitux " unsupported",call.Type()); + E_Exit("CALL:Descriptor type %" sBitfs(x) " unsupported",call.Type()); } } assert(1); @@ -1353,7 +1353,7 @@ void CPU_RET(bool use32,Bitu bytes,Bitu oldeip) { EXCEPTION_GP,selector & 0xfffc) break; default: - E_Exit("RET from illegal descriptor type " sBituX,desc.Type()); + E_Exit("RET from illegal descriptor type %" sBitfs(X),desc.Type()); } RET_same_level: if (!desc.saved.seg.p) { @@ -1398,7 +1398,7 @@ RET_same_level: EXCEPTION_GP,selector & 0xfffc) break; default: - E_Exit("RET from illegal descriptor type " sBituX,desc.Type()); // or #GP(selector) + E_Exit("RET from illegal descriptor type %" sBitfs(X),desc.Type()); // or #GP(selector) } CPU_CHECK_COND(!desc.saved.seg.p, @@ -1509,7 +1509,7 @@ bool CPU_LTR(Bitu selector) { LOG(LOG_CPU,LOG_ERROR)("LTR failed, selector=%X (not present)",selector); return CPU_PrepareException(EXCEPTION_NP,selector); } - if (!cpu_tss.SetSelector(selector)) E_Exit("LTR failed, selector=" sBituX,selector); + if (!cpu_tss.SetSelector(selector)) E_Exit("LTR failed, selector=%" sBitfs(X),selector); cpu_tss.desc.SetBusy(true); cpu_tss.SaveSelector(); } else { diff --git a/src/hardware/dma.cpp b/src/hardware/dma.cpp index 16f56ef5..bf8ecbae 100644 --- a/src/hardware/dma.cpp +++ b/src/hardware/dma.cpp @@ -50,7 +50,7 @@ static void DMA_BlockRead(PhysPt spage,PhysPt offset,void * data,Bitu size,Bit8u Bit32u dma_wrap = ((0xffff<(dma_wrapping<> 12); @@ -71,7 +71,7 @@ static void DMA_BlockWrite(PhysPt spage,PhysPt offset,void * data,Bitu size,Bit8 Bit32u dma_wrap = ((0xffff<(dma_wrapping<> 12); @@ -109,7 +109,7 @@ bool SecondDMAControllerAvailable(void) { } static void DMA_Write_Port(Bitu port,Bitu val,Bitu /*iolen*/) { - //LOG(LOG_DMACONTROL,LOG_ERROR)("Write " sBituX " " sBituX,port,val); + //LOG(LOG_DMACONTROL,LOG_ERROR)("Write %" sBitfs(X) " %" sBitfs(X),port,val); if (port<0x10) { /* write to the first DMA controller (channels 0-3) */ DmaControllers[0]->WriteControllerReg(port,val,1); @@ -132,7 +132,7 @@ static void DMA_Write_Port(Bitu port,Bitu val,Bitu /*iolen*/) { } static Bitu DMA_Read_Port(Bitu port,Bitu iolen) { - //LOG(LOG_DMACONTROL,LOG_ERROR)("Read " sBituX,port); + //LOG(LOG_DMACONTROL,LOG_ERROR)("Read %" sBitfs(X),port); if (port<0x10) { /* read from the first DMA controller (channels 0-3) */ return DmaControllers[0]->ReadControllerReg(port,iolen); @@ -258,7 +258,7 @@ Bitu DmaController::ReadControllerReg(Bitu reg,Bitu /*len*/) { } return ret; default: - LOG(LOG_DMACONTROL,LOG_NORMAL)("Trying to read undefined DMA port " sBitux,reg); + LOG(LOG_DMACONTROL,LOG_NORMAL)("Trying to read undefined DMA port %" sBitfs(x),reg); break; } return 0xffffffff; diff --git a/src/platform/visualc/config.h b/src/platform/visualc/config.h index 7b8838b8..cd95e71f 100644 --- a/src/platform/visualc/config.h +++ b/src/platform/visualc/config.h @@ -83,17 +83,17 @@ typedef unsigned int Bit32u; typedef signed int Bit32s; typedef unsigned __int64 Bit64u; typedef signed __int64 Bit64s; +#define sBit32t +#define sBit64t "I64" +#define sBit32fs(a) sBit32t #a +#define sBit64fs(a) sBit64t #a #ifdef _M_X64 typedef Bit64u Bitu; typedef Bit64s Bits; -#define sBitud "%I64u" -#define sBitux "%I64x" -#define sBituX "%I64X" +#define sBitfs sBit64fs #else // _M_IX86 typedef Bit32u Bitu; typedef Bit32s Bits; -#define sBitud "%u" -#define sBitux "%x" -#define sBituX "%X" +#define sBitfs sBit32fs #endif