Beginner's Guide to Cavestory Assembly

Jun 29, 2010 at 2:59 AM
Been here way too long...
"Ha! Ha! Ha! Mega Man is no match for my Mimiga Man!"
Join Date: Mar 20, 2010
Location:
Posts: 252
Re: Beginner's Guide to Cavestory Assembly

Appreciation is never too late.

(sorry if this is late :p)
 
Jul 1, 2010 at 9:24 AM
Pirate Member
"Heavy swords for sale. Suitable for most RPG Protagonists. Apply now!"
Join Date: Dec 26, 2007
Location: Lithuania
Posts: 1946
Re: Beginner's Guide to Cavestory Assembly

I love it how simple you made it look :)
 
Jul 15, 2010 at 6:55 PM
Not anymore
"Run, rabbit run. Dig that hole, forget the sun."
Join Date: Jan 28, 2010
Location: Internet
Posts: 1369
Age: 34
Re: Beginner's Guide to Cavestory Assembly

The guide has been updated to version 1.04.
Lots of new lessons in this one:

Version 1.04
-Added Contents desk
-Added "Improving ASM Skills" page
-Calculated the exact maximum distance of a JMP SHORT
-Binary Lesson
-Logical operators lesson (AND, OR, XOR, NOT)
-Reference tables
-Assembly FAQ Page
-2 TSC Hacking Lessons
-Framerects lesson
-ASM Flags lesson
-Advanced Stack Usage
-Clarified use of SAR and SHR
-Using local variables/arguments of a function
-Some other stuff that I probably don't remember

I've finally covered most of the Assembly stuff I originally wanted to cover, including the logical instructions, which I've been neglecting for some time now.
 
Jul 16, 2010 at 1:37 AM
Been here way too long...
"Ha! Ha! Ha! Mega Man is no match for my Mimiga Man!"
Join Date: Mar 20, 2010
Location:
Posts: 252
Re: Beginner's Guide to Cavestory Assembly

Hooray!!!!
Thanks for the logical operators lesson (always had trouble with that).:D
 
Jul 16, 2010 at 1:21 PM
graters gonna grate
"Heavy swords for sale. Suitable for most RPG Protagonists. Apply now!"
Join Date: Jul 2, 2008
Location: &
Posts: 1886
Age: 31
Re: Beginner's Guide to Cavestory Assembly

Aw geeze, somehow I completely missed the existence of this thread earlier. Sounds like a great idea! Downloading now...
 
Jul 23, 2010 at 11:18 PM
Senior Member
"Huzzah!"
Join Date: Jun 28, 2010
Location: Scotland
Posts: 205
Age: 34
Re: Beginner's Guide to Cavestory Assembly

This is provign very useful indeed for me! I'm making virtual cuecards of your descriptions, problems and solutions and i'm learning alot. Pretty soon i'll be confident enoguh to write some code :3
 
Sep 14, 2010 at 12:56 AM
I don't anymore.
"I'm sorry Mario, but your princess is in another castle."
Join Date: Aug 9, 2010
Location: Greener Pastures
Posts: 1190
Age: 30
Re: Beginner's Guide to Cavestory Assembly

I am glad to be learning this, I don't know if you've included enough info on how to make things like original boss fights, but I should know this stuff any way.
Thank you.
 
Sep 14, 2010 at 3:55 AM
Not anymore
"Run, rabbit run. Dig that hole, forget the sun."
Join Date: Jan 28, 2010
Location: Internet
Posts: 1369
Age: 34
HyMyNameIsMatt said:
I am glad to be learning this, I don't know if you've included enough info on how to make things like original boss fights, but I should know this stuff any way.
Thank you.

There are a couple of bare-bones lessons on NPC hacking, so you should have enough there to set up a custom NPC (and just use a <BSL on that entity).

If you really want to get into NPC/Boss design, I suggest looking at other people's custom entity code (which they've made public) or analyze Pixel's original NPC codes.
 
Sep 14, 2010 at 4:29 AM
I don't anymore.
"I'm sorry Mario, but your princess is in another castle."
Join Date: Aug 9, 2010
Location: Greener Pastures
Posts: 1190
Age: 30
carrotlord said:
There are a couple of bare-bones lessons on NPC hacking, so you should have enough there to set up a custom NPC (and just use a <BSL on that entity).

