Skip to content

add support for mingw build #874

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 22 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
203d665
CWindow.h: fix build error with gcc
rofl0r Dec 6, 2024
2bf5792
path.h: add mkdir macro for mingw
rofl0r Dec 6, 2024
7c26593
types.h: don't undef WINAPI for mingw
rofl0r Dec 6, 2024
ee6d8aa
replay: fix use of anonymous struct members
rofl0r Dec 6, 2024
e8f1e60
xma2defs.h: macro hack for mingw's lack of __out etc
rofl0r Dec 6, 2024
6263cea
XAudio2.h: likewise
rofl0r Dec 6, 2024
420bf01
ImageOut.cpp: add missing header
rofl0r Dec 6, 2024
47233ba
lua-engine.cpp: fix build error with mingw
rofl0r Dec 6, 2024
f1ffbff
unrar/strfn.cpp: fix build error with mingw
rofl0r Dec 6, 2024
4a9f95c
resources.rc: fix build error with mingw-windres
rofl0r Dec 6, 2024
4c6bbf6
resources.rc: use unix-style path names
rofl0r Dec 6, 2024
b7915bc
ROMReader: fix build error with mingw
rofl0r Dec 6, 2024
0df7918
fatdir: fix build error with mingw
rofl0r Dec 6, 2024
6323bbb
gdbstub_internal.h: fix build error with mingw
rofl0r Dec 6, 2024
271490c
snddx.cpp: use mingw-provided directx headers if applicable
rofl0r Dec 6, 2024
13bccf5
XAudio2.h: make compatible with mingw
rofl0r Dec 6, 2024
c2a1296
inputdx.h: make compatible with mingw
rofl0r Dec 6, 2024
9ea9198
aviout.cpp: fix constructor use gcc dislikes
rofl0r Dec 6, 2024
96414ed
windows: add Makefile for mingw
rofl0r Dec 6, 2024
c2af88c
asmjit: remove unused calling convention defines
rofl0r Dec 6, 2024
18f166b
rename FASTCALL to DESMUME_FASTCALL
rofl0r Dec 6, 2024
9f30151
types.h: let mingw use regparm(3) calling convention for jit
rofl0r Dec 6, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 38 additions & 38 deletions desmume/src/MMU.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1293,7 +1293,7 @@ void GC_Command::fromCryptoBuffer(u32 buf[2])
}

template<int PROCNUM>
void FASTCALL MMU_writeToGCControl(u32 val)
void DESMUME_FASTCALL MMU_writeToGCControl(u32 val)
{

int dbsize = (val>>24)&7;
Expand Down Expand Up @@ -1374,7 +1374,7 @@ void FASTCALL MMU_writeToGCControl(u32 val)
}

/*template<int PROCNUM>
u32 FASTCALL MMU_readFromGCControl()
u32 DESMUME_FASTCALL MMU_readFromGCControl()
{
return T1ReadLong(MMU.MMU_MEM[0][0x40], 0x1A4);
}*/
Expand Down Expand Up @@ -1452,7 +1452,7 @@ static void CalculateTouchPressure(int pressurePercent, u16 &z1, u16& z2)

}

