Solve rpi1 compilation issue

This commit is contained in:
Chips 2016-07-10 16:50:25 +02:00
parent c7db909caf
commit 6a8fc51848
2 changed files with 42 additions and 3 deletions

View file

@ -4,7 +4,7 @@ endif
ifeq ($(PLATFORM),rpi2)
CPU_FLAGS += -mcpu=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard
MORE_CFLAGS += -DCAPSLOCK_DEBIAN_WORKAROUND
MORE_CFLAGS += -DCAPSLOCK_DEBIAN_WORKAROUND -DARMV6T2
LDFLAGS += -lbcm_host
DEFS += -DRASPBERRY
HAVE_NEON = 1
@ -17,10 +17,12 @@ else ifeq ($(PLATFORM),rpi1)
HAVE_DISPMANX = 1
DEFS += -DRASPBERRY
else ifeq ($(PLATFORM),generic-sdl)
MORE_CFLAGS += -DARMV6T2
HAVE_SDL_DISPLAY = 1
else ifeq ($(PLATFORM),gles)
# For Raspberry Pi uncomment below line
#LDFLAGS += -lbcm_host
MORE_CFLAGS += -DARMV6T2
HAVE_GLES_DISPLAY = 1
HAVE_NEON = 1
endif
@ -39,7 +41,7 @@ PANDORA=1
SDL_CFLAGS = `sdl-config --cflags`
DEFS += `xml2-config --cflags`
DEFS += -DCPU_arm -DARM_ASSEMBLY -DARMV6_ASSEMBLY -DARMV6T2 -DGP2X -DPANDORA -DSIX_AXIS_WORKAROUND
DEFS += -DCPU_arm -DARM_ASSEMBLY -DARMV6_ASSEMBLY -DGP2X -DPANDORA -DSIX_AXIS_WORKAROUND
DEFS += -DWITH_INGAME_WARNING
DEFS += -DROM_PATH_PREFIX=\"./\" -DDATA_PREFIX=\"./data/\" -DSAVE_PREFIX=\"./saves/\"
DEFS += -DUSE_SDL

View file

