mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-04 23:07:46 -04:00
libretro, build fixes for android
This commit is contained in:
parent
368c918050
commit
713e3a1c5b
9 changed files with 81 additions and 72 deletions
|
@ -299,9 +299,9 @@ endif
|
||||||
|
|
||||||
ifeq ($(NO_ARM_ASM),1)
|
ifeq ($(NO_ARM_ASM),1)
|
||||||
use_cyclone = 0
|
use_cyclone = 0
|
||||||
use_fame ?= 1
|
use_fame = 1
|
||||||
use_drz80 = 0
|
use_drz80 = 0
|
||||||
use_cz80 ?= 1
|
use_cz80 = 1
|
||||||
use_svpdrc = 0
|
use_svpdrc = 0
|
||||||
|
|
||||||
asm_memory = 0
|
asm_memory = 0
|
||||||
|
|
|
@ -48,6 +48,9 @@
|
||||||
#define M6(x,y,z,a,b,c) (M5(x,y,z,a,b)|M1(c))
|
#define M6(x,y,z,a,b,c) (M5(x,y,z,a,b)|M1(c))
|
||||||
#define M10(a,b,c,d,e,f,g,h,i,j) (M5(a,b,c,d,e)|M5(f,g,h,i,j))
|
#define M10(a,b,c,d,e,f,g,h,i,j) (M5(a,b,c,d,e)|M5(f,g,h,i,j))
|
||||||
|
|
||||||
|
// avoid a warning with clang
|
||||||
|
static inline uintptr_t pabs(intptr_t v) { return labs(v); }
|
||||||
|
|
||||||
// sys_cacheflush always flushes whole pages, and it's rather expensive on ARMs
|
// sys_cacheflush always flushes whole pages, and it's rather expensive on ARMs
|
||||||
// hold a list of pending cache updates and merge requests to reduce cacheflush
|
// hold a list of pending cache updates and merge requests to reduce cacheflush
|
||||||
static struct { void *base, *end; } pageflush[4];
|
static struct { void *base, *end; } pageflush[4];
|
||||||
|
@ -341,13 +344,13 @@ static void emith_flush(void)
|
||||||
#define EOP_C_AM3_REG(cond,u,l,rn,rd,s,h,rm) EOP_C_AM3(cond,u,0,l,rn,rd,s,h,rm)
|
#define EOP_C_AM3_REG(cond,u,l,rn,rd,s,h,rm) EOP_C_AM3(cond,u,0,l,rn,rd,s,h,rm)
|
||||||
|
|
||||||
/* ldr and str */
|
/* ldr and str */
|
||||||
#define EOP_LDR_IMM2(cond,rd,rn,offset_12) EOP_C_AM2_IMM(cond,(offset_12) >= 0,0,1,rn,rd,abs(offset_12))
|
#define EOP_LDR_IMM2(cond,rd,rn,offset_12) EOP_C_AM2_IMM(cond,(offset_12) >= 0,0,1,rn,rd,pabs(offset_12))
|
||||||
#define EOP_LDRB_IMM2(cond,rd,rn,offset_12) EOP_C_AM2_IMM(cond,(offset_12) >= 0,1,1,rn,rd,abs(offset_12))
|
#define EOP_LDRB_IMM2(cond,rd,rn,offset_12) EOP_C_AM2_IMM(cond,(offset_12) >= 0,1,1,rn,rd,pabs(offset_12))
|
||||||
#define EOP_STR_IMM2(cond,rd,rn,offset_12) EOP_C_AM2_IMM(cond,(offset_12) >= 0,0,0,rn,rd,abs(offset_12))
|
#define EOP_STR_IMM2(cond,rd,rn,offset_12) EOP_C_AM2_IMM(cond,(offset_12) >= 0,0,0,rn,rd,pabs(offset_12))
|
||||||
|
|
||||||
#define EOP_LDR_IMM( rd,rn,offset_12) EOP_C_AM2_IMM(A_COND_AL,(offset_12) >= 0,0,1,rn,rd,abs(offset_12))
|
#define EOP_LDR_IMM( rd,rn,offset_12) EOP_C_AM2_IMM(A_COND_AL,(offset_12) >= 0,0,1,rn,rd,pabs(offset_12))
|
||||||
#define EOP_LDR_SIMPLE(rd,rn) EOP_C_AM2_IMM(A_COND_AL,1,0,1,rn,rd,0)
|
#define EOP_LDR_SIMPLE(rd,rn) EOP_C_AM2_IMM(A_COND_AL,1,0,1,rn,rd,0)
|
||||||
#define EOP_STR_IMM( rd,rn,offset_12) EOP_C_AM2_IMM(A_COND_AL,(offset_12) >= 0,0,0,rn,rd,abs(offset_12))
|
#define EOP_STR_IMM( rd,rn,offset_12) EOP_C_AM2_IMM(A_COND_AL,(offset_12) >= 0,0,0,rn,rd,pabs(offset_12))
|
||||||
#define EOP_STR_SIMPLE(rd,rn) EOP_C_AM2_IMM(A_COND_AL,1,0,0,rn,rd,0)
|
#define EOP_STR_SIMPLE(rd,rn) EOP_C_AM2_IMM(A_COND_AL,1,0,0,rn,rd,0)
|
||||||
|
|
||||||
#define EOP_LDR_REG_LSL(cond,rd,rn,rm,shift_imm) EOP_C_AM2_REG(cond,1,0,1,rn,rd,shift_imm,A_AM1_LSL,rm)
|
#define EOP_LDR_REG_LSL(cond,rd,rn,rm,shift_imm) EOP_C_AM2_REG(cond,1,0,1,rn,rd,shift_imm,A_AM1_LSL,rm)
|
||||||
|
@ -355,19 +358,19 @@ static void emith_flush(void)
|
||||||
#define EOP_LDRB_REG_LSL(cond,rd,rn,rm,shift_imm) EOP_C_AM2_REG(cond,1,1,1,rn,rd,shift_imm,A_AM1_LSL,rm)
|
#define EOP_LDRB_REG_LSL(cond,rd,rn,rm,shift_imm) EOP_C_AM2_REG(cond,1,1,1,rn,rd,shift_imm,A_AM1_LSL,rm)
|
||||||
#define EOP_STR_REG_LSL_WB(cond,rd,rn,rm,shift_imm) EOP_C_AM2_REG(cond,1,0,2,rn,rd,shift_imm,A_AM1_LSL,rm)
|
#define EOP_STR_REG_LSL_WB(cond,rd,rn,rm,shift_imm) EOP_C_AM2_REG(cond,1,0,2,rn,rd,shift_imm,A_AM1_LSL,rm)
|
||||||
|
|
||||||
#define EOP_LDRH_IMM2(cond,rd,rn,offset_8) EOP_C_AM3_IMM(cond,(offset_8) >= 0,1,rn,rd,0,1,abs(offset_8))
|
#define EOP_LDRH_IMM2(cond,rd,rn,offset_8) EOP_C_AM3_IMM(cond,(offset_8) >= 0,1,rn,rd,0,1,pabs(offset_8))
|
||||||
#define EOP_LDRH_REG2(cond,rd,rn,rm) EOP_C_AM3_REG(cond,1,1,rn,rd,0,1,rm)
|
#define EOP_LDRH_REG2(cond,rd,rn,rm) EOP_C_AM3_REG(cond,1,1,rn,rd,0,1,rm)
|
||||||
|
|
||||||
#define EOP_LDRH_IMM( rd,rn,offset_8) EOP_C_AM3_IMM(A_COND_AL,(offset_8) >= 0,1,rn,rd,0,1,abs(offset_8))
|
#define EOP_LDRH_IMM( rd,rn,offset_8) EOP_C_AM3_IMM(A_COND_AL,(offset_8) >= 0,1,rn,rd,0,1,pabs(offset_8))
|
||||||
#define EOP_LDRH_SIMPLE(rd,rn) EOP_C_AM3_IMM(A_COND_AL,1,1,rn,rd,0,1,0)
|
#define EOP_LDRH_SIMPLE(rd,rn) EOP_C_AM3_IMM(A_COND_AL,1,1,rn,rd,0,1,0)
|
||||||
#define EOP_LDRH_REG( rd,rn,rm) EOP_C_AM3_REG(A_COND_AL,1,1,rn,rd,0,1,rm)
|
#define EOP_LDRH_REG( rd,rn,rm) EOP_C_AM3_REG(A_COND_AL,1,1,rn,rd,0,1,rm)
|
||||||
#define EOP_STRH_IMM( rd,rn,offset_8) EOP_C_AM3_IMM(A_COND_AL,(offset_8) >= 0,0,rn,rd,0,1,abs(offset_8))
|
#define EOP_STRH_IMM( rd,rn,offset_8) EOP_C_AM3_IMM(A_COND_AL,(offset_8) >= 0,0,rn,rd,0,1,pabs(offset_8))
|
||||||
#define EOP_STRH_SIMPLE(rd,rn) EOP_C_AM3_IMM(A_COND_AL,1,0,rn,rd,0,1,0)
|
#define EOP_STRH_SIMPLE(rd,rn) EOP_C_AM3_IMM(A_COND_AL,1,0,rn,rd,0,1,0)
|
||||||
#define EOP_STRH_REG( rd,rn,rm) EOP_C_AM3_REG(A_COND_AL,1,0,rn,rd,0,1,rm)
|
#define EOP_STRH_REG( rd,rn,rm) EOP_C_AM3_REG(A_COND_AL,1,0,rn,rd,0,1,rm)
|
||||||
|
|
||||||
#define EOP_LDRSB_IMM2(cond,rd,rn,offset_8) EOP_C_AM3_IMM(cond,(offset_8) >= 0,1,rn,rd,1,0,abs(offset_8))
|
#define EOP_LDRSB_IMM2(cond,rd,rn,offset_8) EOP_C_AM3_IMM(cond,(offset_8) >= 0,1,rn,rd,1,0,pabs(offset_8))
|
||||||
#define EOP_LDRSB_REG2(cond,rd,rn,rm) EOP_C_AM3_REG(cond,1,1,rn,rd,1,0,rm)
|
#define EOP_LDRSB_REG2(cond,rd,rn,rm) EOP_C_AM3_REG(cond,1,1,rn,rd,1,0,rm)
|
||||||
#define EOP_LDRSH_IMM2(cond,rd,rn,offset_8) EOP_C_AM3_IMM(cond,(offset_8) >= 0,1,rn,rd,1,1,abs(offset_8))
|
#define EOP_LDRSH_IMM2(cond,rd,rn,offset_8) EOP_C_AM3_IMM(cond,(offset_8) >= 0,1,rn,rd,1,1,pabs(offset_8))
|
||||||
#define EOP_LDRSH_REG2(cond,rd,rn,rm) EOP_C_AM3_REG(cond,1,1,rn,rd,1,1,rm)
|
#define EOP_LDRSH_REG2(cond,rd,rn,rm) EOP_C_AM3_REG(cond,1,1,rn,rd,1,1,rm)
|
||||||
|
|
||||||
/* ldm and stm */
|
/* ldm and stm */
|
||||||
|
|
|
@ -18,7 +18,6 @@ use_musashi = 0
|
||||||
use_drz80 = 0
|
use_drz80 = 0
|
||||||
use_cz80 = 0
|
use_cz80 = 0
|
||||||
use_sh2drc = 0
|
use_sh2drc = 0
|
||||||
use_sh2mame = 0
|
|
||||||
use_svpdrc = 0
|
use_svpdrc = 0
|
||||||
|
|
||||||
asm_memory = 0
|
asm_memory = 0
|
||||||
|
@ -27,6 +26,8 @@ asm_ym2612 = 0
|
||||||
asm_misc = 0
|
asm_misc = 0
|
||||||
asm_cdmemory = 0
|
asm_cdmemory = 0
|
||||||
asm_mix = 0
|
asm_mix = 0
|
||||||
|
asm_32xdraw = 0
|
||||||
|
asm_32xmemory = 0
|
||||||
|
|
||||||
ifeq ($(TARGET_ARCH),arm)
|
ifeq ($(TARGET_ARCH),arm)
|
||||||
LOCAL_ARM_MODE := arm
|
LOCAL_ARM_MODE := arm
|
||||||
|
@ -34,21 +35,19 @@ ifeq ($(TARGET_ARCH),arm)
|
||||||
LOCAL_ARM_NEON := true
|
LOCAL_ARM_NEON := true
|
||||||
endif
|
endif
|
||||||
|
|
||||||
use_cyclone = 1
|
# use_cyclone = 1
|
||||||
|
# use_drz80 = 1
|
||||||
# texrels, -perf ~~8%
|
|
||||||
use_drz80 = 0
|
|
||||||
use_cz80 = 1
|
|
||||||
|
|
||||||
use_sh2drc = 1
|
use_sh2drc = 1
|
||||||
use_svpdrc = 1
|
# use_svpdrc = 1
|
||||||
|
|
||||||
# asm_memory = 1 # texrels, -perf negligible
|
# asm_memory = 1
|
||||||
asm_render = 1
|
# asm_render = 1
|
||||||
# asm_ym2612 = 1 # texrels, -perf ~~4%
|
# asm_ym2612 = 1
|
||||||
asm_misc = 1
|
# asm_misc = 1
|
||||||
# asm_cdmemory = 1 # texrels
|
# asm_cdmemory = 1
|
||||||
asm_mix = 1
|
# asm_mix = 1
|
||||||
|
# asm_32xdraw = 1
|
||||||
|
# asm_32xmemory = 1
|
||||||
|
|
||||||
# for armeabi to build...
|
# for armeabi to build...
|
||||||
CYCLONE_CONFIG = cyclone_config_armv4.h
|
CYCLONE_CONFIG = cyclone_config_armv4.h
|
||||||
|
@ -59,7 +58,6 @@ $(cleantarget)::
|
||||||
else
|
else
|
||||||
use_fame = 1
|
use_fame = 1
|
||||||
use_cz80 = 1
|
use_cz80 = 1
|
||||||
use_sh2mame = 1
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# PD is currently not strict aliasing safe
|
# PD is currently not strict aliasing safe
|
||||||
|
@ -73,6 +71,7 @@ include $(R)platform/common/common.mak
|
||||||
|
|
||||||
LOCAL_SRC_FILES += $(SRCS_COMMON)
|
LOCAL_SRC_FILES += $(SRCS_COMMON)
|
||||||
LOCAL_SRC_FILES += $(R)platform/libretro/libretro.c
|
LOCAL_SRC_FILES += $(R)platform/libretro/libretro.c
|
||||||
|
LOCAL_SRC_FILES += $(R)platform/common/mp3_sync.c
|
||||||
LOCAL_SRC_FILES += $(R)platform/common/mp3.c
|
LOCAL_SRC_FILES += $(R)platform/common/mp3.c
|
||||||
LOCAL_SRC_FILES += $(R)platform/common/mp3_dummy.c
|
LOCAL_SRC_FILES += $(R)platform/common/mp3_dummy.c
|
||||||
|
|
||||||
|
@ -91,4 +90,12 @@ LOCAL_CFLAGS += -Wall -O2 -ffast-math -DNDEBUG
|
||||||
LOCAL_CFLAGS += $(addprefix -D,$(DEFINES))
|
LOCAL_CFLAGS += $(addprefix -D,$(DEFINES))
|
||||||
LOCAL_LDLIBS := -llog
|
LOCAL_LDLIBS := -llog
|
||||||
|
|
||||||
|
ifneq ($(filter armeabi%, $(TARGET_ARCH_ABI)),)
|
||||||
|
$(CORE_DIR)/pico/pico_int_offs.h:
|
||||||
|
cp $(CORE_DIR)/tools/offsets/generic-ilp32-offsets.h $@
|
||||||
|
.PHONY: $(CORE_DIR)/pico/pico_int_offs.h
|
||||||
|
|
||||||
|
$(filter %.S,$(SRCS_COMMON)): $(CORE_DIR)/pico/pico_int_offs.h
|
||||||
|
endif
|
||||||
|
|
||||||
include $(BUILD_SHARED_LIBRARY)
|
include $(BUILD_SHARED_LIBRARY)
|
||||||
|
|
|
@ -51,8 +51,8 @@ check_obj ()
|
||||||
fi
|
fi
|
||||||
# find the start line of the .rodata section; read the next line
|
# find the start line of the .rodata section; read the next line
|
||||||
ro=$($OBJDUMP -s /tmp/getoffs.o | awk '\
|
ro=$($OBJDUMP -s /tmp/getoffs.o | awk '\
|
||||||
/Contents of section.*(__const|.rodata|.sdata)/ {o=1; next} \
|
/Contents of section.*(__const|.ro?data|.sdata)/ {o=1; next} \
|
||||||
{if(o) { gsub(/ .*/,""); $1=""; gsub(/ /,""); print; o=0}}')
|
{if(o) { gsub(/ .*/,""); $1=""; gsub(/ /,""); print; exit}}')
|
||||||
# no working tool for extracting the ro data; stop here
|
# no working tool for extracting the ro data; stop here
|
||||||
if [ -z "$ro" ]; then
|
if [ -z "$ro" ]; then
|
||||||
echo "/* mkoffset.sh: no readelf or not ELF, offset table not created */" >$fn
|
echo "/* mkoffset.sh: no readelf or not ELF, offset table not created */" >$fn
|
||||||
|
@ -79,8 +79,8 @@ compile_rodata ()
|
||||||
elif [ -n "$OBJDUMP" ]; then
|
elif [ -n "$OBJDUMP" ]; then
|
||||||
# find the start line of the .rodata section; read the next line
|
# find the start line of the .rodata section; read the next line
|
||||||
ro=$($OBJDUMP -s /tmp/getoffs.o | awk '\
|
ro=$($OBJDUMP -s /tmp/getoffs.o | awk '\
|
||||||
/Contents of section.*(__const|.rodata|.sdata)/ {o=1; next} \
|
/Contents of section.*(__const|.ro?data|.sdata)/ {o=1; next} \
|
||||||
{if(o) { gsub(/ .*/,""); $1=""; gsub(/ /,""); print; o=0}}')
|
{if(o) { gsub(/ .*/,""); $1=""; gsub(/ /,""); print; exit}}')
|
||||||
fi
|
fi
|
||||||
if [ "$ENDIAN" = "le" ]; then
|
if [ "$ENDIAN" = "le" ]; then
|
||||||
# swap needed for le target
|
# swap needed for le target
|
||||||
|
@ -104,7 +104,7 @@ get_define () # prefix struct member member...
|
||||||
name=$(echo $* | sed 's/ /_/g')
|
name=$(echo $* | sed 's/ /_/g')
|
||||||
echo '#include <stdint.h>' > /tmp/getoffs.c
|
echo '#include <stdint.h>' > /tmp/getoffs.c
|
||||||
echo '#include "pico/pico_int.h"' >> /tmp/getoffs.c
|
echo '#include "pico/pico_int.h"' >> /tmp/getoffs.c
|
||||||
echo "static const struct $struct p;" >> /tmp/getoffs.c
|
echo "static struct $struct p;" >> /tmp/getoffs.c
|
||||||
echo "const int32_t val = (char *)&p.$field - (char*)&p;" >>/tmp/getoffs.c
|
echo "const int32_t val = (char *)&p.$field - (char*)&p;" >>/tmp/getoffs.c
|
||||||
compile_rodata
|
compile_rodata
|
||||||
line=$(printf "#define %-20s 0x%04x" $prefix$name $rodata)
|
line=$(printf "#define %-20s 0x%04x" $prefix$name $rodata)
|
||||||
|
|
39
tools/offsets/generic-llp64-offsets.h
Normal file
39
tools/offsets/generic-llp64-offsets.h
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
/* autogenerated by mkoffset.sh, do not edit */
|
||||||
|
/* target endianess: le, compiled with: x86_64-w64-mingw32-gcc */
|
||||||
|
#define OFS_Pico_video_reg 0x0000
|
||||||
|
#define OFS_Pico_m_rotate 0x0040
|
||||||
|
#define OFS_Pico_m_z80Run 0x0041
|
||||||
|
#define OFS_Pico_m_dirtyPal 0x0046
|
||||||
|
#define OFS_Pico_m_hardware 0x0047
|
||||||
|
#define OFS_Pico_m_z80_reset 0x004f
|
||||||
|
#define OFS_Pico_m_sram_reg 0x0049
|
||||||
|
#define OFS_Pico_sv 0x0090
|
||||||
|
#define OFS_Pico_sv_data 0x0090
|
||||||
|
#define OFS_Pico_sv_start 0x0098
|
||||||
|
#define OFS_Pico_sv_end 0x009c
|
||||||
|
#define OFS_Pico_sv_flags 0x00a0
|
||||||
|
#define OFS_Pico_rom 0x0588
|
||||||
|
#define OFS_Pico_romsize 0x0590
|
||||||
|
#define OFS_Pico_est 0x00d8
|
||||||
|
#define OFS_EST_DrawScanline 0x0000
|
||||||
|
#define OFS_EST_rendstatus 0x0004
|
||||||
|
#define OFS_EST_DrawLineDest 0x0008
|
||||||
|
#define OFS_EST_HighCol 0x0010
|
||||||
|
#define OFS_EST_HighPreSpr 0x0018
|
||||||
|
#define OFS_EST_Pico 0x0020
|
||||||
|
#define OFS_EST_PicoMem_vram 0x0028
|
||||||
|
#define OFS_EST_PicoMem_cram 0x0030
|
||||||
|
#define OFS_EST_PicoOpt 0x0038
|
||||||
|
#define OFS_EST_Draw2FB 0x0040
|
||||||
|
#define OFS_EST_HighPal 0x0048
|
||||||
|
#define OFS_PMEM_vram 0x10000
|
||||||
|
#define OFS_PMEM_vsram 0x22100
|
||||||
|
#define OFS_PMEM32x_pal_native 0x90e00
|
||||||
|
#define OFS_SH2_is_slave 0x0a18
|
||||||
|
#define OFS_SH2_p_bios 0x0098
|
||||||
|
#define OFS_SH2_p_da 0x00a0
|
||||||
|
#define OFS_SH2_p_sdram 0x00a8
|
||||||
|
#define OFS_SH2_p_rom 0x00b0
|
||||||
|
#define OFS_SH2_p_dram 0x00b8
|
||||||
|
#define OFS_SH2_p_drcblk_da 0x00c0
|
||||||
|
#define OFS_SH2_p_drcblk_ram 0x00c8
|
|
@ -1,39 +0,0 @@
|
||||||
/* autogenerated by mkoffset.sh, do not edit */
|
|
||||||
/* target endianess: le, compiled with: mipsel-linux-gnu-gcc -mabi=n32 */
|
|
||||||
#define OFS_Pico_video_reg 0x0000
|
|
||||||
#define OFS_Pico_m_rotate 0x0040
|
|
||||||
#define OFS_Pico_m_z80Run 0x0041
|
|
||||||
#define OFS_Pico_m_dirtyPal 0x0046
|
|
||||||
#define OFS_Pico_m_hardware 0x0047
|
|
||||||
#define OFS_Pico_m_z80_reset 0x004f
|
|
||||||
#define OFS_Pico_m_sram_reg 0x0049
|
|
||||||
#define OFS_Pico_sv 0x008c
|
|
||||||
#define OFS_Pico_sv_data 0x008c
|
|
||||||
#define OFS_Pico_sv_start 0x0090
|
|
||||||
#define OFS_Pico_sv_end 0x0094
|
|
||||||
#define OFS_Pico_sv_flags 0x0098
|
|
||||||
#define OFS_Pico_rom 0x0554
|
|
||||||
#define OFS_Pico_romsize 0x0558
|
|
||||||
#define OFS_Pico_est 0x00c8
|
|
||||||
#define OFS_EST_DrawScanline 0x0000
|
|
||||||
#define OFS_EST_rendstatus 0x0004
|
|
||||||
#define OFS_EST_DrawLineDest 0x0008
|
|
||||||
#define OFS_EST_HighCol 0x000c
|
|
||||||
#define OFS_EST_HighPreSpr 0x0010
|
|
||||||
#define OFS_EST_Pico 0x0014
|
|
||||||
#define OFS_EST_PicoMem_vram 0x0018
|
|
||||||
#define OFS_EST_PicoMem_cram 0x001c
|
|
||||||
#define OFS_EST_PicoOpt 0x0020
|
|
||||||
#define OFS_EST_Draw2FB 0x0024
|
|
||||||
#define OFS_EST_HighPal 0x0028
|
|
||||||
#define OFS_PMEM_vram 0x10000
|
|
||||||
#define OFS_PMEM_vsram 0x22100
|
|
||||||
#define OFS_PMEM32x_pal_native 0x90e00
|
|
||||||
#define OFS_SH2_is_slave 0x055c
|
|
||||||
#define OFS_SH2_p_bios 0x0080
|
|
||||||
#define OFS_SH2_p_da 0x0084
|
|
||||||
#define OFS_SH2_p_sdram 0x0088
|
|
||||||
#define OFS_SH2_p_rom 0x008c
|
|
||||||
#define OFS_SH2_p_dram 0x0090
|
|
||||||
#define OFS_SH2_p_drcblk_da 0x0094
|
|
||||||
#define OFS_SH2_p_drcblk_ram 0x0098
|
|
|
@ -1 +0,0 @@
|
||||||
generic32-offsets.h
|
|
Loading…
Add table
Add a link
Reference in a new issue