Hacking [Realease] ReiNand Cfw

Status
Not open for further replies.

Syphurith

Beginner
Member
Joined
Mar 8, 2013
Messages
641
Trophies
0
Location
Xi'an, Shaanxi Province
XP
364
Country
Switzerland
Guess I'll post cheat sheets here too for those interested. http://pastebin.com/7P5SYsjQ
Thanks for your hard work. Are you still working on finding a way to N3DS emunand? Have that stuck or something else?
You know there are too many people hoping for a emunand for N3DS.. (Ha What i have is an O3DS JPN, now running rx with mset. so I don't really care about it too much.)

BTW Sorry for unable to access pastebin now. All pages from pastebin shows "stolen content" (GAE) so I think I'm blocked (so do most of others in China - even connection reset).
 

Xenon Hacks

Well-Known Member
Member
Joined
Nov 13, 2014
Messages
7,414
Trophies
1
Age
31
XP
4,697
Country
United States
Thanks for your hard work. Are you still working on finding a way to N3DS emunand? Have that stuck or something else?
You know there are too many people hoping for a emunand for N3DS.. (Ha What i have is an O3DS JPN, now running rx with mset. so I don't really care about it too much.)

BTW Sorry for unable to access pastebin now. All pages from pastebin shows "stolen content" (GAE) so I think I'm blocked (so do most of others in China - even connection reset).
Here you go
  1. #include "lib.h"
  2. #include "FS.h"
  3. #include <wchar.h>
  4. #include <stdio.h>

  5. #define VRAM (unsigned char*)0x18000000
  6. #define FCRAM (unsigned char*)0x20000000
  7. #define ARM9_RAM (unsigned char*)0x8000000
  8. #define TOP_FRAME 0
  9. #define BOT_FRAME 1

  10. unsigned char handle[32];
  11. unsigned char bmpHead[] = {
  12. 0x42, 0x4D, 0x36, 0x65, 0x04, 0x00, 0x00, 0x00,
  13. 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x28, 0x00,
  14. 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xF0, 0x00,
  15. 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x00,
  16. 0x00, 0x00, 0x00, 0x65, 0x04, 0x00, 0x00, 0x00,
  17. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  18. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  19. };

  20. void memdump(wchar_t* filename, unsigned char* buf, unsigned int size){
  21. unsigned int br = 0;
  22. memset(&handle, 0, 32);
  23. fopen9(&handle, filename, 6);
  24. fwrite9(&handle, &br, buf, size);
  25. fclose9(&handle);
  26. for(int i = 0; i < 0x46500; i++) *(VRAM+0x1E6000 + i) = 0xFF;
  27. }

  28. void transpose (void * dst, const void * src, unsigned dim1, unsigned dim2, unsigned item_length) {
  29. char * ptr_write;
  30. const char * ptr_read;
  31. unsigned x, y, z;
  32. for (x = 0; x < dim1; x ++) for (y = 0; y < dim2; y ++) {
  33. ptr_write = ((char *) dst) + item_length * (y * dim1 + x);
  34. ptr_read = ((const char *) src) + item_length * (x * dim2 + y);
  35. for (z = 0; z < item_length; z ++) *(ptr_write ++) = *(ptr_read ++);
  36. }
  37. }

  38. void screenShot(int frame){
  39. unsigned int br;
  40. short width = frame == 0 ? 400 : 320;
  41. short height = 240;
  42. int frameOff = frame == 0 ? 0x300000 : 0; //0x1E6000 : 0x48F000; //<- Defaults
  43. int length = frame == 0 ? 0x46500 : 0x38400;
  44. memset(&handle, 0, 32);
  45. fopen9(&handle, frame == 0 ? L"sdmc:/screen_top.bmp" : L"sdmc:/screen_bot.bmp", 6);
  46. transpose(FCRAM+0xF80000, VRAM+frameOff, width, height, 3);
  47. bmpHead[18] = frame == 0 ? 0x90 : 0x40;
  48. fwrite9(&handle, &br, bmpHead, 0x36);
  49. fwrite9(&handle, &br, FCRAM+0xF80000, length);
  50. fclose9(&handle);
  51. for(int i = 0; i < length; i++) *(VRAM+frameOff + i) = 0xFF;
  52. }

  53. void myThread(){
  54. while(1){
  55. if(getHID() & BUTTON_SELECT){
  56. screenShot(TOP_FRAME);
  57. screenShot(BOT_FRAME);
  58. }
  59. if(getHID() & BUTTON_START) memdump(L"sdmc:/VRAM.bin", VRAM, 0x00600000);
  60. }
  61. __asm("SVC 0x09");
  62. }

--------------------- MERGED ---------------------------

Thanks for your hard work. Are you still working on finding a way to N3DS emunand? Have that stuck or something else?
You know there are too many people hoping for a emunand for N3DS.. (Ha What i have is an O3DS JPN, now running rx with mset. so I don't really care about it too much.)

BTW Sorry for unable to access pastebin now. All pages from pastebin shows "stolen content" (GAE) so I think I'm blocked (so do most of others in China - even connection reset).
@Syphurith you might want to look into using
https://www.torproject.org/ for stuff that is blocked by your ISP or country (its hella slow though)
 
  • Like
Reactions: Syphurith

Syphurith

Beginner
Member
Joined
Mar 8, 2013
Messages
641
Trophies
0
Location
Xi'an, Shaanxi Province
XP
364
Country
Switzerland
Here you go. -- Snip --
Thanks for your help. Looks quite similar as RxTools (the familar MyThread, lol).
Seems to be doing BMP buffer writing in "transpose". Wait i remember that BMP is row by row (bottom to top) and column by column (left to right).
The code itself could be optimized sometime later. Still happy to see those stuff.

Thank you Xenon. Still, TOR is also polluted here, ORZ. So I think i would wait for its being open-sourced oneday with patience.
 

Xenon Hacks

Well-Known Member
Member
Joined
Nov 13, 2014
Messages
7,414
Trophies
1
Age
31
XP
4,697
Country
United States
Thanks for your help. Looks quite similar as RxTools (the familar MyThread, lol).
Seems to be doing BMP buffer writing in "transpose". Wait i remember that BMP is row by row (bottom to top) and column by column (left to right).
The code itself could be optimized sometime later. Still happy to see those stuff.

Thank you Xenon. Still, TOR is also polluted here, ORZ. So I think i would wait for its being open-sourced oneday with patience.
Orz I tried :/
 
  • Like
Reactions: Syphurith

Xenon Hacks

Well-Known Member
Member
Joined
Nov 13, 2014
Messages
7,414
Trophies
1
Age
31
XP
4,697
Country
United States
Don't tell me that is really upside-down. I mean the BMP file generated from screen shots.
Eh.. Also the screen buffer should be B,G,R that not the same as BMP's R,G,B.
>>Trying to take a closer look at the code. yup
Do you think this would ever result in screen recording?
Or at the very least tiny GIF's?
 

Home_Rowed

Well-Known Member
Member
Joined
Oct 17, 2006
Messages
109
Trophies
1
Website
Visit site
XP
608
Country
United States
Have you gotten past the v9.2 SysNAND barrier? Has anyone? I assume the answer is no because of the ninjhax requirement. Will it be possible with the limited form of ninjhax for past v9.2 being work on?
 

Syphurith

Beginner
Member
Joined
Mar 8, 2013
Messages
641
Trophies
0
Location
Xi'an, Shaanxi Province
XP
364
Country
Switzerland
Do you think this would ever result in screen recording?
Or at the very least tiny GIF's?
To avoid R,G,B order you can modify the BMP header (see those BMP565 format images) with a little research.
Just for the code you showed to me. I think the result BMP might be upside-down, unless the header is crafted carefully.
I used to copy those data in such a way (not C!):
A = dst + (WIDTH)*(LINE-1)*(PIXELSIZE);
for (HEIGHT: max to min) {
for (WIDTH) A<=B; A++,B++.
if (A == LINEEND){A -= 2*LINESIZE; LINEEND = A + LINESIZE; }}
For GIFs sorry i don't know its internals.
 
Last edited by Syphurith,

Reisyukaku

Onii-sama~
Developer
Joined
Feb 11, 2014
Messages
1,534
Trophies
2
Website
reisyukaku.org
XP
5,422
Country
United States
Thanks for your hard work. Are you still working on finding a way to N3DS emunand? Have that stuck or something else?
You know there are too many people hoping for a emunand for N3DS.. (Ha What i have is an O3DS JPN, now running rx with mset. so I don't really care about it too much.)

BTW Sorry for unable to access pastebin now. All pages from pastebin shows "stolen content" (GAE) so I think I'm blocked (so do most of others in China - even connection reset).
I'll try to get it to work with that soon, although it's not as easy as just switching firm files, lol
 
  • Like
Reactions: Syphurith and Vappy
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • BigOnYa @ BigOnYa:
    If your internet speeds are fast enough. Streaming 4k takes alot. I used to only have 20mb sec, and 4k struggled. Now I have 300mb sec and 4k plays fine.
    +1
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, i only have like 1 or 2 mb sec
  • BigOnYa @ BigOnYa:
    Did you feed the hamster in your internet router? It prob died and is running slow now.
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, why did you start saying my pc has a hamster in the first place?
    +1
  • BigOnYa @ BigOnYa:
    Its actua!ly just a old joke, meaning its slow. Was just kidding around with you.
    +1
  • BigOnYa @ BigOnYa:
    I bet @AncientBoi has some hamsters hidden somewhere tho....
    +2
  • Psionic Roshambo @ Psionic Roshambo:
    I think Game streaming should work like this.... Local Hardware able the run the game fine, game engine and common assets stored locally, all FMV and music and textures could be streaming
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Some temporary storage
  • Xdqwerty @ Xdqwerty:
    also @BigOnYa im making some progress on my gdevelop project, implemented various mechanics
  • Psionic Roshambo @ Psionic Roshambo:
    They went all in on streaming, should have been more of a hybrid approach
    +1
  • BigOnYa @ BigOnYa:
    Or free government supplied high speed internet be nice also. Like Obama care. Xdqwerty that's cool, its time consuming but rewarding once done or playable, to see what you've made from scratch. Animations take forever, but worth it.
    +1
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, although the bullets are a bit buggy
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Not to mention this would be a massive pain to pirate
  • Xdqwerty @ Xdqwerty:
    @BigOnYa,
    and the visual aspect of the game is quite crude (the sprite that looks best is that of the protagonist just because he is a stickman with sunglasses)
    +1
  • BigOnYa @ BigOnYa:
    There is a bullets behaviour you assign to your character, that makes the code easier, under "behaviours"
  • Xdqwerty @ Xdqwerty:
    i meant that when the character is pointing to the right, the bullets spawn where they should, but when he is on the right, they move to the right but the spawn point is incorrect
  • BigOnYa @ BigOnYa:
    Itch.io has lots of free assets also. Under the bullets behavior tab, there is a "rotate bullets" option, can try that. Or in the code can try
    - fire bullet Player.X(PlayerDirection)
  • Xdqwerty @ Xdqwerty:
    im taking a break for today anyway
    +1
  • BigOnYa @ BigOnYa:
    YEa gotta after a while, looking at code for long periods will bug your eyes.
    +1
  • BigOnYa @ BigOnYa:
    That's cool tho, I'm proud of you going back to it, not giving up. It is difficult at first to learn, but fun once you get the hang of it. I think I've watched every tutorial video there is, but I still struggle sometimes to get stuff to work right. But gotta keep trying dif things, and eventually you will get it right.
    +1
  • K3Nv2 @ K3Nv2:
    Lol McDonald's has a grandma mcflurry
  • Xdqwerty @ Xdqwerty:
    @K3Nv2, furry grandma?
    Xdqwerty @ Xdqwerty: @K3Nv2, furry grandma?