If you really want to get into NPC/Boss design, I suggest looking at other people's custom entity code (which they've made public) or analyze Pixel's original NPC codes.

I know what you mean. I can't tell you how many things that I've made that were simply because I studied code that was there already. But MAN is this confusing, it makes sense, but it is a lot to retain. I think that there will be times where, instead of memoriszing, I would simply just refer to it.

Why are none of these helpful guides just text or word documents? "my computer spends quite a lot of time away from the internet.
 
Sep 14, 2010 at 4:33 AM
In my body, in my head
Forum Moderator
"Life begins and ends with Nu."
Join Date: Aug 28, 2009
Location: The Purple Zone
Posts: 5998
Pretty much everything I"ve made is a text document, but then, pretty much everything I've made isn't really helpful to somebody just beginning. You might be interested in this bit of commented handwritten code though.
http://tile44.org/~noxid/Mech ASM.txt
 
Sep 14, 2010 at 5:56 AM
Not anymore
"Run, rabbit run. Dig that hole, forget the sun."
Join Date: Jan 28, 2010
Location: Internet
Posts: 1369
Age: 34
Re: Beginner's Guide to Cavestory Assembly

HyMyNameIsMatt said:
Why are none of these helpful guides just text or word documents? "my computer spends quite a lot of time away from the internet.

You don't need the Internet to access .html files that are stored onto your computer. Your browser can still look at them.

I can turn them into word .doc's if you want 'em. The reason they aren't pure text guides is because I rely heavily on diagrams. (that is, I prefer looking at a picture instead of reading a boring paragraph that explains some code)
 
Dec 23, 2010 at 2:53 AM
Not anymore
"Run, rabbit run. Dig that hole, forget the sun."
Join Date: Jan 28, 2010
Location: Internet
Posts: 1369
Age: 34
Re: Beginner's Guide to Cavestory Assembly

Oh man, I'm sure some of you have noticed a serious issue with version 1.04 of this guide.

Most of the old links were broken! I've fixed up all the guide links that pointed to Miraigamer.net and changed them to cavestory.org. The links for Art of Assembly have been fixed too.

Sorry for the inconvenience. If you're using the old versions, please get version 1.04b:

CS ASM Guide v1.04b (fixes broken links and one mathematical error in the old guide)
 
Jun 22, 2011 at 2:27 AM
LSD
"..."
Join Date: Jun 2, 2011
Location:
Posts: 397
Age: 25
Re: Beginner's Guide to Cavestory Assembly

Uh, Carrotlord, how big is the 1.04 download? The space left on my computer is kinda small.
 
Jun 22, 2011 at 5:21 AM
Not anymore
"Run, rabbit run. Dig that hole, forget the sun."
Join Date: Jan 28, 2010
Location: Internet
Posts: 1369
Age: 34
Re: Beginner's Guide to Cavestory Assembly

Pigaro said:
Uh, Carrotlord, how big is the 1.04 download? The space left on my computer is kinda small.

Guide version 1.04b is 1.34 megabytes, which is smaller than a zipped version of Cave Story.

Are you sure you have no space left? Have you tried erasing your Internet history? If you don't clean it at all, it can reach upwards of 1 GB.
 
Jun 22, 2011 at 3:20 PM
LSD
"..."
Join Date: Jun 2, 2011
Location:
Posts: 397
Age: 25
Re: Beginner's Guide to Cavestory Assembly

Carrotlord said:
Guide version 1.04b is 1.34 megabytes, which is smaller than a zipped version of Cave Story.

Are you sure you have no space left? Have you tried erasing your Internet history? If you don't clean it at all, it can reach upwards of 1 GB.

I can try that. When I first found these forums, I didn't use an account, and I've played many of the mods here. I'll try it. Thanks.
 
Jun 22, 2011 at 4:06 PM
Been here way too long...
"Life begins and ends with Nu."
Join Date: Jan 4, 2008
Location: Lingerie, but also, like, fancy curtains
Posts: 3054
Re: Beginner's Guide to Cavestory Assembly

Out of curiosity, how much free space does your computer have!?
 
