Homebrew Post Homebrew ideas, suggestion, requests here

muggy8

Active Member
Newcomer
Joined
Jan 8, 2016
Messages
31
Trophies
0
Age
31
XP
75
Country
Canada
Yes, you can use the gpu to downscale the image and compress it, there is still memory io and sdio

So here's an idea let me know if it sounds like it's possible, correct or just no:

you can get the GPU to generate the image to be displayed for the game then every 2nd or 3rd frame it also compresses the image by making it interlaced and compressing it into some smaller format then sending it to some place in memory. The the CPU will take over and send the images to the SD card and over wifi alternating. The images are also compressed by the GPU. Then at the end you are recording to the SD card anywhere from 5-15 frame per second and recording via wifi about the same (if possible) as I would assume that the CPU just dumps the data onto the IO module for both wifi and SD IO and the modules then figure out how to send the data where it needs to be and acts somewhat independently from the CPU. After when you piece the data together you have anywhere from 10-30 fps worth of interlaced footage?
 

MasterFeizz

Well-Known Member
Member
Joined
Oct 15, 2015
Messages
1,098
Trophies
1
Age
29
XP
3,710
Country
United States
So here's an idea let me know if it sounds like it's possible, correct or just no:

you can get the GPU to generate the image to be displayed for the game then every 2nd or 3rd frame it also compresses the image by making it interlaced and compressing it into some smaller format then sending it to some place in memory. The the CPU will take over and send the images to the SD card and over wifi alternating. The images are also compressed by the GPU. Then at the end you are recording to the SD card anywhere from 5-15 frame per second and recording via wifi about the same (if possible) as I would assume that the CPU just dumps the data onto the IO module for both wifi and SD IO and the modules then figure out how to send the data where it needs to be and acts somewhat independently from the CPU. After when you piece the data together you have anywhere from 10-30 fps worth of interlaced footage?
No, alternating between wifi and sd would not really help. Lots of games have problem mantaining a steady fps as is, recording at every other frame would probably result at less than 10 fps. Again recording at low fps on a n3ds would be the best bet.

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

Remember that we communicate with services which the game also uses.
 

muggy8

Active Member
Newcomer
Joined
Jan 8, 2016
Messages
31
Trophies
0
Age
31
XP
75
Country
Canada
No, alternating between wifi and sd would not really help. Lots of games have problem mantaining a steady fps as is, recording at every other frame would probably result at less than 10 fps. Again recording at low fps on a n3ds would be the best bet.

how low is low fps? 12? 10? if it's something like 15 then cant you just interlace the image and you'd get an acceptable 30 fps interlaced? or if we account for compression time 24 fps interlaced?
 

MasterFeizz

Well-Known Member
Member
Joined
Oct 15, 2015
Messages
1,098
Trophies
1
Age
29
XP
3,710
Country
United States
how low is low fps? 12? 10? if it's something like 15 then cant you just interlace the image and you'd get an acceptable 30 fps interlaced? or if we account for compression time 24 fps interlaced?
Probable somewhere around 10fps. Even using the gpu to interlace the frames would mean we need to change the state of the gpu, draw, wait for it to finish and then restore it back to the previous state. And after we are done with gpu we also need to save the output.

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

Even 10 might be a stretch
 

muggy8

Active Member
Newcomer
Joined
Jan 8, 2016
Messages
31
Trophies
0
Age
31
XP
75
Country
Canada
Probable somewhere around 10fps. Even using the gpu to interlace the frames would mean we need to change the state of the gpu, draw, wait for it to finish and then restore it back to the previous state. And after we are done with gpu we also need to save the output.

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

Even 10 might be a stretch

hmm.. Doesn't the GPU do like 30-60 fps with 3D enabled for most games? if we are rendering without enabling the 3D, wouldn't we be able to free up half the GPU? for example we can ask it to render the image that would be displayed say the right eye image and whatever resources it would be normally using to render the left eye image can be used to interlace and compress the image or even just rerender the right eye image as interlaced and compressed or whatever. and in the case of Pokemon for example, the game runs at 60 FPS with 3D disabled mostly, cant you just tell the GPU to render at 30 fps and allocate half the resources to compression and interlacing? Of course this is all assuming that the resulting interlaced image can be small enough that the SDIO can handle writing it to the disk without much complaint even at say 20 fps interlaced
 

MasterFeizz