@ -461,7 +461,7 @@ static void dummy_worker (int start, int stop)
{
}
#ifdef ARMV6T2
STATIC_INLINE int DECODE_HAM8_1(int col, int pv)
{
__asm__ __volatile__ (
@ -511,6 +511,7 @@ STATIC_INLINE int DECODE_HAM6_3(int col, int pv)
: [col] "+r" (col) , [pv] "+r" (pv) );
return (col);
}
#endif
static int ham_decode_pixel;
static uae_u16 ham_lastcolor;
@ -542,9 +543,15 @@ static void init_ham_decoding (void)
switch (pv & 0x3)
{
case 0x0: ham_lastcolor = colors_for_drawing.acolors[pv >> 2]; break;
#ifdef ARMV6T2
case 0x1: ham_lastcolor = DECODE_HAM8_1(ham_lastcolor, pv); break;
case 0x2: ham_lastcolor = DECODE_HAM8_2(ham_lastcolor, pv); break;
case 0x3: ham_lastcolor = DECODE_HAM8_3(ham_lastcolor, pv); break;
#else
case 0x1: ham_lastcolor &= 0xFFFF03; ham_lastcolor |= (pv & 0xFC); break;
case 0x2: ham_lastcolor &= 0x03FFFF; ham_lastcolor |= (pv & 0xFC) << 16; break;
case 0x3: ham_lastcolor &= 0xFF03FF; ham_lastcolor |= (pv & 0xFC) << 8; break;
#endif
}
}
} else { /* AGA mode HAM6 */
@ -553,9 +560,15 @@ static void init_ham_decoding (void)
switch (pv & 0x30)
{
case 0x00: ham_lastcolor = colors_for_drawing.acolors[pv]; break;
#ifdef ARMV6T2
case 0x10: ham_lastcolor = DECODE_HAM6_1(ham_lastcolor, pv); break;
case 0x20: ham_lastcolor = DECODE_HAM6_2(ham_lastcolor, pv); break;
case 0x30: ham_lastcolor = DECODE_HAM6_3(ham_lastcolor, pv); break;
#else
case 0x10: ham_lastcolor &= 0xFFFF00; ham_lastcolor |= (pv & 0xF) << 4; break;
case 0x20: ham_lastcolor &= 0x00FFFF; ham_lastcolor |= (pv & 0xF) << 20; break;
case 0x30: ham_lastcolor &= 0xFF00FF; ham_lastcolor |= (pv & 0xF) << 12; break;
#endif
}
}
}
@ -566,9 +579,15 @@ static void init_ham_decoding (void)
switch (pv & 0x30)
{
case 0x00: ham_lastcolor = colors_for_drawing.acolors[pv]; break;
#ifdef ARMV6T2
case 0x10: ham_lastcolor = DECODE_HAM6_1(ham_lastcolor, pv); break;
case 0x20: ham_lastcolor = DECODE_HAM6_2(ham_lastcolor, pv); break;
case 0x30: ham_lastcolor = DECODE_HAM6_3(ham_lastcolor, pv); break;
#else
case 0x10: ham_lastcolor &= 0xFF0; ham_lastcolor |= (pv & 0xF); break;
case 0x20: ham_lastcolor &= 0x0FF; ham_lastcolor |= (pv & 0xF) << 8; break;
case 0x30: ham_lastcolor &= 0xF0F; ham_lastcolor |= (pv & 0xF) << 4; break;
#endif
}
}
}
@ -596,9 +615,15 @@ static void decode_ham (int pix, int stoppos)
switch (pv & 0x3)
{
case 0x0: ham_lastcolor = colors_for_drawing.acolors[pv >> 2]; break;
#ifdef ARMV6T2
case 0x1: ham_lastcolor = DECODE_HAM8_1(ham_lastcolor, pv); break;
case 0x2: ham_lastcolor = DECODE_HAM8_2(ham_lastcolor, pv); break;
case 0x3: ham_lastcolor = DECODE_HAM8_3(ham_lastcolor, pv); break;
#else
case 0x1: ham_lastcolor &= 0xFFFF03; ham_lastcolor |= (pv & 0xFC); break;
case 0x2: ham_lastcolor &= 0x03FFFF; ham_lastcolor |= (pv & 0xFC) << 16; break;
case 0x3: ham_lastcolor &= 0xFF03FF; ham_lastcolor |= (pv & 0xFC) << 8; break;
#endif
}
ham_linebuf[ham_decode_pixel++] = ham_lastcolor;
}
@ -608,9 +633,15 @@ static void decode_ham (int pix, int stoppos)
switch (pv & 0x30)
{
case 0x00: ham_lastcolor = colors_for_drawing.acolors[pv]; break;
#ifdef ARMV6T2
case 0x10: ham_lastcolor = DECODE_HAM6_1(ham_lastcolor, pv); break;
case 0x20: ham_lastcolor = DECODE_HAM6_2(ham_lastcolor, pv); break;
case 0x30: ham_lastcolor = DECODE_HAM6_3(ham_lastcolor, pv); break;
#else
case 0x10: ham_lastcolor &= 0xFFFF00; ham_lastcolor |= (pv & 0xF) << 4; break;
case 0x20: ham_lastcolor &= 0x00FFFF; ham_lastcolor |= (pv & 0xF) << 20; break;
case 0x30: ham_lastcolor &= 0xFF00FF; ham_lastcolor |= (pv & 0xF) << 12; break;
#endif
}
ham_linebuf[ham_decode_pixel++] = ham_lastcolor;
}
@ -622,9 +653,15 @@ static void decode_ham (int pix, int stoppos)
switch (pv & 0x30)
{
case 0x00: ham_lastcolor = colors_for_drawing.acolors[pv]; break;
#ifdef ARMV6T2
case 0x10: ham_lastcolor = DECODE_HAM6_1(ham_lastcolor, pv); break;
case 0x20: ham_lastcolor = DECODE_HAM6_2(ham_lastcolor, pv); break;
case 0x30: ham_lastcolor = DECODE_HAM6_3(ham_lastcolor, pv); break;
#else
case 0x10: ham_lastcolor &= 0xFF0; ham_lastcolor |= (pv & 0xF); break;
case 0x20: ham_lastcolor &= 0x0FF; ham_lastcolor |= (pv & 0xF) << 8; break;
case 0x30: ham_lastcolor &= 0xF0F; ham_lastcolor |= (pv & 0xF) << 4; break;
#endif
}
ham_linebuf[ham_decode_pixel++] = ham_lastcolor;
}