Kodewerx
https://www.kodewerx.org/forum/

I need some assistance getting started.
https://www.kodewerx.org/forum/viewtopic.php?f=2&t=781
Page 1 of 1

Author:  Bipedal [ Sun Feb 18, 2007 10:17 pm ]
Post subject:  I need some assistance getting started.

I've obtained for myself the following:
NDS Lite (avec Flashme)
M3 Lite Perfect (1g microSD)
Passme

Playing homebrew and ROMs is great fun up to a point. But I kind of want more, you know? But sadly, I'm not a very hacking inclined individual (because up to this point, I've done zero real hacking).

Not to say that I'm technically challenged. I can figure the basics out by playing around for most stuff. (Stuff that's not hacking related obviously.)

What I'm asking is: could someone kindly point me to some sort of resource that would help me figure out how to hack NDS games with my current hardware setup? I'm not really interested in paying 200 bucks to persue something I may not even become proficient in.

I've looked around a bit already, but I can't find anything that I understand. I end up staring at pages of numbers or code that might as well be a foreign language to me.

Any response at all is appreciated.

Author:  ChArG3D [ Mon Feb 19, 2007 3:29 am ]
Post subject: 

http://forum.gbadev.org/index.php

And go to DS Misc at the bottom :D

Author:  Dualscreenman [ Mon Feb 19, 2007 5:04 am ]
Post subject: 

Ergh! No!
They don't take kindly to the hacking of the commercial roms there. It's a great homebrew community that I have been a part of for two years.

Sadly, you can't code hack with your current setup. ROM hacking is what you want to find out about.

Author:  Bipedal [ Mon Feb 19, 2007 10:47 am ]
Post subject: 

Hmm. What joys can ROM hacking bring me? I saw a post here about someone playing around with the menu texts and stuff of MPH, but am I limited to strictly offline, customization hacks?

Author:  kickenchicken57 [ Mon Feb 19, 2007 10:55 am ]
Post subject: 

well if you could find the asm that decreases health and change it to 'nop' then play your rom online you would have an infinite health hack. Of course if you played your rom against bots they would also not die...

Author:  Baphomet [ Mon Feb 19, 2007 11:00 am ]
Post subject: 

Does every CPU have a NOP instruction?

Author:  kickenchicken57 [ Mon Feb 19, 2007 11:35 am ]
Post subject: 

well, the nds doesn't have a "true" nop instruction there is an instruction that moves the contents of a register into itself which basically does nothing as it does not affect any of the flags. I cant remember what the instruction is now and I cant find the link to the site either....there is a site with an asm instruction reference for the ds that I used alot and I cant remember what it was.

Author:  Bipedal [ Mon Feb 19, 2007 12:53 pm ]
Post subject: 

That's the sort of shit I'm talking about. What software tools do I need to do this? I downloaded ndstool but I don't know jack about using it, or what anything in it means. I'm also lacking definitions for just about every term you used. asm? nop? a register? flags? All of it means nothing to me. Is there anywhere I could learn how to do something like this? Or something more basic that would lead up to this?

Author:  Yoster [ Mon Feb 19, 2007 3:13 pm ]
Post subject: 

I'd recommend DSLazy, It skips the whole command prompt manual ROM opening command. I don't know a link from the top of my head, but I'm sure someone here knows. If you need help on getting started with ROM hacking, PM me when you have the tools you need. But just so you know, there are not too many ROMs that have understandable files that you can identify normally without other tools.

Author:  Parasyte [ Mon Feb 19, 2007 3:35 pm ]
Post subject: 

Ugh! I'm going to tear my brain out and stomp on it because of all the misinformation in this thread!

1) There is a whole lot of nothing you can do with a pirate cart and a PassMe; these are not hacking tools.
2) 'mov r0, r0' (ARM) and 'mov r8, r8' (Thumb) are, in fact, "real" NOP instructions. They do exactly what a NOP instruction is supposed to do: waste a CPU cycle with no operation. The term 'nop' is considered a pseudo-instruction in the ARM assembly language dialect, but it is no less real than it is in an instruction set with a dedicated NOP instruction (such as 6502).
3) DSlazy is a damn GUI for ndstool. If a user has no real use for ndstool already (as in, not knowing what to use it for) then neither of these programs will help in any conceivable way.

Personally, I would suggest you start with small hacks on an older platform. Something that is a lot more simple to work with, that's far more documented by hackers, and actually has the right tools readily available. I might suggest NES or SNES to begin with, and any number of ROM hacking and/or PAR code hacking tutorials and documentation available on such subjects.

Don't bother with assembly hacking on those unless that's the route you wish to take; NES/SNES assembly hacking. While it might give you a tiny bit of insight into how assembly hacking is done, it will not help you understand ARM or NDS architecture at all, because these platforms have very few similarities in practice. But for general cheat code hacking, it's the perfect place to start.

Author:  Bipedal [ Mon Feb 19, 2007 4:10 pm ]
Post subject: 

