+++ /dev/null
-#ifndef OS_H
-#define OS_H
-
-u32 OS_ConvertVaddr2Physaddr(u32 vaddr);
-
-#endif
-
--- /dev/null
+#ifndef OS_H
+#define OS_H
+
+u32 osConvertVirtToPhys(u32 vaddr);
+
+#endif
+
--- /dev/null
+#include <3ds/types.h>
+#include <3ds/svc.h>
+#include <3ds/os.h>
+
+u32 osConvertVirtToPhys(u32 vaddr)
+{
+ if(vaddr >= 0x14000000 && vaddr < 0x1c000000)
+ return vaddr + 0x0c000000; // LINEAR heap
+ if(vaddr >= 0x30000000 && vaddr < 0x40000000)
+ return vaddr - 0x10000000; // Only available under FIRM v8+ for certain processes.
+ if(vaddr >= 0x1F000000 && vaddr < 0x1F600000)
+ return vaddr - 0x07000000; // VRAM
+ return 0;
+}
#include <stdlib.h>
#include <3ds/types.h>
-#include <3ds/OS.h>
+#include <3ds/os.h>
#include <3ds/svc.h>
#include <3ds/srv.h>
#include <3ds/CSND.h>
u32 physaddr0 = 0;
u32 physaddr1 = 0;
- physaddr0 = OS_ConvertVaddr2Physaddr((u32)vaddr0);
- physaddr1 = OS_ConvertVaddr2Physaddr((u32)vaddr1);
+ physaddr0 = osConvertVirtToPhys((u32)vaddr0);
+ physaddr1 = osConvertVirtToPhys((u32)vaddr1);
CSND_sharedmemtype0_cmde(channel, looping, encoding, samplerate, unk0, unk1, physaddr0, physaddr1, totalbytesize);
CSND_sharedmemtype0_cmd8(channel, samplerate);
+++ /dev/null
-#include <3ds/types.h>
-#include <3ds/svc.h>
-#include <3ds/OS.h>
-
-
-u32 OS_ConvertVaddr2Physaddr(u32 vaddr)
-{
- if(vaddr >= 0x14000000 && vaddr<0x1c000000)return vaddr + 0x0c000000;//LINEAR memory
- if(vaddr >= 0x30000000 && vaddr<0x40000000)return vaddr - 0x10000000;//Only available under system-version v8.0 for certain processes, see here: http://3dbrew.org/wiki/SVC#enum_MemoryOperation
- if(vaddr >= 0x1F000000 && vaddr<0x1F600000)return vaddr - 0x07000000;//VRAM
-
- return 0;
-}
-