void FASTCALL MMU_writeToSPIData(u16 val)
void DESMUME_FASTCALL MMU_writeToSPIData(u16 val)
{

enum PM_Bits //from libnds
Expand Down Expand Up @@ -3332,7 +3332,7 @@ template bool MMU_WriteFromExternal<u32, 4>(const int targetProc, const u32 targ
//=========================================================================================================
//=========================================================================================================
//================================================= MMU write 08
void FASTCALL _MMU_ARM9_write08(u32 adr, u8 val)
void DESMUME_FASTCALL _MMU_ARM9_write08(u32 adr, u8 val)
{
adr &= 0x0FFFFFFF;
const u32 adrBank = (adr >> 24);
Expand Down Expand Up @@ -3888,7 +3888,7 @@ void FASTCALL _MMU_ARM9_write08(u32 adr, u8 val)
}

//================================================= MMU ARM9 write 16
void FASTCALL _MMU_ARM9_write16(u32 adr, u16 val)
void DESMUME_FASTCALL _MMU_ARM9_write16(u32 adr, u16 val)
{
adr &= 0x0FFFFFFE;
const u32 adrBank = (adr >> 24);
Expand Down Expand Up @@ -4604,7 +4604,7 @@ void FASTCALL _MMU_ARM9_write16(u32 adr, u16 val)
}

//================================================= MMU ARM9 write 32
void FASTCALL _MMU_ARM9_write32(u32 adr, u32 val)
void DESMUME_FASTCALL _MMU_ARM9_write32(u32 adr, u32 val)
{
adr &= 0x0FFFFFFC;
const u32 adrBank = (adr >> 24);
Expand Down Expand Up @@ -5147,7 +5147,7 @@ void FASTCALL _MMU_ARM9_write32(u32 adr, u32 val)
}

//================================================= MMU ARM9 read 08
u8 FASTCALL _MMU_ARM9_read08(u32 adr)
u8 DESMUME_FASTCALL _MMU_ARM9_read08(u32 adr)
{
adr &= 0x0FFFFFFF;

Expand Down Expand Up @@ -5270,7 +5270,7 @@ u8 FASTCALL _MMU_ARM9_read08(u32 adr)
}

//================================================= MMU ARM9 read 16
u16 FASTCALL _MMU_ARM9_read16(u32 adr)
u16 DESMUME_FASTCALL _MMU_ARM9_read16(u32 adr)
{
adr &= 0x0FFFFFFE;

Expand Down Expand Up @@ -5380,7 +5380,7 @@ u16 FASTCALL _MMU_ARM9_read16(u32 adr)
}

//================================================= MMU ARM9 read 32
u32 FASTCALL _MMU_ARM9_read32(u32 adr)
u32 DESMUME_FASTCALL _MMU_ARM9_read32(u32 adr)
{
adr &= 0x0FFFFFFC;

Expand Down Expand Up @@ -5530,7 +5530,7 @@ u32 FASTCALL _MMU_ARM9_read32(u32 adr)
//=========================================================================================================
//=========================================================================================================
//================================================= MMU ARM7 write 08
void FASTCALL _MMU_ARM7_write08(u32 adr, u8 val)
void DESMUME_FASTCALL _MMU_ARM7_write08(u32 adr, u8 val)
{
adr &= 0x0FFFFFFF;

Expand Down Expand Up @@ -5658,7 +5658,7 @@ void FASTCALL _MMU_ARM7_write08(u32 adr, u8 val)
}

//================================================= MMU ARM7 write 16
void FASTCALL _MMU_ARM7_write16(u32 adr, u16 val)
void DESMUME_FASTCALL _MMU_ARM7_write16(u32 adr, u16 val)
{
adr &= 0x0FFFFFFE;

Expand Down Expand Up @@ -5843,7 +5843,7 @@ void FASTCALL _MMU_ARM7_write16(u32 adr, u16 val)
T1WriteWord(MMU.MMU_MEM[ARMCPU_ARM7][adr>>20], adr&MMU.MMU_MASK[ARMCPU_ARM7][adr>>20], val);
}
//================================================= MMU ARM7 write 32
void FASTCALL _MMU_ARM7_write32(u32 adr, u32 val)
void DESMUME_FASTCALL _MMU_ARM7_write32(u32 adr, u32 val)
{
adr &= 0x0FFFFFFC;

Expand Down Expand Up @@ -5946,7 +5946,7 @@ void FASTCALL _MMU_ARM7_write32(u32 adr, u32 val)
}

//================================================= MMU ARM7 read 08
u8 FASTCALL _MMU_ARM7_read08(u32 adr)
u8 DESMUME_FASTCALL _MMU_ARM7_read08(u32 adr)
{
adr &= 0x0FFFFFFF;

Expand Down Expand Up @@ -6028,7 +6028,7 @@ u8 FASTCALL _MMU_ARM7_read08(u32 adr)
return MMU.MMU_MEM[ARMCPU_ARM7][adr>>20][adr&MMU.MMU_MASK[ARMCPU_ARM7][adr>>20]];
}
//================================================= MMU ARM7 read 16
u16 FASTCALL _MMU_ARM7_read16(u32 adr)
u16 DESMUME_FASTCALL _MMU_ARM7_read16(u32 adr)
{
adr &= 0x0FFFFFFE;

Expand Down Expand Up @@ -6114,7 +6114,7 @@ u16 FASTCALL _MMU_ARM7_read16(u32 adr)
return T1ReadWord_guaranteedAligned(MMU.MMU_MEM[ARMCPU_ARM7][adr >> 20], adr & MMU.MMU_MASK[ARMCPU_ARM7][adr >> 20]);
}
//================================================= MMU ARM7 read 32
u32 FASTCALL _MMU_ARM7_read32(u32 adr)
u32 DESMUME_FASTCALL _MMU_ARM7_read32(u32 adr)
{
adr &= 0x0FFFFFFC;

Expand Down Expand Up @@ -6198,7 +6198,7 @@ u32 FASTCALL _MMU_ARM7_read32(u32 adr)

//=========================================================================================================

u32 FASTCALL MMU_read32(u32 proc, u32 adr)
u32 DESMUME_FASTCALL MMU_read32(u32 proc, u32 adr)
{
ASSERT_UNALIGNED((adr&3)==0);

Expand All @@ -6208,7 +6208,7 @@ u32 FASTCALL MMU_read32(u32 proc, u32 adr)
return _MMU_ARM7_read32(adr);
}

u16 FASTCALL MMU_read16(u32 proc, u32 adr)
u16 DESMUME_FASTCALL MMU_read16(u32 proc, u32 adr)
{
ASSERT_UNALIGNED((adr&1)==0);

Expand All @@ -6218,15 +6218,15 @@ u16 FASTCALL MMU_read16(u32 proc, u32 adr)
return _MMU_ARM7_read16(adr);
}

u8 FASTCALL MMU_read8(u32 proc, u32 adr)
u8 DESMUME_FASTCALL MMU_read8(u32 proc, u32 adr)
{
if(proc==0)
return _MMU_ARM9_read08(adr);
else
return _MMU_ARM7_read08(adr);
}

void FASTCALL MMU_write32(u32 proc, u32 adr, u32 val)
void DESMUME_FASTCALL MMU_write32(u32 proc, u32 adr, u32 val)
{
ASSERT_UNALIGNED((adr&3)==0);

Expand All @@ -6236,7 +6236,7 @@ void FASTCALL MMU_write32(u32 proc, u32 adr, u32 val)
_MMU_ARM7_write32(adr,val);
}

void FASTCALL MMU_write16(u32 proc, u32 adr, u16 val)
void DESMUME_FASTCALL MMU_write16(u32 proc, u32 adr, u16 val)
{
ASSERT_UNALIGNED((adr&1)==0);

Expand All @@ -6246,15 +6246,15 @@ void FASTCALL MMU_write16(u32 proc, u32 adr, u16 val)
_MMU_ARM7_write16(adr,val);
}

void FASTCALL MMU_write8(u32 proc, u32 adr, u8 val)
void DESMUME_FASTCALL MMU_write8(u32 proc, u32 adr, u8 val)
{
if(proc==0)
_MMU_ARM9_write08(adr, val);
else
_MMU_ARM7_write08(adr,val);
}

void FASTCALL MMU_DumpMemBlock(u8 proc, u32 address, u32 size, u8 *buffer)
void DESMUME_FASTCALL MMU_DumpMemBlock(u8 proc, u32 address, u32 size, u8 *buffer)
{
u32 i;
u32 curaddr;
Expand All @@ -6273,67 +6273,67 @@ template u32 MMU_struct::gen_IF<ARMCPU_ARM7>();
////////////////////////////////////////////////////////////
//function pointer handlers for gdb stub stuff

static u16 FASTCALL arm9_prefetch16( void *data, u32 adr) {
static u16 DESMUME_FASTCALL arm9_prefetch16( void *data, u32 adr) {
return _MMU_read16<ARMCPU_ARM9,MMU_AT_CODE>(adr);
}

static u32 FASTCALL arm9_prefetch32( void *data, u32 adr) {
static u32 DESMUME_FASTCALL arm9_prefetch32( void *data, u32 adr) {
return _MMU_read32<ARMCPU_ARM9,MMU_AT_CODE>(adr);
}

static u8 FASTCALL arm9_read8( void *data, u32 adr) {
static u8 DESMUME_FASTCALL arm9_read8( void *data, u32 adr) {
return _MMU_read08<ARMCPU_ARM9>(adr);
}

static u16 FASTCALL arm9_read16( void *data, u32 adr) {
static u16 DESMUME_FASTCALL arm9_read16( void *data, u32 adr) {
return _MMU_read16<ARMCPU_ARM9>(adr);
}

static u32 FASTCALL arm9_read32( void *data, u32 adr) {
static u32 DESMUME_FASTCALL arm9_read32( void *data, u32 adr) {
return _MMU_read32<ARMCPU_ARM9>(adr);
}

static void FASTCALL arm9_write8(void *data, u32 adr, u8 val) {
static void DESMUME_FASTCALL arm9_write8(void *data, u32 adr, u8 val) {
_MMU_write08<ARMCPU_ARM9>(adr, val);
}

static void FASTCALL arm9_write16(void *data, u32 adr, u16 val) {
static void DESMUME_FASTCALL arm9_write16(void *data, u32 adr, u16 val) {
_MMU_write16<ARMCPU_ARM9>(adr, val);
}

static void FASTCALL arm9_write32(void *data, u32 adr, u32 val) {
static void DESMUME_FASTCALL arm9_write32(void *data, u32 adr, u32 val) {
_MMU_write32<ARMCPU_ARM9>(adr, val);
}

static u16 FASTCALL arm7_prefetch16( void *data, u32 adr) {
static u16 DESMUME_FASTCALL arm7_prefetch16( void *data, u32 adr) {
return _MMU_read16<ARMCPU_ARM7,MMU_AT_CODE>(adr);
}

static u32 FASTCALL arm7_prefetch32( void *data, u32 adr) {
static u32 DESMUME_FASTCALL arm7_prefetch32( void *data, u32 adr) {
return _MMU_read32<ARMCPU_ARM7,MMU_AT_CODE>(adr);
}

static u8 FASTCALL arm7_read8( void *data, u32 adr) {
static u8 DESMUME_FASTCALL arm7_read8( void *data, u32 adr) {
return _MMU_read08<ARMCPU_ARM7>(adr);
}

static u16 FASTCALL arm7_read16( void *data, u32 adr) {
static u16 DESMUME_FASTCALL arm7_read16( void *data, u32 adr) {
return _MMU_read16<ARMCPU_ARM7>(adr);
}

static u32 FASTCALL arm7_read32( void *data, u32 adr) {
static u32 DESMUME_FASTCALL arm7_read32( void *data, u32 adr) {
return _MMU_read32<ARMCPU_ARM7>(adr);
}

static void FASTCALL arm7_write8(void *data, u32 adr, u8 val) {
static void DESMUME_FASTCALL arm7_write8(void *data, u32 adr, u8 val) {
_MMU_write08<ARMCPU_ARM7>(adr, val);
}

static void FASTCALL arm7_write16(void *data, u32 adr, u16 val) {
static void DESMUME_FASTCALL arm7_write16(void *data, u32 adr, u16 val) {
_MMU_write16<ARMCPU_ARM7>(adr, val);
}

static void FASTCALL arm7_write32(void *data, u32 adr, u32 val) {
static void DESMUME_FASTCALL arm7_write32(void *data, u32 adr, u32 val) {
_MMU_write32<ARMCPU_ARM7>(adr, val);
}

Expand Down
68 changes: 34 additions & 34 deletions desmume/src/MMU.h
Original file line number Diff line number Diff line change
Expand Up @@ -514,24 +514,24 @@ extern MMU_struct_new MMU_new;
struct armcpu_memory_iface
{
/** the 32 bit instruction prefetch */
u32 FASTCALL (*prefetch32)( void *data, u32 adr);
u32 DESMUME_FASTCALL (*prefetch32)( void *data, u32 adr);

/** the 16 bit instruction prefetch */
u16 FASTCALL (*prefetch16)( void *data, u32 adr);
u16 DESMUME_FASTCALL (*prefetch16)( void *data, u32 adr);

/** read 8 bit data value */
u8 FASTCALL (*read8)( void *data, u32 adr);
u8 DESMUME_FASTCALL (*read8)( void *data, u32 adr);
/** read 16 bit data value */
u16 FASTCALL (*read16)( void *data, u32 adr);
u16 DESMUME_FASTCALL (*read16)( void *data, u32 adr);
/** read 32 bit data value */
u32 FASTCALL (*read32)( void *data, u32 adr);
u32 DESMUME_FASTCALL (*read32)( void *data, u32 adr);

/** write 8 bit data value */
void FASTCALL (*write8)( void *data, u32 adr, u8 val);
void DESMUME_FASTCALL (*write8)( void *data, u32 adr, u8 val);
/** write 16 bit data value */
void FASTCALL (*write16)( void *data, u32 adr, u16 val);
void DESMUME_FASTCALL (*write16)( void *data, u32 adr, u16 val);
/** write 32 bit data value */
void FASTCALL (*write32)( void *data, u32 adr, u32 val);
void DESMUME_FASTCALL (*write32)( void *data, u32 adr, u32 val);

void *data;
};
Expand All @@ -545,14 +545,14 @@ void MMU_Reset( void);
void print_memory_profiling( void);

// Memory reading/writing (old)
u8 FASTCALL MMU_read8(u32 proc, u32 adr);
u16 FASTCALL MMU_read16(u32 proc, u32 adr);
u32 FASTCALL MMU_read32(u32 proc, u32 adr);
void FASTCALL MMU_write8(u32 proc, u32 adr, u8 val);
void FASTCALL MMU_write16(u32 proc, u32 adr, u16 val);
void FASTCALL MMU_write32(u32 proc, u32 adr, u32 val);
u8 DESMUME_FASTCALL MMU_read8(u32 proc, u32 adr);
u16 DESMUME_FASTCALL MMU_read16(u32 proc, u32 adr);
u32 DESMUME_FASTCALL MMU_read32(u32 proc, u32 adr);
void DESMUME_FASTCALL MMU_write8(u32 proc, u32 adr, u8 val);
void DESMUME_FASTCALL MMU_write16(u32 proc, u32 adr, u16 val);
void DESMUME_FASTCALL MMU_write32(u32 proc, u32 adr, u32 val);

//template<int PROCNUM> void FASTCALL MMU_doDMA(u32 num);
//template<int PROCNUM> void DESMUME_FASTCALL MMU_doDMA(u32 num);

//The base ARM memory interfaces
extern const armcpu_memory_iface arm9_base_memory_iface;
Expand Down Expand Up @@ -645,19 +645,19 @@ template<int PROCNUM> FORCEINLINE void _MMU_write08(u32 addr, u8 val) { _MMU_wri
template<int PROCNUM> FORCEINLINE void _MMU_write16(u32 addr, u16 val) { _MMU_write16<PROCNUM, MMU_AT_DATA>(addr,val); }
template<int PROCNUM> FORCEINLINE void _MMU_write32(u32 addr, u32 val) { _MMU_write32<PROCNUM, MMU_AT_DATA>(addr,val); }

void FASTCALL _MMU_ARM9_write08(u32 adr, u8 val);
void FASTCALL _MMU_ARM9_write16(u32 adr, u16 val);
void FASTCALL _MMU_ARM9_write32(u32 adr, u32 val);
u8 FASTCALL _MMU_ARM9_read08(u32 adr);
u16 FASTCALL _MMU_ARM9_read16(u32 adr);
u32 FASTCALL _MMU_ARM9_read32(u32 adr);
void DESMUME_FASTCALL _MMU_ARM9_write08(u32 adr, u8 val);
void DESMUME_FASTCALL _MMU_ARM9_write16(u32 adr, u16 val);
void DESMUME_FASTCALL _MMU_ARM9_write32(u32 adr, u32 val);
u8 DESMUME_FASTCALL _MMU_ARM9_read08(u32 adr);
u16 DESMUME_FASTCALL _MMU_ARM9_read16(u32 adr);
u32 DESMUME_FASTCALL _MMU_ARM9_read32(u32 adr);

void FASTCALL _MMU_ARM7_write08(u32 adr, u8 val);
void FASTCALL _MMU_ARM7_write16(u32 adr, u16 val);
void FASTCALL _MMU_ARM7_write32(u32 adr, u32 val);
u8 FASTCALL _MMU_ARM7_read08(u32 adr);
u16 FASTCALL _MMU_ARM7_read16(u32 adr);
u32 FASTCALL _MMU_ARM7_read32(u32 adr);
void DESMUME_FASTCALL _MMU_ARM7_write08(u32 adr, u8 val);
void DESMUME_FASTCALL _MMU_ARM7_write16(u32 adr, u16 val);
void DESMUME_FASTCALL _MMU_ARM7_write32(u32 adr, u32 val);
u8 DESMUME_FASTCALL _MMU_ARM7_read08(u32 adr);
u16 DESMUME_FASTCALL _MMU_ARM7_read16(u32 adr);
u32 DESMUME_FASTCALL _MMU_ARM7_read32(u32 adr);

extern u32 partie;

Expand Down Expand Up @@ -1047,12 +1047,12 @@ FORCEINLINE void _MMU_write32(const int PROCNUM, const MMU_ACCESS_TYPE AT, const


//#ifdef MMU_ENABLE_ACL
// void FASTCALL MMU_write8_acl(u32 proc, u32 adr, u8 val);
// void FASTCALL MMU_write16_acl(u32 proc, u32 adr, u16 val);
// void FASTCALL MMU_write32_acl(u32 proc, u32 adr, u32 val);
// u8 FASTCALL MMU_read8_acl(u32 proc, u32 adr, u32 access);
// u16 FASTCALL MMU_read16_acl(u32 proc, u32 adr, u32 access);
// u32 FASTCALL MMU_read32_acl(u32 proc, u32 adr, u32 access);
// void DESMUME_FASTCALL MMU_write8_acl(u32 proc, u32 adr, u8 val);
// void DESMUME_FASTCALL MMU_write16_acl(u32 proc, u32 adr, u16 val);
// void DESMUME_FASTCALL MMU_write32_acl(u32 proc, u32 adr, u32 val);
// u8 DESMUME_FASTCALL MMU_read8_acl(u32 proc, u32 adr, u32 access);
// u16 DESMUME_FASTCALL MMU_read16_acl(u32 proc, u32 adr, u32 access);
// u32 DESMUME_FASTCALL MMU_read32_acl(u32 proc, u32 adr, u32 access);
//#else
// #define MMU_write8_acl(proc, adr, val) _MMU_write08<proc>(adr, val)
// #define MMU_write16_acl(proc, adr, val) _MMU_write16<proc>(adr, val)
Expand Down Expand Up @@ -1097,6 +1097,6 @@ FORCEINLINE void _MMU_write16(u32 addr, u16 val) { _MMU_write16(PROCNUM, AT, add
template<int PROCNUM, MMU_ACCESS_TYPE AT>
FORCEINLINE void _MMU_write32(u32 addr, u32 val) { _MMU_write32(PROCNUM, AT, addr, val); }

void FASTCALL MMU_DumpMemBlock(u8 proc, u32 address, u32 size, u8 *buffer);
void DESMUME_FASTCALL MMU_DumpMemBlock(u8 proc, u32 address, u32 size, u8 *buffer);

#endif
Loading