From 87232db654717abea21feeb73227490222b6dc3d Mon Sep 17 00:00:00 2001 From: Sophie Kirschner Date: Wed, 2 Sep 2020 11:44:38 +0300 Subject: [PATCH 1/7] Add DMAC definitions --- src/Makefile.am | 1 + src/dmac/Makefile.am | 20 ++++++++++++++++++++ src/dmac/pspdmac.h | 24 ++++++++++++++++++++++++ src/dmac/sceDmac.S | 11 +++++++++++ 4 files changed, 56 insertions(+) create mode 100644 src/dmac/Makefile.am create mode 100644 src/dmac/pspdmac.h create mode 100644 src/dmac/sceDmac.S diff --git a/src/Makefile.am b/src/Makefile.am index a9ddecbd..d75624c0 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -5,6 +5,7 @@ SUBDIRS = \ ctrl \ debug \ display \ + dmac \ fpu \ ge \ gu \ diff --git a/src/dmac/Makefile.am b/src/dmac/Makefile.am new file mode 100644 index 00000000..9bb4bd11 --- /dev/null +++ b/src/dmac/Makefile.am @@ -0,0 +1,20 @@ +libdir := @PSPSDK_LIBDIR@ + +CC = @PSP_CC@ +CCAS = $(CC) +AR = @PSP_AR@ +RANLIB = @PSP_RANLIB@ + +CCASFLAGS := @PSPSDK_CFLAGS@ -I$(top_srcdir)/src/base + +DMAC_OBJS := sceDmac_0000.o sceDmac_0001.o sceDmac_0002.o + +libpspdmacincludedir := @PSPSDK_INCLUDEDIR@ +libpspdmacinclude_HEADERS := pspdmac.h + +lib_LIBRARIES := libpspdmac.a +libpspdmac_a_SOURCES := sceDmac.S +libpspdmac_a_LIBADD := $(DMAC_OBJS) + +$(DMAC_OBJS): sceCtrl.S + $(AM_V_CPPAS)$(CPPASCOMPILE) -DF_$* $< -c -o $@ diff --git a/src/dmac/pspdmac.h b/src/dmac/pspdmac.h new file mode 100644 index 00000000..f538e380 --- /dev/null +++ b/src/dmac/pspdmac.h @@ -0,0 +1,24 @@ +/* + * PSP Software Development Kit - http://www.pspdev.org + * ----------------------------------------------------------------------- + * Licensed under the BSD license, see LICENSE in PSPSDK root for details. + * + * dmac.c - A DMAC function + * + * Copyright (c) 2016 173210 + */ + +#include + +/** + * Copy data in memory using DMAC + * + * @param dst - The pointer to the destination + * @param src - The pointer to the source + * @param n - The size of data + * + * @return 0 on success; otherwise an error code + */ +int sceDmacMemcpy(void *dst, const void *src, SceSize n); + +int sceDmacTryMemcpy(void *dst, const void *src, SceSize n); diff --git a/src/dmac/sceDmac.S b/src/dmac/sceDmac.S new file mode 100644 index 00000000..1cd307a2 --- /dev/null +++ b/src/dmac/sceDmac.S @@ -0,0 +1,11 @@ +#include "pspimport.s" + +#ifdef F_sceDmac_0000 + IMPORT_START "sceDmac", 0x40010011 +#endif +#ifdef F_sceDmac_0001 + IMPORT_FUNC "sceDmac", 0x617F3FE6, sceDmacMemcpy +#endif +#ifdef F_sceDmac_0002 + IMPORT_FUNC "sceDmac", 0xD97F94D8, sceDmacTryMemcpy +#endif From 1d1546d75e9224b1435e5605b624be0e132503c0 Mon Sep 17 00:00:00 2001 From: Sophie Kirschner Date: Wed, 2 Sep 2020 11:45:09 +0300 Subject: [PATCH 2/7] Add pspaudio error codes http://uofw.github.io/uofw/audio_8h_source.html --- src/audio/pspaudio.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/audio/pspaudio.h b/src/audio/pspaudio.h index 54344147..4edd3529 100644 --- a/src/audio/pspaudio.h +++ b/src/audio/pspaudio.h @@ -33,6 +33,20 @@ extern "C" { /** Used to request the next available hardware channel. */ #define PSP_AUDIO_NEXT_CHANNEL (-1) + +/** Error codes used as return values for the Audio Driver. */ +#define SCE_AUDIO_ERROR_NOT_INITIALIZED (0x80260001) +#define SCE_AUDIO_ERROR_OUTPUT_BUSY (0x80260002) +#define SCE_AUDIO_ERROR_INVALID_CH (0x80260003) +#define SCE_AUDIO_ERROR_PRIV_REQUIRED (0x80260004) +#define SCE_AUDIO_ERROR_NOT_FOUND (0x80260005) +#define SCE_AUDIO_ERROR_INVALID_SIZE (0x80260006) +#define SCE_AUDIO_ERROR_INVALID_FORMAT (0x80260007) +#define SCE_AUDIO_ERROR_NOT_RESERVED (0x80260008) +#define SCE_AUDIO_ERROR_NOT_OUTPUT (0x80260009) +#define SCE_AUDIO_ERROR_INVALID_FREQUENCY (0x8026000A) +#define SCE_AUDIO_ERROR_INVALID_VOLUME (0x8026000B) +#define SCE_AUDIO_ERROR_INPUT_BUSY (0x80260010) enum PspAudioFormats { From 276d9e3ca6fb26479ad050c21431b2a40f518365 Mon Sep 17 00:00:00 2001 From: Sophie Kirschner Date: Wed, 2 Sep 2020 11:45:57 +0300 Subject: [PATCH 3/7] Add sceKernelDeleteLwMutex and sceKernelGetModuleIdByAddress https://github.com/hrydgard/ppsspp/blob/d8334ba66f51462c2aabe8a22f6ce9d2ae3515e5/Core/HLE/sceKernelModule.cpp#L2310 https://github.com/hrydgard/ppsspp/blob/6b6ecf442710c1565f4e3febed98f021648a0f74/Core/HLE/sceKernelMutex.cpp#L95 https://github.com/hrydgard/ppsspp/blob/6b6ecf442710c1565f4e3febed98f021648a0f74/Core/HLE/sceKernelMutex.cpp#L770 --- src/user/Makefile.am | 4 ++-- src/user/ModuleMgrForUser.S | 3 +++ src/user/ThreadManForUser.S | 3 +++ src/user/pspmodulemgr.h | 9 +++++++++ src/user/pspthreadman.h | 24 ++++++++++++++++++++++++ 5 files changed, 41 insertions(+), 2 deletions(-) diff --git a/src/user/Makefile.am b/src/user/Makefile.am index de2a1fe9..93e56d44 100644 --- a/src/user/Makefile.am +++ b/src/user/Makefile.am @@ -14,7 +14,7 @@ IO_OBJS = IoFileMgrForUser_0000.o IoFileMgrForUser_0001.o IoFileMgrForUser_0002. KERNEL_OBJS = Kernel_Library_0000.o Kernel_Library_0001.o Kernel_Library_0002.o Kernel_Library_0003.o Kernel_Library_0004.o Kernel_Library_0005.o -MODMGR_OBJS = ModuleMgrForUser_0000.o ModuleMgrForUser_0001.o ModuleMgrForUser_0002.o ModuleMgrForUser_0003.o ModuleMgrForUser_0004.o ModuleMgrForUser_0005.o ModuleMgrForUser_0006.o ModuleMgrForUser_0007.o ModuleMgrForUser_0008.o ModuleMgrForUser_0009.o ModuleMgrForUser_0010.o ModuleMgrForUser_0011.o +MODMGR_OBJS = ModuleMgrForUser_0000.o ModuleMgrForUser_0001.o ModuleMgrForUser_0002.o ModuleMgrForUser_0003.o ModuleMgrForUser_0004.o ModuleMgrForUser_0005.o ModuleMgrForUser_0006.o ModuleMgrForUser_0007.o ModuleMgrForUser_0008.o ModuleMgrForUser_0009.o ModuleMgrForUser_0010.o ModuleMgrForUser_0011.o ModuleMgrForUser_0012.o STDIO_OBJS = StdioForUser_0000.o StdioForUser_0001.o StdioForUser_0002.o StdioForUser_0003.o StdioForUser_0004.o StdioForUser_0005.o StdioForUser_0006.o StdioForUser_0007.o StdioForUser_0008.o StdioForUser_0009.o @@ -22,7 +22,7 @@ SUSPEND_OBJS = sceSuspendForUser_0000.o sceSuspendForUser_0001.o sceSuspendForUs SYSMEM_OBJS = SysMemUserForUser_0000.o SysMemUserForUser_0001.o SysMemUserForUser_0002.o SysMemUserForUser_0003.o SysMemUserForUser_0004.o SysMemUserForUser_0005.o SysMemUserForUser_0006.o SysMemUserForUser_0007.o SysMemUserForUser_0008.o SysMemUserForUser_0009.o -THREADMAN_OBJS = ThreadManForUser_0000.o ThreadManForUser_0001.o ThreadManForUser_0002.o ThreadManForUser_0003.o ThreadManForUser_0004.o ThreadManForUser_0005.o ThreadManForUser_0006.o ThreadManForUser_0007.o ThreadManForUser_0008.o ThreadManForUser_0009.o ThreadManForUser_0010.o ThreadManForUser_0011.o ThreadManForUser_0012.o ThreadManForUser_0013.o ThreadManForUser_0014.o ThreadManForUser_0015.o ThreadManForUser_0016.o ThreadManForUser_0017.o ThreadManForUser_0018.o ThreadManForUser_0019.o ThreadManForUser_0020.o ThreadManForUser_0021.o ThreadManForUser_0022.o ThreadManForUser_0023.o ThreadManForUser_0024.o ThreadManForUser_0025.o ThreadManForUser_0026.o ThreadManForUser_0027.o ThreadManForUser_0028.o ThreadManForUser_0029.o ThreadManForUser_0030.o ThreadManForUser_0031.o ThreadManForUser_0032.o ThreadManForUser_0033.o ThreadManForUser_0034.o ThreadManForUser_0035.o ThreadManForUser_0036.o ThreadManForUser_0037.o ThreadManForUser_0038.o ThreadManForUser_0039.o ThreadManForUser_0040.o ThreadManForUser_0041.o ThreadManForUser_0042.o ThreadManForUser_0043.o ThreadManForUser_0044.o ThreadManForUser_0045.o ThreadManForUser_0046.o ThreadManForUser_0047.o ThreadManForUser_0048.o ThreadManForUser_0049.o ThreadManForUser_0050.o ThreadManForUser_0051.o ThreadManForUser_0052.o ThreadManForUser_0053.o ThreadManForUser_0054.o ThreadManForUser_0055.o ThreadManForUser_0056.o ThreadManForUser_0057.o ThreadManForUser_0058.o ThreadManForUser_0059.o ThreadManForUser_0060.o ThreadManForUser_0061.o ThreadManForUser_0062.o ThreadManForUser_0063.o ThreadManForUser_0064.o ThreadManForUser_0065.o ThreadManForUser_0066.o ThreadManForUser_0067.o ThreadManForUser_0068.o ThreadManForUser_0069.o ThreadManForUser_0070.o ThreadManForUser_0071.o ThreadManForUser_0072.o ThreadManForUser_0073.o ThreadManForUser_0074.o ThreadManForUser_0075.o ThreadManForUser_0076.o ThreadManForUser_0077.o ThreadManForUser_0078.o ThreadManForUser_0079.o ThreadManForUser_0080.o ThreadManForUser_0081.o ThreadManForUser_0082.o ThreadManForUser_0083.o ThreadManForUser_0084.o ThreadManForUser_0085.o ThreadManForUser_0086.o ThreadManForUser_0087.o ThreadManForUser_0088.o ThreadManForUser_0089.o ThreadManForUser_0090.o ThreadManForUser_0091.o ThreadManForUser_0092.o ThreadManForUser_0093.o ThreadManForUser_0094.o ThreadManForUser_0095.o ThreadManForUser_0096.o ThreadManForUser_0097.o ThreadManForUser_0098.o ThreadManForUser_0099.o ThreadManForUser_0100.o ThreadManForUser_0101.o ThreadManForUser_0102.o ThreadManForUser_0103.o ThreadManForUser_0104.o ThreadManForUser_0105.o ThreadManForUser_0106.o ThreadManForUser_0107.o ThreadManForUser_0108.o ThreadManForUser_0109.o ThreadManForUser_0110.o ThreadManForUser_0111.o ThreadManForUser_0112.o ThreadManForUser_0113.o ThreadManForUser_0114.o ThreadManForUser_0115.o ThreadManForUser_0116.o ThreadManForUser_0117.o ThreadManForUser_0118.o ThreadManForUser_0119.o ThreadManForUser_0120.o ThreadManForUser_0121.o ThreadManForUser_0122.o ThreadManForUser_0123.o ThreadManForUser_0124.o ThreadManForUser_0125.o ThreadManForUser_0126.o +THREADMAN_OBJS = ThreadManForUser_0000.o ThreadManForUser_0001.o ThreadManForUser_0002.o ThreadManForUser_0003.o ThreadManForUser_0004.o ThreadManForUser_0005.o ThreadManForUser_0006.o ThreadManForUser_0007.o ThreadManForUser_0008.o ThreadManForUser_0009.o ThreadManForUser_0010.o ThreadManForUser_0011.o ThreadManForUser_0012.o ThreadManForUser_0013.o ThreadManForUser_0014.o ThreadManForUser_0015.o ThreadManForUser_0016.o ThreadManForUser_0017.o ThreadManForUser_0018.o ThreadManForUser_0019.o ThreadManForUser_0020.o ThreadManForUser_0021.o ThreadManForUser_0022.o ThreadManForUser_0023.o ThreadManForUser_0024.o ThreadManForUser_0025.o ThreadManForUser_0026.o ThreadManForUser_0027.o ThreadManForUser_0028.o ThreadManForUser_0029.o ThreadManForUser_0030.o ThreadManForUser_0031.o ThreadManForUser_0032.o ThreadManForUser_0033.o ThreadManForUser_0034.o ThreadManForUser_0035.o ThreadManForUser_0036.o ThreadManForUser_0037.o ThreadManForUser_0038.o ThreadManForUser_0039.o ThreadManForUser_0040.o ThreadManForUser_0041.o ThreadManForUser_0042.o ThreadManForUser_0043.o ThreadManForUser_0044.o ThreadManForUser_0045.o ThreadManForUser_0046.o ThreadManForUser_0047.o ThreadManForUser_0048.o ThreadManForUser_0049.o ThreadManForUser_0050.o ThreadManForUser_0051.o ThreadManForUser_0052.o ThreadManForUser_0053.o ThreadManForUser_0054.o ThreadManForUser_0055.o ThreadManForUser_0056.o ThreadManForUser_0057.o ThreadManForUser_0058.o ThreadManForUser_0059.o ThreadManForUser_0060.o ThreadManForUser_0061.o ThreadManForUser_0062.o ThreadManForUser_0063.o ThreadManForUser_0064.o ThreadManForUser_0065.o ThreadManForUser_0066.o ThreadManForUser_0067.o ThreadManForUser_0068.o ThreadManForUser_0069.o ThreadManForUser_0070.o ThreadManForUser_0071.o ThreadManForUser_0072.o ThreadManForUser_0073.o ThreadManForUser_0074.o ThreadManForUser_0075.o ThreadManForUser_0076.o ThreadManForUser_0077.o ThreadManForUser_0078.o ThreadManForUser_0079.o ThreadManForUser_0080.o ThreadManForUser_0081.o ThreadManForUser_0082.o ThreadManForUser_0083.o ThreadManForUser_0084.o ThreadManForUser_0085.o ThreadManForUser_0086.o ThreadManForUser_0087.o ThreadManForUser_0088.o ThreadManForUser_0089.o ThreadManForUser_0090.o ThreadManForUser_0091.o ThreadManForUser_0092.o ThreadManForUser_0093.o ThreadManForUser_0094.o ThreadManForUser_0095.o ThreadManForUser_0096.o ThreadManForUser_0097.o ThreadManForUser_0098.o ThreadManForUser_0099.o ThreadManForUser_0100.o ThreadManForUser_0101.o ThreadManForUser_0102.o ThreadManForUser_0103.o ThreadManForUser_0104.o ThreadManForUser_0105.o ThreadManForUser_0106.o ThreadManForUser_0107.o ThreadManForUser_0108.o ThreadManForUser_0109.o ThreadManForUser_0110.o ThreadManForUser_0111.o ThreadManForUser_0112.o ThreadManForUser_0113.o ThreadManForUser_0114.o ThreadManForUser_0115.o ThreadManForUser_0116.o ThreadManForUser_0117.o ThreadManForUser_0118.o ThreadManForUser_0119.o ThreadManForUser_0120.o ThreadManForUser_0121.o ThreadManForUser_0122.o ThreadManForUser_0123.o ThreadManForUser_0124.o ThreadManForUser_0125.o ThreadManForUser_0126.o ThreadManForUser_0127.o UTILS_OBJS = UtilsForUser_0000.o UtilsForUser_0001.o UtilsForUser_0002.o UtilsForUser_0003.o UtilsForUser_0004.o UtilsForUser_0005.o UtilsForUser_0006.o UtilsForUser_0007.o UtilsForUser_0008.o UtilsForUser_0009.o UtilsForUser_0010.o UtilsForUser_0011.o UtilsForUser_0012.o UtilsForUser_0013.o UtilsForUser_0014.o UtilsForUser_0015.o UtilsForUser_0016.o UtilsForUser_0017.o UtilsForUser_0018.o UtilsForUser_0019.o UtilsForUser_0020.o UtilsForUser_0021.o UtilsForUser_0022.o UtilsForUser_0023.o UtilsForUser_0024.o UtilsForUser_0025.o UtilsForUser_0026.o diff --git a/src/user/ModuleMgrForUser.S b/src/user/ModuleMgrForUser.S index 3c9bdd38..e2648218 100644 --- a/src/user/ModuleMgrForUser.S +++ b/src/user/ModuleMgrForUser.S @@ -38,3 +38,6 @@ #ifdef F_ModuleMgrForUser_0011 IMPORT_FUNC "ModuleMgrForUser", 0x644395E2,sceKernelGetModuleIdList #endif +#ifdef F_ModuleMgrForUser_0012 + IMPORT_FUNC "ModuleMgrForUser",0xD8B73127,sceKernelGetModuleIdByAddress +#endif diff --git a/src/user/ThreadManForUser.S b/src/user/ThreadManForUser.S index 968a2d93..003e2ec0 100644 --- a/src/user/ThreadManForUser.S +++ b/src/user/ThreadManForUser.S @@ -383,3 +383,6 @@ #ifdef F_ThreadManForUser_0126 IMPORT_FUNC "ThreadManForUser",0x8218B4DD,sceKernelReferGlobalProfiler #endif +#ifdef F_ThreadManForUser_0127 + IMPORT_FUNC "ThreadManForUser",0x60107536,sceKernelDeleteLwMutex +#endif diff --git a/src/user/pspmodulemgr.h b/src/user/pspmodulemgr.h index ea12991e..3c9d3574 100644 --- a/src/user/pspmodulemgr.h +++ b/src/user/pspmodulemgr.h @@ -208,6 +208,15 @@ int sceKernelQueryModuleInfo(SceUID modid, SceKernelModuleInfo *info); */ int sceKernelGetModuleIdList(SceUID *readbuf, int readbufsize, int *idcount); +/** + * Get the ID of the module occupying the address + * + * @param moduleAddr - A pointer to the module + * + * @return >= 0 on success, otherwise one of ::PspKernelErrorCodes + */ +int sceKernelGetModuleIdByAddress(const void *moduleAddr); + /*@}*/ #ifdef __cplusplus diff --git a/src/user/pspthreadman.h b/src/user/pspthreadman.h index 9bbef979..832b95aa 100644 --- a/src/user/pspthreadman.h +++ b/src/user/pspthreadman.h @@ -589,6 +589,30 @@ int sceKernelPollSema(SceUID semaid, int signal); */ int sceKernelReferSemaStatus(SceUID semaid, SceKernelSemaInfo *info); +/** Struct as workarea for lightweight mutex */ +typedef struct { + /** Count */ + int lockLevel; + /** Locking thread */ + SceUID lockThread; + /** Attribute */ + int attr; + /** Number of waiting threads */ + int numWaitThreads; + /** UID */ + SceUID uid; + /** Padding */ + int pad[3]; +} SceLwMutexWorkarea; + +/** + * Delete a lightweight mutex + * + * @param workarea - The pointer to the workarea + * + * @return 0 on success, otherwise one of ::PspKernelErrorCodes + */ +int sceKernelDeleteLwMutex(SceLwMutexWorkarea *workarea); /* Event flags. */ From 6c59eaa5c7131ec4fa7695006ee36e4c2efb55b8 Mon Sep 17 00:00:00 2001 From: Sophie Kirschner Date: Wed, 2 Sep 2020 11:46:23 +0300 Subject: [PATCH 4/7] Add psputility error code definitions https://github.com/hrydgard/ppsspp/issues/13187#issuecomment-680941546 --- src/utility/psputility_modules.h | 2 ++ src/utility/psputility_netmodules.h | 3 +++ 2 files changed, 5 insertions(+) diff --git a/src/utility/psputility_modules.h b/src/utility/psputility_modules.h index 086cad8a..e9824cbc 100644 --- a/src/utility/psputility_modules.h +++ b/src/utility/psputility_modules.h @@ -52,6 +52,8 @@ extern "C" { /* IrDA */ #define PSP_MODULE_IRDA 0x0600 +/** An error code used as a return value */ +#define SCE_ERROR_MODULE_ALREADY_LOADED (0x80111102) /** * Load a module (PRX) from user mode. diff --git a/src/utility/psputility_netmodules.h b/src/utility/psputility_netmodules.h index 3f9f3b02..4135699c 100644 --- a/src/utility/psputility_netmodules.h +++ b/src/utility/psputility_netmodules.h @@ -24,6 +24,9 @@ extern "C" { #define PSP_NET_MODULE_PARSEHTTP 5 #define PSP_NET_MODULE_HTTP 6 #define PSP_NET_MODULE_SSL 7 + +/** An error code used as a return value */ +#define SCE_ERROR_NET_MODULE_NOT_LOADED (0x80110803) /** * Load a network module (PRX) from user mode. From a04a2708c60712b9b8488dc242ecaa9ebfe93569 Mon Sep 17 00:00:00 2001 From: Sophie Kirschner Date: Wed, 2 Sep 2020 11:52:33 +0300 Subject: [PATCH 5/7] Fix inconsistent whitespace in added definitions --- src/user/ModuleMgrForUser.S | 2 +- src/user/ThreadManForUser.S | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/user/ModuleMgrForUser.S b/src/user/ModuleMgrForUser.S index e2648218..3afe5fd2 100644 --- a/src/user/ModuleMgrForUser.S +++ b/src/user/ModuleMgrForUser.S @@ -39,5 +39,5 @@ IMPORT_FUNC "ModuleMgrForUser", 0x644395E2,sceKernelGetModuleIdList #endif #ifdef F_ModuleMgrForUser_0012 - IMPORT_FUNC "ModuleMgrForUser",0xD8B73127,sceKernelGetModuleIdByAddress + IMPORT_FUNC "ModuleMgrForUser",0xD8B73127,sceKernelGetModuleIdByAddress #endif diff --git a/src/user/ThreadManForUser.S b/src/user/ThreadManForUser.S index 003e2ec0..59eb7c8b 100644 --- a/src/user/ThreadManForUser.S +++ b/src/user/ThreadManForUser.S @@ -384,5 +384,5 @@ IMPORT_FUNC "ThreadManForUser",0x8218B4DD,sceKernelReferGlobalProfiler #endif #ifdef F_ThreadManForUser_0127 - IMPORT_FUNC "ThreadManForUser",0x60107536,sceKernelDeleteLwMutex + IMPORT_FUNC "ThreadManForUser",0x60107536,sceKernelDeleteLwMutex #endif From d373d448723528fb2e0d339ae598a3105cf14b3a Mon Sep 17 00:00:00 2001 From: Sophie Kirschner Date: Wed, 2 Sep 2020 11:58:31 +0300 Subject: [PATCH 6/7] Corrections to dmac makefile --- src/dmac/Makefile.am | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/dmac/Makefile.am b/src/dmac/Makefile.am index 9bb4bd11..589b8af8 100644 --- a/src/dmac/Makefile.am +++ b/src/dmac/Makefile.am @@ -1,3 +1,4 @@ + libdir := @PSPSDK_LIBDIR@ CC = @PSP_CC@ @@ -5,7 +6,9 @@ CCAS = $(CC) AR = @PSP_AR@ RANLIB = @PSP_RANLIB@ -CCASFLAGS := @PSPSDK_CFLAGS@ -I$(top_srcdir)/src/base +CPPFLAGS = -I$(top_srcdir)/src/base -I$(top_srcdir)/src/kernel +CFLAGS = @PSPSDK_CFLAGS@ +CCASFLAGS = $(CFLAGS) DMAC_OBJS := sceDmac_0000.o sceDmac_0001.o sceDmac_0002.o @@ -16,5 +19,5 @@ lib_LIBRARIES := libpspdmac.a libpspdmac_a_SOURCES := sceDmac.S libpspdmac_a_LIBADD := $(DMAC_OBJS) -$(DMAC_OBJS): sceCtrl.S +$(DMAC_OBJS): sceDmac.S $(AM_V_CPPAS)$(CPPASCOMPILE) -DF_$* $< -c -o $@ From c1698f41b73c1fd6506175dd302c0163ce2ab5cd Mon Sep 17 00:00:00 2001 From: Sophie Kirschner Date: Wed, 2 Sep 2020 12:03:09 +0300 Subject: [PATCH 7/7] Add new dmac Makefule to configure.ac --- configure.ac | 1 + 1 file changed, 1 insertion(+) diff --git a/configure.ac b/configure.ac index cfc1fd06..8012e817 100644 --- a/configure.ac +++ b/configure.ac @@ -91,6 +91,7 @@ AC_CONFIG_FILES([Makefile src/ctrl/Makefile src/debug/Makefile src/display/Makefile + src/dmac/Makefile src/fpu/Makefile src/ge/Makefile src/gu/Makefile