Well-Known Member
Member
Joined
Oct 15, 2015
Messages
1,098
Trophies
1
Age
29
XP
3,710
Country
United States
hmm.. Doesn't the GPU do like 30-60 fps with 3D enabled for most games? if we are rendering without enabling the 3D, wouldn't we be able to free up half the GPU? for example we can ask it to render the image that would be displayed say the right eye image and whatever resources it would be normally using to render the left eye image can be used to interlace and compress the image or even just rerender the right eye image as interlaced and compressed or whatever. and in the case of Pokemon for example, the game runs at 60 FPS with 3D disabled mostly, cant you just tell the GPU to render at 30 fps and allocate half the resources to compression and interlacing? Of course this is all assuming that the resulting interlaced image can be small enough that the SDIO can handle writing it to the disk without much complaint even at say 20 fps interlaced
The gpu needs instructions from the cpu to run, its not like its doing its own thing. The 3d is done by changing the the position of the camera and redrawing, if we turn off the 3d slider then it doesn't draw the second time. And the games are usually programmed to use time based logic, we could take our time to do our things and the game shouldn't care.
The best thing to do is get an open source homebrew that uses the gpu and add a capture routine to it and see the outcome of that, we might get good results. From there we can optimize and then try injecting that routine into games.
 

muggy8

Active Member
Newcomer
Joined
Jan 8, 2016
Messages
31
Trophies
0
Age
31
XP
75
Country
Canada
The gpu needs instructions from the cpu to run, its not like its doing its own thing. The 3d is done by changing the the position of the camera and redrawing, if we turn off the 3d slider then it doesn't draw the second time. And the games are usually programmed to use time based logic, we could take our time to do our things and the game shouldn't care.
The best thing to do is get an open source homebrew that uses the gpu and add a capture routine to it and see the outcome of that, we might get good results. From there we can optimize and then try injecting that routine into games.

oh snap. That's an absolutely brilliant plan. Now i'll need to find someone to work with to help me on this. Unfortunately i only have a o3DS but maybe i can get it to do something nice. Do you know of any good resources that I can use to learn the ropes of this? Thanks!
 

MasterFeizz

Well-Known Member
Member
Joined
Oct 15, 2015
Messages
1,098
Trophies
1
Age
29
XP
3,710
Country
United States
oh snap. That's an absolutely brilliant plan. Now i'll need to find someone to work with to help me on this. Unfortunately i only have a o3DS but maybe i can get it to do something nice. Do you know of any good resources that I can use to learn the ropes of this? Thanks!
The simple method, use the transfer engine (GX_DisplayTransfer in ctrulib) to copy and scale down the framebuffer and then save it to a file. The resulting textures will be tiled, but that shouldn't really be a problem, it actually makes it easier to be played back on the 3ds.
All info you need can be found on www.3dbrew.org, if you can't find something there shoot me a question. You can contact me here, but I also have contact info on my signature.
 

muggy8

Active Member
Newcomer
Joined
Jan 8, 2016
Messages
31
Trophies
0
Age
31
XP
75
Country
Canada
The simple method, use the transfer engine (GX_DisplayTransfer in ctrulib) to copy and scale down the framebuffer and then save it to a file. The resulting textures will be tiled, but that shouldn't really be a problem, it actually makes it easier to be played back on the 3ds.
All info you need can be found on www.3dbrew.org, if you can't find something there shoot me a question. You can contact me here, but I also have contact info on my signature.

sweet man! thanks :D I'll definitely be keeping you in contact in the near future. I'm more used to working with Javascript but this'll be a new adventure!

By the way, is there a list of all the functions that are public that you can call that are already built in to the game system. Thanks!
 
Last edited by muggy8,

OPMisOP

New Member
Newbie
Joined
Jan 3, 2016
Messages
3
Trophies
0
Age
26
XP
52
Country
India
Wait a minute,is there a way to make a .cbr or pdf reader for the homebrew.
IF there was we could have read One-Punch
 

Radiant Spark

Member
Newcomer
Joined
Nov 14, 2015
Messages
6
Trophies
0
Age
23
XP
55
Country
I'd be interested in seeing a Risk of Rain port. It's a neat little action platformer/roguelike indie title, currently available on Windows, Mac and Linux.
 
  • Like
Reactions: SLiV3R

Bubsy Bobcat

funny rabbit
Member
Joined
Jul 8, 2015
Messages
1,512
Trophies
1
Location
norf of ingerland
XP
3,172
Country
Zimbabwe
Okay I have a decent idea (if it can be pulled off),
Would it be possible to make a .cia of a DSi Homebrew Launcher? So, a DSiWare game that simply is one of the many homebrew launchers for the DSi exploits (Sudokuhax/Grtpwn/Fieldrunhax/Exidiahax). This would save people alot of time hunting down a rom for one of the exploit games and would open a door to the wide range of DS/DSi homebrew!
Here's a crappy mockup of what I'm after:
hbdsi3ds.PNG
 
Last edited by Bubsy Bobcat,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Maximumbeans @ Maximumbeans: butte