-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Games that still need "Framebuffer to memory" #6261
Comments
EDIT:- Trails in the Sky was working fine all along, I just had function replacements disabled. |
EDIT:- Same thing goes for GEB, function replacements resolved the issue. Buffered + Simulate Block Transfer fixes the flickering now. |
Hm, that save screen thingy is curious. Not really critical though, the Trails one is worse (but has worked previously?) |
@hrydgard Afaik the Trails one has always required Read Framebuffers to Memory enabled to work properly in all prior revisions. |
@solarmystic do you have function replacements disabled? Gods Eater Burst and Trails both work. They both require function replacements (default on - FuncReplacements = True.) -[Unknown] |
@unknownbrackets Ahh, my bad, that was the culprit for both games. Thanks for the heads up. |
Thanks for clearing that up :) |
Rockman Dash #4739 |
Hmm, we have a Danganronpa hack directly, it should work everywhere... For Rockman DASH, I was hoping the framebuffer texture offset thing would fix it (#6259). Does it detect it as an offset? -[Unknown] |
Yes, Rockman DASH is fixed. |
Nice. So it doesn't need "read framebuffers to memory" anymore, right? -[Unknown] |
No need it any more. |
Is it using sceMpeg or scePsmf? Basically I'm wanting to know where it writes the video to, and how that's supposed to make it to the display. A debug log would probably do the trick. -[Unknown] |
14:49:561 user_main D[HLE]: HLE\sceDmac.cpp:89 sceDmacMemcpy(dest=04000000, src=098be820, size=524288) That memcpy is either 512x256 or 480x272, but it should still theoretically work. Est: 44088000 It's got its FBOs at 44. Maybe there's still an issue matching framebuffers. If you press "step frame" during the video, where is it texturing from? I assume it's texturing from 04000000 to draw the video to 44128000 / 44088000. Those are at least 320 apart so there should be space... Hmm, might need more breakpoints in the silent kill game to see what it's doing. -[Unknown] |
Hmm. I wonder if the FBO has the wrong format. It's not drawing to it. Render to texture with different formats 3 != 1 I wonder if we should swap the format if it gets used for too long like that without being rendered to. What if you change: WARN_LOG_REPORT_ONCE(diffFormat1, G3D, "Render to texture with different formats %d != %d", entry->format, framebuffer->format); Add below: if (framebuffer->last_frame_render + 10 < gpuStats.numFlips && entry->format <= 3) {
framebuffer->format = (GEBufferFormat)entry->format;
} (or, really, in this case we could also skip rendering from the texture. Which may also be safe...) -[Unknown] |
Not help. |
If I click buffered rendering,it works fine. |
So the sakura's video works with framebuffer to memory on game bootup,or changing buffer rendering mode("normal buffered rendering" to "normal buffered rendering",or "normal buffered rendering" to "framebuffer to memory") while the video playing.changing resolution does not help. |
#5447 - macross games kind of needs it to show heat wave effect over the engines, however it get's slightly wrong color(?) which makes it look kind of bad anyway. |
update: Macross no longer needs fb to memory, the effect mostly works without it. |
#6411 reminded me that Me & My Katamari requires framebuffer to memory while naming an island.
^ this shows up in buffered rendering with simulate block transfer and the game doesn't allow to continue althrough doesn't crash or anything changing to read framebuffers to memory allows to continue with:
Edit: blah I don't know how to use code tags on github ;| ~ should be ok now. |
As of 8b67f42, Brandish (ULJM05424) still needs "read framebuffer to memory" for both fading out to the utility menu (Start button) and generating save file screenshots; without it, the fade or save file image is some random image from an earlier point in time, or solid black shortly after startup. Changing the FuncReplacements setting doesn't seem to make a difference. |
Can you set breakpoints to see where it's trying to read? It may just be a memcpy or similar that we don't recognize. Best way is to see where it fades from (via GE debugger) and how, and then set breakpoints there to see where that data is supposed to come from. -[Unknown] |
It looks like the GE debugger is only built for Windows? I'm on Linux and I can't get the Windows build to run under Wine (it needs the new VC runtime and that dies during install). I tried running under GDB and setting read watchpoints on 0x40{00,88}000 in the emulated memory region but didn't catch anything obvious, so I'm not sure what else I can do. I'll see if I can trace back through the code that generates the save screenshot, since that seems to use the same framebuffer copy as the fades. |
Unfortunately, that's true (although some effort was made to keep the breakpointing portable.) I think it works in WINE, although the fonts aren't pretty (unless you have Lucida Console.) To get the runtime, you need to extract it and copy the dlls, iirc. See here: -[Unknown] |
Thanks,It's an RPG like other RPG Final Fantasy and Tales of series,learn skill,magic,change jobs and battles,Not really play into it. |
Sakurasou no Pet na Kanojo saveicons |
I can't really tell from that func where the source is coming from, it's a bit of a complicated function. -[Unknown] |
The function does itself call memcpy. Catching that is not enough? |
Maho Shojo Lyrical Nanoha A's Portable,saveicons only works on Framebuffer to memory |
Hmm. There are probably still some HLE functions that it might use that would copy without triggering a breakpoint, so I'm guessing it must be one of them. Does it call any interesting syscalls during that time? -[Unknown] |
Kirameki School Life SP saveicons. Not sure why adress is S0,but it works |
Ore no Imouto ga Konnani Kawaii Wake ga Nai saveicons Adress is V1. |
Some homebrews require Read Framebuffers to Memory to work properly. |
That's pretty much #4685, @pal1000. I'm honestly not sure if it'd be worth hooking and replacing homebrew functions though. There could be dozens of versions of one homebrew, and if they then update, our function hooking might not catch new drawing methods. I'll let [Unknown] or Henrik give a more informed opinion, though.. |
Switching between modes will force an upload nowadays with "slow effects" enabled. Well, hooking homebrew memcpy's may make sense, but if the gba emulator is pixel poking, we're pretty much in a bad place. Better to use software, or convince the authors to render "better" (using a block transfer or texture would be great, probably.) -[Unknown] |
I think homebrew development for PSP has diminished significantly. UO GPSP Kai development ended in June 2012. The other ones GPSP official doesn't work due to missing key as it is fake signed and GPSP-J cannot load ku_bridge,prx kernel module. Anyway pretty much all emulators running on PSP had their development ceased by now. Filetrip.net has the biggest homebrews collection and they don't host warez. You can find plenty of them there. |
Hentai Ouji To Warawanai Neko https://gist.github.com/daniel229/ec2472c5d962ecfd4cec
Little Busters Converted Edition https://gist.github.com/daniel229/b8698cabb82b91c3c9eb
|
Hot Shots Tennis Portable,I can't get the icons work the first icon is after I saving,it's missing.the second one showing the character is the default icon. Press triangle to change style.it likely to catch the icon after pressing confirm button in the following screen. set breakpoint address x04000000 size a0000,then press confirm button from above screen,can catch something,then uncheck that breakpoint,set breakpoint on zz_sceGeEdramGetAddr:jr ra |
Maho Shojo Lyrical Nanoha A's Portable missing saveicon because of age 6 Decimating FBO.
and it download it to memory after battle.
|
Time to revisit this, I really want to kill off these additional rendering modes and only have non-buffered/buffered left. @daniel229 what's the status of Maho Shojo? And if that's the only remaining problem, I think losing save icons in that game is worth getting rid of these confusing options. |
Any remaining issues here? I think there's a good chance #8757 helped that game and might've helped others. -[Unknown] |
See hrydgard#6261. This should be replaced now with block transfer detection, which is faster and doesn't cause crashes. Games that previously required this setting should use block transfer instead. If that doesn't work, it's a bug.
Our new blocktransfer support (Thanks to @unknownbrackets for fixing tons of issues!) and related memcpy overrides fix most of the games that previously needed the "Framebuffer to memory" modes.
Are there any games that still need them? Otherwise I would like to remove or at least hide them in developer options, as they are slow and often cause instability.
#2713#4739#7695#6880#6547The text was updated successfully, but these errors were encountered: