Skip to content

Commit c26edf0

Browse files
committed
Merge branch 'master' of https://github.com/NPO-197/melonDS-lua
2 parents 4749a85 + 6f498e7 commit c26edf0

37 files changed

+4003
-2638
lines changed

flake.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flake.nix

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
let
1111
pkgs = import nixpkgs { inherit system; };
1212
inherit (pkgs.lib) cmakeBool optionals makeLibraryPath;
13-
inherit (pkgs.stdenv) isLinux isDarwin;
13+
inherit (pkgs.stdenv.hostPlatform) isLinux isDarwin;
1414

1515
revision = with self; if sourceInfo?dirtyRev
1616
then sourceInfo.dirtyRev
@@ -21,7 +21,7 @@
2121

2222
melonDS = pkgs.stdenv.mkDerivation {
2323
pname = "melonDS";
24-
version = "1.0-${shortRevision}";
24+
version = "1.1-${shortRevision}";
2525
src = ./.;
2626

2727
nativeBuildInputs = with pkgs; [

src/ARMJIT_Memory.cpp

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1433,9 +1433,14 @@ static void GPU_WriteVRAM_ARM7(u32 addr, T val) noexcept
14331433
NDS::Current->GPU.WriteVRAM_ARM7<T>(addr, val);
14341434
}
14351435

1436-
u32 NDSCartSlot_ReadROMData()
1437-
{ // TODO: Add a NDS* parameter, when NDS* is eventually implemented
1438-
return NDS::Current->NDSCartSlot.ReadROMData();
1436+
u32 NDSCartSlot_ReadROMData9()
1437+
{
1438+
return NDS::Current->NDSCartSlots[0]->ReadROMData(0);
1439+
}
1440+
1441+
u32 NDSCartSlot_ReadROMData7()
1442+
{
1443+
return NDS::Current->NDSCartSlots[0]->ReadROMData(1);
14391444
}
14401445

14411446
static u8 NDS_ARM9IORead8(u32 addr)
@@ -1505,8 +1510,8 @@ void* ARMJIT_Memory::GetFuncForAddr(ARM* cpu, u32 addr, bool store, int size) co
15051510
switch (addr & 0xFF000000)
15061511
{
15071512
case 0x04000000:
1508-
if (!store && size == 32 && addr == 0x04100010 && NDS.ExMemCnt[0] & (1<<11))
1509-
return (void*)NDSCartSlot_ReadROMData;
1513+
if (!store && size == 32 && addr == 0x04100010)
1514+
return (void*)NDSCartSlot_ReadROMData9;
15101515

15111516
/*
15121517
unfortunately we can't map GPU2D this way

src/CMakeLists.txt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,9 @@ add_library(core STATIC
4141
GPU3D_Soft.cpp
4242
GPU3D_Texcache.cpp
4343
GPU3D_Texcache.h
44-
melonDLDI.h
4544
Mic.cpp
4645
NDS.cpp
4746
NDSCart.cpp
48-
NDSCartR4.cpp
4947
Platform.h
5048
ROMList.h
5149
ROMList.cpp
@@ -67,6 +65,15 @@ add_library(core STATIC
6765
DSP_HLE/G711Ucode.cpp
6866
DSP_HLE/GraphicsUcode.cpp
6967

68+
NDSCart/CartCommon.cpp
69+
NDSCart/CartRetail.cpp
70+
NDSCart/CartRetailNAND.cpp
71+
NDSCart/CartRetailIR.cpp
72+
NDSCart/CartRetailBT.cpp
73+
NDSCart/CartSD.cpp
74+
NDSCart/CartHomebrew.cpp
75+
NDSCart/CartR4.cpp
76+
7077
fatfs/ff.c
7178
fatfs/ffsystem.c
7279
fatfs/ffunicode.c

src/DMA.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,8 @@ void DMA::WriteCnt(u32 val)
145145

146146
if ((StartMode & 0x7) == 0)
147147
Start();
148+
else if (StartMode == 0x05 || StartMode == 0x12)
149+
NDS.NDSCartSlots[0]->CheckDMA(CPU);
148150
else if (StartMode == 0x07)
149151
NDS.GPU.GPU3D.CheckFIFODMA();
150152

@@ -621,6 +623,9 @@ void DMA::Run9()
621623
Running = 0;
622624
InProgress = false;
623625
NDS.ResumeCPU(0, 1<<Num);
626+
627+
if (StartMode == 0x05)
628+
NDS.NDSCartSlots[0]->CheckDMA(0);
624629
}
625630

626631
void DMA::Run7()
@@ -691,6 +696,9 @@ void DMA::Run7()
691696
Running = 0;
692697
InProgress = false;
693698
NDS.ResumeCPU(1, 1<<Num);
699+
700+
if (StartMode == 0x12)
701+
NDS.NDSCartSlots[0]->CheckDMA(1);
694702
}
695703

696704
void DMA::Run()

0 commit comments

Comments
 (0)