Jun 22, 2011 at 5:10 PM
LSD
"..."
Join Date: Jun 2, 2011
Location:
Posts: 397
Age: 25
Re: Beginner's Guide to Cavestory Assembly

Lace said:
Out of curiosity, how much free space does your computer have!?

Now, a bunch.
I had some big things in the Recycle Bin. (Three)

Sorry for the fail on my part:p
edit:
I keep having this glitch with Ollydbg. Everytime I Copy-To-Executible, I have to close it after saving or else it crashes. How can I fix this?

edit2:
How can I tell what thing starts at what address? And if I go to a random one, how can I tell what thing I'm editing the code for?
 
Jul 16, 2011 at 3:55 PM
Banned
"Wacka-Wacka-Wacka-Wacka-Wacka-Wacka-Wacka-Wacka-BLEIUP"
Join Date: Aug 19, 2010
Location: South of Nowhere
Posts: 304
Re: Beginner's Guide to Cavestory Assembly

ASM hurts my brain, but if I wanna get anywhere on my mod without bugging Noxid to hack in stuff for me, I guess I'm gonna have to go back through this and attempt to learn it. Most of what I want to do with my mod requires a moderate amount of ASM hacking :D
EDIT: Oh bloody hell, I don't have any coding experience AT ALL. This is gonna drive me over the edge.
 
Jul 16, 2011 at 4:36 PM
Not anymore
"Run, rabbit run. Dig that hole, forget the sun."
Join Date: Jan 28, 2010
Location: Internet
Posts: 1369
Age: 34
Re: Beginner's Guide to Cavestory Assembly

bobbyis said:
ASM hurts my brain, but if I wanna get anywhere on my mod without bugging Noxid to hack in stuff for me, I guess I'm gonna have to go back through this and attempt to learn it. Most of what I want to do with my mod requires a moderate amount of ASM hacking :D
EDIT: Oh bloody hell, I don't have any coding experience AT ALL. This is gonna drive me over the edge.

In the guide, I said that prior programming experience would be helpful - but not required. In fact, when I started writing this guide, I had no real programming experience except for TSC and a very rudimentary form of BASIC.

Learning ASM helped me learn how to do programming, not the other way around.

If you don't understand TSC fully yet, then I suggest that you learn all you can about it first. TSC can be your stepping stone to ASM, and of course it's not possible to make a non-trivial mod without some scripting. Take a look at Chapter 4 and beyond of Noxid's Modding Guide for the TSC stuff.

Yes, ASM is hard to learn. But I think the hardest part is opening up OllyDbg for the first time and looking the code when you don't know what it means. It's like seeing a giant ocean when you don't know how to swim. However, once you understand the basics of swimming (err... hacking), it's not that bad - you see?

Look at what other people have to say.

GIRakaCHEEZER said:
[...] I kind of had to force myself at the beginning. I remember back in the day looking at it all and just thinking "oh god OH GOD what is that how can anyone understand that?", since it really looks ugly compared to higher level languages. But eventually it all became easy enough after making a couple of things and such (Like the portal gun, which was basically my first hack. If you go and look at the code, well it's just very sloppy).

It's kind of how I felt about japanese before, except that assembly was easier to learn since there's simply less to learn.

Basically what I'm saying is it seems like a mountain at first, but you learn to love it (kind of).

Lace said:
Assembly is not some tool for you to abuse, it is a way of life. Look at noxid, look at gir, at dooey, at rune. These people breathe assembly, they drink assembly, eat assembly, and snort assembly. They're all damned good hackers, and its not because they force themselves to trudge through assembly -- they look forward to it, they love it. You see, it's the process, not the result, that matters. If you're just using tsc and assembly to get to a finished mod, and for no other reason, you need to find a different hobby.

Yes I know, the guide I have written is far from perfect. Some things are not explained well. Some things are confusing more than necessary. Some things need to be rewritten, and I will do that eventually. But I wrote this guide because I could not find an assembly guide of comparable quality on these forums. In other words, I don't believe in the "I have to find a master hacker and become his apprentice" approach that was so common in past times. I think that sometimes, a guide is enough to begin learning, whether it's assembly or not.

Don't forget that you can ask people questions about ASM. The guide is not your only tool. We are not statues here.
 
Top