You are not logged in.
Pages: 1
i assume this is cause the internal cheats are added before the game can decompress. a bug like this for action replay was fixed by making cheats work after a vblank happens. can this also be done for internal cheats?
Heres a code that crashes super mario 64 ds 1.0 U
200CFA0 00007281
Offline
I doubt the game is decompressing, and if it is, that it happens in 1 frame. It's initialization should take longer than that. Some cheats which depend on normal functioning of the game may malfunction when the game is in its unusual booting-up mode. Do you mean ARDS updated its firmware to wait one vsync before applying the code? I would suspect it's more likely that it waits for the first vsync IRQ, which wont happen until the game asks for it, which it won't do until it's booted up. Can I read more about this change somewhere?
Online
action replay codes boot fine on hardware and on desmume. you were talking about that change on this topic.
https://forums.desmume.org/viewtopic.php?id=10653
Offline
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
Online
alright well im not sure if i fully understand what your talking about but ards firmware has nothing to do with this issue. no ards didnt update their firmware. what i was saying is make internal cheat initiate similar to how AR codes initiate on desmume to avoid hanging on boot. it only does it with certain codes ive used with internal cheat so i know its the same issue as AR codes had before it was fixed.
another issue unrelated to this i noticed with the ram search (and possibly the ram watch window) is minimized there no way to bring it back up (no program window down on the windows task bar). even when clicking the ram search in the tool tabs does nothing once minimized. i have to restart the emulator to get it to come back up.
Offline
I am not changing how internal cheats work. One expects the AR codes in desmume to work like AR codes in reality. One expects nothing in particular of the internal codes, other than what's obvious: they work as long as theyre there and enabled. Internal codes are more of a debugging tool. I won't add logic which makes their behaviour more complicated. You should use lua if you want something more complex. I would rather make a all new cheat code protocol before I add a mysterious timing hack to internal cheats. Is there some reason you can't make an AR code for this? Could you use an extension to AR code format? Maybe something that says "IF FRAME > N"?
I just minimized ram search and got a tiny window on my desktop over everything else (even this firefox browser I'm typing in right now) and was able to resume it with that.
Online
the only reason im using internal codes is thats the only way to check an address via add as cheat since there's no value edit option (poke memory) in the ram search, ram watch, disassembler, or memory viewer. i wouldn't be using internal cheats for much of anything if i was able to poke a value on the fly. if you want to rewrite the code go for it all im asking for it a checksum or delay to allow the game to boot before any modified code is added via internal cheats.
and ok i'll check on a different computer for that issue.
Last edited by fintogive (2019-01-06 06:54:06)
Offline
alright checked it on my other computer also running windows 10 pro. figured out whats going on. on my 4k screen i have the scale set to 200% in windows so the icons and text isnt so small.
on my other computer its set to 100% so when minimized it goes to one corner as its suppose to do. because my 4k is set to 200% the minimized window goes beyond my screen where i cant click it to bring it back up. so to fix this can it be set to when ram search is clicked will bring it out of its minimized state? or group the ram search window with all the other desmume windows that get opened when desmume runs instead of being on its own.
Last edited by fintogive (2019-01-06 07:02:06)
Offline
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.
Offline
You tested an "internal cheat code" on an actual DS with the ARDS? That seems weird. Doesnt the ARDS use ARDS codes?
Online
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.
Offline
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 an ARDS cheat with the same behaviour of an internal cheat, except for small details in the timing where from your point of view the ARDS code has _superior_ timing.
Last edited by zeromus (2019-01-06 21:44:04)
Online
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.
Last edited by DeadSkullzJr (2019-01-06 09:24:58)
Offline
You literally read my comment and jumped to boringly lecturing me on the power of ARDS codes as if I hadn't made dozens of commits working on their power, without considering the whole context of the thread. But I miswrote it; now it's corrected
Online
no, the issue wont be fixed with internal cheats. add 0 to the front and make it a ARDS code.
I clicked the ram search and brought it out of its minimized state. Even checked it with 0.9.11 in windows 10. So I dont know what youre talking about.
Online
figures... fine... heres a video on two different computers with the ram search issue. it doesnt work.
https://www.youtube.com/watch?v=MbE2BNMribY
Offline
That was a video of it working on one computer and not on another. Does ram watch have the same problem? Please check other tools that can be minimized. I want to know if there's something wrong with how ram search is setup, or if it's just a general defect in some windows installs. I have an idea that it could be resurrected by clicking the menu item again, as a general fix for it, which would not be too hard to implement. But I would rather find out theres something broken solely with the ram search.
Online
just checked it. yes the same thing happens with ram watch. and yes that video was on two different computers both freshly downloaded with new ini files. and one of the computers freshly installed windows 10 pro with latest drivers and all updates
Last edited by fintogive (2019-01-07 22:48:39)
Offline
probably. please reply to this so this thread stays lit up for me and i remember to do it. or put an issue on github
Online
Online
Pages: 1