diff --git a/Assets/dll/ares64.wbx.zst b/Assets/dll/ares64.wbx.zst index ddb8c9eeb0..f0ad736ff3 100644 Binary files a/Assets/dll/ares64.wbx.zst and b/Assets/dll/ares64.wbx.zst differ diff --git a/waterbox/ares64/BizInterface.cpp b/waterbox/ares64/BizInterface.cpp index a4088ee80e..92c29d09c3 100644 --- a/waterbox/ares64/BizInterface.cpp +++ b/waterbox/ares64/BizInterface.cpp @@ -3,8 +3,6 @@ #include #include -#include - #define EXPORT extern "C" ECL_EXPORT typedef enum @@ -396,11 +394,15 @@ static bool LoadRom(LoadData* loadData, bool isPal) string cic = isPal ? "CIC-NUS-7101" : "CIC-NUS-6102"; u32 crc32 = Hash::CRC32({&data[0x40], 0x9C0}).value(); - if (crc32 == 0x1DEB51A9) cic = isPal ? "CIC-NUS-7102" : "CIC-NUS-6101"; + if (crc32 == 0x1DEB51A9) cic = "CIC-NUS-6101"; + if (crc32 == 0xEC8B1325) cic = "CIC-NUS-7102"; if (crc32 == 0xC08E5BD6) cic = isPal ? "CIC-NUS-7101" : "CIC-NUS-6102"; if (crc32 == 0x03B8376A) cic = isPal ? "CIC-NUS-7103" : "CIC-NUS-6103"; if (crc32 == 0xCF7F41DC) cic = isPal ? "CIC-NUS-7105" : "CIC-NUS-6105"; if (crc32 == 0xD1059C6A) cic = isPal ? "CIC-NUS-7106" : "CIC-NUS-6106"; + if (crc32 == 0x0C965795) cic = "CIC-NUS-8303"; + if (crc32 == 0x10C68B18) cic = "CIC-NUS-8401"; + if (crc32 == 0x8FEBA21E) cic = "CIC-NUS-DDUS"; platform->bizpak->setAttribute("cic", cic); SaveType save = DetectSaveType(data); @@ -455,8 +457,6 @@ static bool LoadDisk(LoadData* loadData) diskErrorData = new array_view(data, len); platform->bizpak->append(name, *diskErrorData); - ares::Nintendo64::dd.rtcCallback = GetBizTime; - if (auto port = root->find("Nintendo 64DD/Disk Drive")) { port->allocate(); @@ -475,7 +475,9 @@ EXPORT bool Init(LoadData* loadData, ControllerType* controllers, bool isPal, bo platform = new BizPlatform; platform->bizpak = new vfs::directory; ares::platform = platform; + biztime = initTime; + ares::Nintendo64::dd.rtcCallback = GetBizTime; u8* data; u32 len; diff --git a/waterbox/ares64/Makefile b/waterbox/ares64/Makefile index 5dd639f073..770c86064c 100644 --- a/waterbox/ares64/Makefile +++ b/waterbox/ares64/Makefile @@ -1,15 +1,17 @@ NEED_LIBCO := 1 ARES_PATH = $(ROOT_DIR)/ares/ares -ANGRYLION_PATH = $(ROOT_DIR)/ares/thirdparty/angrylion-rdp/mylittle-nocomment +THIRDPARTY_PATH = $(ROOT_DIR)/ares/thirdparty +ANGRYLION_PATH = $(THIRDPARTY_PATH)/angrylion-rdp/mylittle-nocomment +SLJIT_PATH = $(THIRDPARTY_PATH)/sljit/sljit_src -CXXFLAGS := -std=c++17 -msse4.2 \ - -I../libco -I.$(ROOT_DIR)/ares/ -I.$(ROOT_DIR)/ares/thirdparty/ -I.$(ARES_PATH) \ +CXXFLAGS := -std=gnu++17 -march=nehalem \ + -I../libco -I.$(ROOT_DIR)/ares -I.$(ARES_PATH) -I.$(THIRDPARTY_PATH) -I.$(ANGRYLION_PATH) \ -Werror=int-to-pointer-cast -Wno-unused-but-set-variable -Wno-format-security \ -Wno-parentheses -Wno-reorder -Wno-unused-variable -Wno-delete-non-virtual-dtor \ -Wno-sign-compare -Wno-switch -Wno-unused-local-typedefs -Wno-bool-operation \ - -fno-strict-aliasing -fwrapv -fno-operator-names \ - -I.$(ANGRYLION_PATH) -DANGRYLION_RDP + -fno-strict-aliasing -fwrapv -fno-operator-names -fexpensive-optimizations \ + -DSLJIT_HAVE_CONFIG_PRE=1 -DSLJIT_HAVE_CONFIG_POST=1 TARGET = ares64.wbx @@ -42,6 +44,12 @@ SRCS_ANGRYLION = \ $(ANGRYLION_PATH)/main.cpp \ $(ANGRYLION_PATH)/n64video.cpp -SRCS = $(SRCS_PROCESSORS) $(SRCS_ARES) $(SRCS_N64) $(SRCS_ANGRYLION) BizInterface.cpp +#note these are not actually used as recompiler is disabled +#these still need to be built though if you want a debug build +SRCS_SLJIT = \ + $(SLJIT_PATH)/sljitLir.c \ + $(THIRDPARTY_PATH)/sljitAllocator.cpp + +SRCS = $(SRCS_PROCESSORS) $(SRCS_ARES) $(SRCS_N64) $(SRCS_ANGRYLION) $(SRCS_SLJIT) BizInterface.cpp include ../common.mak