You are not logged in.

Read the FAQ and Knowledge Base before posting.
We won't make a 3DS/2DS emulator.

#1 Re: Support » cheat database importer checksum mismatch? » 2019-09-30 23:09:45

fuubar wrote:
zeromus wrote:

using USA Portrait of Ruin for example, the CRC of the file is actually 0x96df4c4d. You can confirm this by searching for that CRC online.

I traced through the code that does the CRC back to early 2013 and it doesnt seem like the algorithm ever changed.

The cheats database has 0x0d153ac2. And if you search online you find many cheat databases with this crc for this game.

Crazymax added the CRC mismatch error message in december 2013. I assume he had a reason. I am not going to remove the error message.

Please tell me what the CRCs in the cheat database mean, if they're not the CRC of the NDS file. Am I supposed to use a different polynomial CRC?

The checksum in question is CRC-32 of the first 512 bytes in a decrypted ROM, but with NOT operation applied to the calculated value.

Taking USA Portrait of Ruin for example, CRC-32 of the first 512 bytes of the decrypted .nds is 0xF2EAC53D. Doing NOT with F2EAC53D in Windows Calculator yields D153AC2 seen above, which is also found in the cheat database.

This worthless nag window has finally annoyed me to the point of finding the checksum calculation code in R4CCE. The function responsible for this in R4CCE is sub_41FD3C as IDA calls it, which is found in the memory of r4cce.exe at virtual address 41FD3C. It takes the pointer to the source buffer (0x200 bytes) from the stack and returns the checksum in EAX.
I hope that no one will have to see that f*** nag again, thanks.

That would explain everything. I was told that it was part of the game ID, something "internal" years ago, though I never figured out how to determine such ID, I just rolled with it. R4CCE isn't open source unfortunately and I don't have the tools to poke about it to see how any of it works, I was SOL. One thing that did stick out to me all these years though was the fact that the data looked a lot like a CRC-32 hash, what made me question it more was the fact that I document hash for various dumps for No-Intro, one of the pieces of information needed is the CRC-32, obviously none of them ever matched the databases, but it started to make me rethink about it more. Funnily enough I have been looking into ways to take software apart so I could maybe disassemble R4CCE to see how it was coded to work, this data was one of the first things I wanted to loot at. You beat me to the punch though obviously lol. Thanks for setting the information straight and out in the open for everyone to know. I did the math myself just to double check, you made a small error by forgetting to include the 0 in front of D153AC2, the real result is 0D153AC2. Even so the fixes were spot on, good work Zeromus for the fixes on that, and thanks again fuubar for the information that cleared up everything.

#2 Support » GPU Scaling Factor Bug » 2019-02-23 03:58:51

Replies: 1

Hey again, back with another bug I spotted when I was playing with the GPU scaling feature on the emulator. Was playing Castlevania - Dawn of Sorrow and noticed some graphical issues in certain areas of the game, setting the GPU scale between 1-2 doesn't seem to cause the issue, however anything higher will cause the issue to appear (I always set my factor to 4). I am aware this is better used for 3D objects but still. It's much more noticeable than what's seen in the screenshot, however here is a screenshot of what I mean:

#3 Re: Support » Pokemon Platinum Save File Doubled in Size? » 2019-02-13 06:15:42

zeromus wrote:

Sorry, I'm not going to let you link to random builds on google drive when we have a buildbot making all the latest up to date builds. Link to that instead.

Dude.....Why not check the link next time, it was a direct link to YOUR git build that you posted on the main download section of the DeSmuMe site genius. The time I posted it BOTH the nightly build and the autobuild sections had the same gits, so it didn't matter at the time, now you are just calling bad shots here. The other thing is you have had a lot of regression builds recently, it's a smarter idea to sit behind a bit until it's fixed, since the most recent update was six days ago, obviously I did the CORRECT thing and linked the man a proper build provided by you.