I realize that a flash cart isn't a hacking tool. But it sounds like if I learned how to use it, ndstool would be. I'm not really interested in anything with an NES, mainly because the NES sucks. I'll give it a shot if it's going to help me end up at the DS more quickly than just learning straight up how to hack the DS, but from what you're saying it's not going to do that at all.

So assuming I'm not interested in general cheat code hacking, and specifically want to leran DD stuff, what can I do to educate myself?

Author:  Parasyte [ Mon Feb 19, 2007 5:38 pm ]
Post subject: 

NES sucks? NES revived video games in the early 1980's. Arguably, without it video games would not be what they are today.

Like I have been trying to say, there are not a whole lot of NDS hacking tools out there. ndstool is just a general "ROM handling" utility. It is not designed specifically for hacking. There are a few NDS emulators out there with certain features that can relate well with hacking, but the emulation compatibility may leave something to be desired. So you can either start there, with emulators, or you can invest in one of the hacking-specific tools: Action Replay Trainer Toolkit (~$50) or Kwurdi (free, but currently requires Xport @ $200) ...

Either way, you'll probably find yourself studying all of the nitty-gritty computer science stuff (number bases, bitwise logic, etc) before you really get into hacking beyond simple cheat codes.

Author:  kickenchicken57 [ Tue Feb 20, 2007 7:53 am ]
Post subject: 

simple answer, take a college course or two if you are serious about this stuff. If you plan on modifying a rom try an assembly course. It really helps to have a teacher there to help you out if you cannot learn something on your own. If you do not want to take a course I really suggest taking Parasyte's advice by starting with something easier. My suggestion is start with the GBA if you can because it is similar to the NDS and is very well documented. Here is some documentation on the GBA that is very thorough to get you started http://www.work.de/nocash/gbatek.htm


Parasyte wrote:
2) 'mov r0, r0' (ARM) and 'mov r8, r8' (Thumb) are, in fact, "real" NOP instructions. They do exactly what a NOP instruction is supposed to do: waste a CPU cycle with no operation.


The only reason I didn't consider it a 'true' nop was because of the fact that there are dedicated nop instructions as you mentioned and that the mov r0,r0 and mov r8,r8 are considered the 'standard' nop

Author:  Parasyte [ Tue Feb 20, 2007 8:20 am ]
Post subject: 

Oh, it's a "true" NOP, certainly. Any instruction that wastes a single cycle is a NOP. But if they actually have an operation (like setting the status flags for example; "movs r0, r0" in ARM, "mov r0, r0" in Thumb) then it's not a "true" NOP.

Author:  Baphomet [ Tue Feb 20, 2007 12:43 pm ]
Post subject: 

Assembly... I hope to god that ARM assembly is better than z80. Because I will not revisit trying to toil with making menus and good interfaces when its such a pain in the ass.

Author:  Parasyte [ Tue Feb 20, 2007 2:17 pm ]
Post subject: 

The Kwurdi debug core is written in 100% ARM assembly. It's a very easy and very powerful instruction set. For example, almost all instructions can be conditionally executed, and almost as many will only update the CPU status flags (Zero flag, carry flag, overflow flag, etc.) optionally. Really great features for optimization.

Example:
Code:
tst     r0, #1         @ Test bit-0 in r0 and update CPU flags
orrnes  r0, r0, r1     @ If bit-0 in r0 is set, OR it with r1 and update flags again
orreq   r0, r0, #1     @ Else set bit-0 and do not update flags

It looks a bit complicated. The ORR instruction (OR Register) is simple enough; bitwise OR the contents of a register/immediate value. The NE and EQ conditions cause the instruction to only execute if the Z flag is set or cleared, respectively. The S switch causes the instruction to update the flags after the operation. (The TST instruction always updates flags; it is not optional.) If a condition is left off, it is assumed to be AL (always). Thus, ORR and ORRAL assemble to the same instruction.

And then, you have things like shift operands, which are also great for optimizations.

You can get more information here: http://en.wikipedia.org/wiki/ARM_architecture

Author:  kickenchicken57 [ Tue Feb 20, 2007 6:48 pm ]
Post subject: 

Baphomet wrote:
Assembly... I hope to god that ARM assembly is better than z80. Because I will not revisit trying to toil with making menus and good interfaces when its such a pain in the ass.


If you are referring to making TI-8x calculator programs then I know what you mean. I hated it as well.

Author:  Bipedal [ Tue Feb 20, 2007 7:16 pm ]
Post subject: 

I'll check it out. Thanks for the help.

Author:  Parasyte [ Tue Feb 20, 2007 10:15 pm ]
Post subject: 

My only leap into z80 was with GameBoy and GameBoy Color. Very unlikable, considering the z80 instruction set was originally based on x86; the worst CPU architecture on the face of the planet, in my opinion.

I did a strange timer hack for Super Mario Land using tniASM.

Author:  Baphomet [ Wed Feb 21, 2007 11:32 am ]
Post subject: 

Good. If z80 is hard then other asm will be much easier.
@kickenchicken: Yes, some TI calcs used the z80. I programmed in asm for the TI calcs for quite a few years. It was toiling. It still liked it, however.

Page 1 of 1 All times are UTC - 8 hours [ DST ]
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/