Skip to content

Instantly share code, notes, and snippets.

View Subv's full-sized avatar

Sebastian Valle Subv

  • Barranquilla, Colombia
View GitHub Profile
KERNEL_HEAP:FFF93BB0 C0 D4 F2 FF+first_resource_limit DCD KResourceLimit_vtable; vtable
KERNEL_HEAP:FFF93BB0 01 00 00 00+ ; DATA XREF: .data:resource_limit_linko
KERNEL_HEAP:FFF93BB0 18 00 00 00+ ; KERNEL_HEAP:stru_FFF7BB40o
KERNEL_HEAP:FFF93BB0 00 00 00 04+ ; KERNEL_HEAP:resourcelimit_linked_list_firsto
KERNEL_HEAP:FFF93BB0 20 00 00 00+ DCD 1 ; refCount
KERNEL_HEAP:FFF93BB0 20 00 00 00+ DCD 0x18 ; max_thread_prio
KERNEL_HEAP:FFF93BB0 20 00 00 00+ DCD 0x4000000 ; max_commit
KERNEL_HEAP:FFF93BB0 08 00 00 00+ DCD 0x20 ; max_thread
KERNEL_HEAP:FFF93BB0 08 00 00 00+ DCD 0x20 ; max_event
KERNEL_HEAP:FFF93BB0 10 00 00 00+ DCD 0x20 ; max_mutex
EV = Event
T1.P = 0x1F
T2.P = 0x21
T3.P = 0x20
T2.Wait(EV)
T3.Wait(EV)
T1.Signal(EV)
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index 42b4be9..fbbb682 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -25,6 +25,7 @@ set(SRCS
file_sys/ivfc_archive.cpp
hle/config_mem.cpp
hle/hle.cpp
+ hle/applets/applet.cpp
hle/kernel/address_arbiter.cpp
@Subv
Subv / wally.md
Last active August 29, 2015 14:23 — forked from lioncash/wally.md
[20:38:57] <Subv> walnut: { uint32_t someVar, moreVar, yetAnotherVar[200]; for(int i = 0; i < 200; ++i) yetAnotherVar[i] = i; uint8_t fileHandle[32] = {0x00}; memset(&fileHandle, 13, 32); cout << +fileHandle[30] << " ignore "; int dontOptimizeMe = 0; for(int i = 0; i < 200; ++i) dontOptimizeMe += yetAnotherVar[i]; cout << dontOptimizeMe; }
[20:38:58] <walnut> Output> 13 ignore 19900
[20:39:08] <Subv> walnut: { uint32_t someVar, moreVar, yetAnotherVar[200]; for(int i = 0; i < 200; ++i) yetAnotherVar[i] = i; uint8_t fileHandle[32] = {0x00}; memset(fileHandle, 13, 32); cout << +fileHandle[30] << " ignore "; int dontOptimizeMe = 0; for(int i = 0; i < 200; ++i) dontOptimizeMe += yetAnotherVar[i]; cout << dontOptimizeMe; }
[20:39:10] <walnut> Output> 13 ignore 19900
C:\Users\Sebastian>ping 192.168.1.1 -t
Haciendo ping a 192.168.1.1 con 32 bytes de datos:
Respuesta desde 192.168.1.1: bytes=32 tiempo=1ms TTL=254
Respuesta desde 192.168.1.1: bytes=32 tiempo=22ms TTL=254
Respuesta desde 192.168.1.1: bytes=32 tiempo=9ms TTL=254
Respuesta desde 192.168.1.1: bytes=32 tiempo=98ms TTL=254
Respuesta desde 192.168.1.1: bytes=32 tiempo=8ms TTL=254
Respuesta desde 192.168.1.1: bytes=32 tiempo=135ms TTL=254
Respuesta desde 192.168.1.1: bytes=32 tiempo=3ms TTL=254
Haciendo ping a 192.168.1.1 con 32 bytes de datos:
Respuesta desde 192.168.1.1: bytes=32 tiempo=1ms TTL=254
Respuesta desde 192.168.1.1: bytes=32 tiempo=22ms TTL=254
Respuesta desde 192.168.1.1: bytes=32 tiempo=9ms TTL=254
Respuesta desde 192.168.1.1: bytes=32 tiempo=98ms TTL=254
Respuesta desde 192.168.1.1: bytes=32 tiempo=8ms TTL=254
Respuesta desde 192.168.1.1: bytes=32 tiempo=135ms TTL=254
Respuesta desde 192.168.1.1: bytes=32 tiempo=3ms TTL=254
Respuesta desde 192.168.1.1: bytes=32 tiempo=2ms TTL=254
Respuesta desde 192.168.1.1: bytes=32 tiempo=65ms TTL=254
[ 8.435989] Kernel.SVC <Trace> core\hle\svc.cpp:SVC::SendSyncRequest:129: called handle=0x000A8022(gsp::Gpu)
[ 8.436990] Service <Trace> core\hle\service\service.cpp:Service::Interface::SyncRequest:74: function 'TriggerCmdReqQueue': port=gsp::Gpu
[ 8.437990] Kernel.SVC <Trace> core\hle\svc.cpp:SVC::ArbitrateAddress:292: called handle=0x00000001, address=0x001E25E4, type=0x00000000, value=0x00000001
[ 8.438991] Kernel.SVC <Trace> core\hle\svc.cpp:SVC::WaitSynchronization1:151: called handle=0x000B0023(Event:Unknown), nanoseconds=-1
[ 8.440993] Kernel.SVC <Trace> core\hle\svc.cpp:SVC::SendSyncRequest:129: called handle=0x000A8022(gsp::Gpu)
[ 8.440993] Service <Trace> core\hle\service\service.cpp:Service::Interface::SyncRequest:74: function 'ReadHWRegs': port=gsp::Gpu, cmd_buff[1]=4194392, cmd_buff[2]=4
const Info& GetInfo() const {
static const OpCode::Info info_table[] = {
{ OpCode::Type::Arithmetic, OpCode::Info::TwoArguments, "add" },
{ OpCode::Type::Arithmetic, OpCode::Info::TwoArguments, "dp3" },
{ OpCode::Type::Arithmetic, OpCode::Info::TwoArguments, "dp4" },
{ OpCode::Type::Arithmetic, OpCode::Info::TwoArguments, "dph" },
{ OpCode::Type::Unknown, 0, "UNK" },
{ OpCode::Type::Arithmetic, OpCode::Info::OneArgument, "exp" },
{ OpCode::Type::Arithmetic, OpCode::Info::OneArgument, "log" },
{ OpCode::Type::Unknown, 0, "UNK" },
00007FF6D2290E90 mov edx,dword ptr [rcx]
00007FF6D2290E92 mov eax,edx
00007FF6D2290E94 and eax,0FFFFFFF8h
00007FF6D2290E97 cmp eax,38h
00007FF6D2290E9A jne nihstro::OpCode::GetInfo+1Fh (07FF6D2290EAFh)
00007FF6D2290E9C mov edx,eax
00007FF6D2290E9E cdqe
00007FF6D2290EA0 lea rcx,[`nihstro::OpCode::GetInfo'::`2'::info_table (07FF6D2415230h)]
00007FF6D2290EA7 shl rax,4
00007FF6D2290EAB add rax,rcx