#4 Re: Support » Pokemon Platinum Save File Doubled in Size? » 2019-02-11 20:51:28

SnackHydra wrote:

I downloaded the most recent version on the site. Here is the link. … p/download

This is the latest currently: (2019/02/06 – git#4281747)

#5 Re: Support » iNDS to Desmume » 2019-02-11 20:48:43

Mynamehere wrote:

Wow. You did it! I had various dsv files and I took a closer look at the text code as you suggested and found that I was actually trying to load a save state file. This prompted me to look through all my dsv files because I know I also used the in game save on iNDS. I then found one that didn't say save state but it still said DeSmuME in it so I tried that and poof. It worked!

Thank you for help!

A little late but you could have used the "Import Backup Memory" feature of DeSmuMe. This allows you to import .sav files into DeSmuMe, make sure you import it with the correct information though, I usually just import the save with the save info of the original .sav.

#6 Re: General » Oof » 2019-02-11 20:39:04

Don't break what isn't broken, at least that's what I think.

#7 Re: Technical » Ability To Copy RAM Search Results » 2019-01-21 01:01:04

zeromus wrote:

put a bug in github and maybe one of the guys who works on cheats and tools will do it, or maybe I will

Done, good luck!

#8 Technical » Ability To Copy RAM Search Results » 2019-01-20 22:42:19

Replies: 5

Hello again. RAM searching is a popular feature for debugging purposes, however one important feature is missing from it, that is the ability to copy however many addresses (with the values respectively in each) you want so you can paste it somewhere. The Cheat Search feature has a feature similar to this where it allows you to copy the offset and value for cheats, though you can only copy one address at a time (that's kind of a let down when I prefer bulk testing). RAM search doesn't have a copy feature at all, I feel it could benefit those who want to test out however many offsets they please, maybe make it so we can copy more than one address at a time to (basically bulk copying, we can already do bulk elimination), this would greatly reduce the time needed to test a certain amount of addresses. Thanks again!

#9 Re: Technical » Eliminate Option and Mass Select Feature for Cheat Search » 2019-01-20 11:47:11

zeromus wrote:

Having a simpler version of an advanced tool is NOT an adequate justification to keep garbage around in desmume's already garbaged-up codebase. I'll leave it because fintogive asked me to but I'm not going to add features to it. If you put a bug on github, maybe one of the guys who works on cheats and tools will do it, but I will warn you now, I will edit your feature request for it to be insulting to the cheat search dialog. For instance if you say "add a bulk eliminate button to the cheat search dialog" you will discover later that it says "add a bulk eliminate button to the redundant stupid cheat search garbage dialog for dummies"

Go for it, people will know though that I never said this, honestly you should be much more professional about how you go about things. It wouldn't be so "garbaged" if you actually did something about it and fixed it, complaining and calling it names doesn't get the job done. Not only me but other people will keep making requests related to these features, you are gonna have to deal with it until you do something about it. Thanks for keeping it in though.

#10 Re: Technical » Eliminate Option and Mass Select Feature for Cheat Search » 2019-01-20 09:24:58

zeromus wrote:

ram search does everything cheat search does.

I am aware of that, however bare in mind that the cheat search function also helps those just starting to debug games. When I first started making cheats I used the cheat search function, slowly as I progressed in knowledge I used the RAM search function more than the cheat search function, I still use it though for simple searches and what not.

#11 Re: Technical » Eliminate Option and Mass Select Feature for Cheat Search » 2019-01-20 09:13:17

zeromus wrote:

do not use cheat search. where did cheat search even come from? I don't think I've ever even _seen_ that tool before. ram search is better. we should delete cheat search.

Noooo please don't get rid of it....It actually does help, I have used both features before, RAM search obviously being the best option, but I actually like the cheat search feature as well, it has helped me quite a few times with some of the codes I have made over time.

#12 Technical » Eliminate Option and Mass Select Feature for Cheat Search » 2019-01-20 06:04:30

Replies: 7

Hey again, I meant to ask this a long while ago but kept spacing it. I was wondering if you could add an "Eliminate" function to the Cheat Search feature for DeSmuMe, this would definitely help with eliminating values you won't need or have already used. I would also like to request the ability to mass select (Shift+Click) however many offsets/values I want so I can mass eliminate in case there is ever a moment where I need to do process of elimination to get to the offset/value I want or need. I made a little mock-up of the concept so you can get a general idea. Thanks in advance for taking a look at the request!

#13 Re: Support » full screen doubled up frozen graphics » 2019-01-18 06:29:30

zeromus wrote:

I like that you list being a big brother as one of your responsibilities. You can let all the other stuff slip, but not that one. Well, you can't let the babies burn the house down either. But besides that one, all of them.

It's a special responsibility I think, me being the oldest of them all, having to teach them things along the way, I don't always make the best calls with them, but that's part of learning I think, it also prepares me for when I become a father in the future, I can only hope I become the father my children want and need. The best part is when I get to mess with them lol, the worst part is having to watch them grow up from cute little siblings to teenagers, soon adults. When I say that I don't mean that as in the state of annoyance, I mean that in a sad way....I just had to teach my baby sister about the reproductive system because she's learning it in school....Things like this kinda hurt because they are growing up. I hold being a big brother 10x higher than everything else I listed, I won't stand to fail being a big brother, I make mistakes but that's part of life.

#14 Re: Support » full screen doubled up frozen graphics » 2019-01-18 05:53:19

zeromus wrote:

Thanks for believing in me, man. But don't hold your breath waiting for it.

Thanks for letting me know, was about to pass out from doing so lol. Anyways, good luck with whatever you got going on, hope things work out for the best.

#15 Re: Support » full screen doubled up frozen graphics » 2019-01-18 05:27:02

zeromus wrote:

When you grow up and take on increased responsibilities you'll discover there isn't time to do even a tenth of what you'd like to do

Oh believe me, I know a lot about increased responsibilities, let me put it to you this way, teaching is one of my major responsibilities, babysitting is another one of my responsibilities, being a big brother is another, lastly my research and the college I plan to go to so I can get into the medical field (I plan to be a doctor, what type though I haven't quite decided yet, still reading books and doing online research), I have to pay what I can with the little money I make, rarely being able to get the things I want with whatever I have left over. I went from having free time to not even having half the day to do anything, I spend most of my evenings trying to relax and do what I want while I still can (I take advantage of my night owl ability lol). Sure I can talk to people but that's just a perk of multitasking on the go (especially with one damn hand most of the time since I am usually holding or doing various tasks with the other). I personally have a lot of projects now myself, I have a lot I want to get done but can't attend to when I want, however when I have the free time I do what I can when I can, some days I take a break from it and move on to other things, this is partly why my cheat databases project takes a while to update. The idea isn't about rushing a fix out quickly, or getting it done overnight. I said what I said not to rush you, I am well aware that you have other responsibilities outside of the emulator, your delays with comments here make that evident as well. What I am saying is just work on it when you can, whenever you plan to get the fix out there is when it will come, take your time, work on it around your schedule. The point is you are looking into it and doing something about it rather than doing the usual developer action and just leaving it in to break something else. As long as you don't pull the Microsoft move and stack bugs on bugs, I think you can pull it off, it will just take a bit to really get it out there, which is fine because then we all know it's fine tuned and ready to go with less bugs. I have learned one thing over time though, that is to prioritize what's important to me first then make whatever else second, it makes things slightly easier and less stressful, set some goals up for yourself as well, goals help you keep going once you accomplish each one.

#16 Re: Support » full screen doubled up frozen graphics » 2019-01-18 03:46:24

zeromus wrote:

I fixed the screens to use all the space. Don't ask me to fix the window layout any more. It is a huge waste of my time. It's easily the most wrecked code I've seen in my entire life.

You mention that it’s the most “wrecked code in my entire life”. If that’s the case then why not improve it so it isn’t wrecked code? Would you really settle to have this “wrecked” code in your own software? As a developer, I always thought they offered the best they can, not partial or “half assed” as I like to call it, content in whatever they are making. For the sake of the software, it’s best you improve the feature and clean it up so it’s no longer a problem now or in the future, just because things seem to “work” doesn’t always mean it’s working the way it should work under the hood. There is something in common between people and code, that is both are flawed, however both can improve as well if you try hard enough. Like I said though, if you’d prefer to settle for the least for the outcome and not polish it, you are basically asking for potential future trouble from it. I should know from experience with projects I have done in the past, no they weren’t software related, but the concept of settling for least and half assing still provides the same outcome no matter what, you will run into trouble. I learned that lesson years ago, it honestly feels great when you do it right too, you may even learn something you probably didn’t know in the process to, that’s what makes it fun!

#17 Re: Support » Small Bug With Fast Forward » 2019-01-12 06:37:57

rogerman wrote:

There was a regression from commit git#abc0649 that could cause graphical glitches when running custom resolutions on multicore CPU systems. The bug involved frameskip, and fast forwarding with frameskip enabled made the bug very obvious.

From our Downloads page, try the nightly for git#f5d90a7 to see if that resolves your issue.

Tested the latest commit, works perfectly now. Thanks! Also thanks Zeromus for posting the issue, if you were involved in the fixes then thanks for that as well.

#18 Re: Support » full screen doubled up frozen graphics » 2019-01-11 17:51:26

zeromus wrote:

using a buggy display method causes that. choose a different display method.

view > maintain aspect ratio

I have the same issue as well on every single computer I have. Using DirectDraw HW and DirectDraw SW seem to make this happen, I set it to OpenGL which seems to work fine for it when fullscreening. I still recommend you look into this though because if this affects five computers that I have, then there is some type of issue, that's way too many coincidences of the same issue lol.

#19 Re: Support » Small Bug With Fast Forward » 2019-01-11 02:46:17

zeromus wrote:

seems to only be a problem when GPU scaling is selected.. and the game is dual screen 3d? ill put an issue on github.

"seems to only be a problem when GPU scaling is selected.."
Yep just did a quick test, works perfectly when the scale is set to default (1) but anything past that it has that effect.

"and the game is dual screen 3d?"
Nope though I am sure it would affect a full dual screen 3D game for sure. All of the games I mentioned above (Metroid Prime Hunters First Hunt, Metroid Prime Hunters, and Pokemon White Version) all have the 3D content and gameplay on the top display only while the UI, options, etc are on the bottom screen (which doesn't contain any type of 3D content). The reason Pokemon White Version had a black bottom screen is because I took that screenshot during the intro of the game when it was zooming in on the main town you start in (which is 3D). The black background is normal of course, like I said it's just the top screen that I know of that has this issue with the GPU scale, I don't know any DS games that utilize 3D for both screens, if I did I would definitely test and see if the bottom screen has the same issue with the GPU scaling (assuming it would though based on the effect presented on the top display).

#20 Re: Support » Small Bug With Fast Forward » 2019-01-11 00:05:48

To be honest, it seems to only happen when 3D objects or graphics in general are displayed.

#21 Support » Small Bug With Fast Forward » 2019-01-11 00:03:14

Replies: 5

Hello, I downloaded the most recent nightly build of DeSmuMe (1/9/2019) and encountered an issue when fast forwarding in games. I have tried three different games already and all three face the same issue. Everything seems to run and look fine when you load the game up and play, when fast forwarding however, you get stuck with this sitting on the top screen: (Games tested, Metroid Prime Hunters First Hunt, Metroid Prime Hunters, Pokemon White Version, images are in the following order of the games I mentioned)


None of the games crash either, when you stop fast forwarding the top screen returns to normal.

#22 Re: Support » Cheat not working for pokemon white » 2019-01-10 23:54:09

Alright, to start this off, you do not need the AP cheat for DeSmuMe, it's useless for it. Second off, I have tested the code you were wanting to use, it works as intended, I got 64x the amount of experience after the battle. This code is for Pokemon - White Version (USA, Europe).

Pokemon - White Version (USA, Europe) (NDSi Enhanced)

Experience Multiplier Codes:

521CB54C 59A8437E
023AE840 59A8437E
023AE844 51A80180
023AE848 00004770
021CB54C F978F1E3
D2000000 00000000

I am currently using the latest nightly build of DeSmuMe: (Scroll near the bottom)

#23 Re: Support » some internal cheats crash games on boot » 2019-01-06 09:06:12

zeromus wrote:

Any internal cheat can be trivially turned into an ARDS cheat by putting a 0 in front of it. So do that if you want an internal cheat with the behaviour of an ARDS cheat

That's not entirely true nor that simple, you see some codes are more complicated than slapping a 0, 1, or 2 in front of it. Some cases you have to create a pointer, in order to make one of those we have to test a specific address to make sure we are actually modifying the correct address before moving on and preparing to hunt for practically the same set of bytes just in another location depending on the actions we make in the game (example, going into a new course in Mario Kart DS). Other codes may require something more advanced for the case of changing ASM or applying custom ASM, the idea of the internal code function last I checked is to basically test what you need to test on the fly without having to manually create something that has a 50% chance of working as intended, that would make testing more of a pain the in butt. By you saying to go the route of slapping a number in front of it is like saying "we have this internal function here that nobody will be able to use, we will just dangle it in front of your face". Action Replay isn't super complicated to learn about, but it's not something you simply can just start doing without learning how each code format works first. There is WAY more to it than a simple 0, 1, or 2 in front of the code though. The same can be said about Codebreaker DS codes, those are actually slightly different from Action Replay in terms of formats.

Hopefully I understood your comment correctly. Yes you are correct though, you can add a 0,1, or 2 in front of it for basic codes.

#24 Re: Support » some internal cheats crash games on boot » 2019-01-06 08:09:24

zeromus wrote:

You tested an "internal cheat code" on an actual DS with the ARDS? That seems weird. Doesnt the ARDS use ARDS codes?

No what I meant was I took the code he posted, turned it into a physical code and tested it (I have an ARDS it definitely doesn't contain any debugging features). Like I said it worked as intended for its purpose. When I was talking about the internal code functions I was specifically talking about the one built into your emulator. That function has some kinks that could use some ironing out before it can be used to its full potential, especially in the case for ROM hackers as well.

#25 Re: Support » some internal cheats crash games on boot » 2019-01-06 07:36:43

zeromus wrote:

OK. The game is decompressing, and it is happening in 14 or more frames. But I asked to read more about the "after vblank" change to ARDS firmware. Otherwise I have to guess that it happens after the first vblank IRQ (on your word only and no other evidence) instead of some other time

I believe what he means is, anytime the game boots WITH internal cheats enabled, the game crashes depending on the code. What he is asking for is basically a small delay so the game actually has time to boot THEN have the internal codes activate as needed. I personally have tried using the internal code function but over time I simply ignored it and went the manual route with testing addresses by making physical codes. Though a functional internal cheat function would be handy for proper debugging purposes, people like me wouldn't have to go through the hassle of making a test cheat code for however many addresses that we want to test. I have personally tested the code he provided above, it's a widescreen code intended for emulators (like yours for instance), however I tested it on an actual DS with the ARDS and a physical copy of the game (for the sake of testing), it works as intended (talk about a squished game lol). Like I said though there probably just needs to be a set delay on boot so the code(s) don't instantly break the game before it even has a chance to boot up.

Board footer

Powered by FluxBB