News:

Don't forget to visit the main site! There's lots of helpful docs, patches, and more!

Main Menu

ASM Basics IRC Class - Logs in First Post!

Started by Scyzer, August 27, 2010, 11:37:06 AM

Previous topic - Next topic

Silver Skree

I might be using what I learn from these logs to work on an awesome hack idea for Secret of Mana that'll involve giving the Mana Beast fight a background. Boy, that sounds like fun, huh?

P.JBoy

I strongly recommend not to use Wordpad if you're on XP, its tab alignment is completely fucked (try and open any tab aligned document in it, it sucks).  If you're on Win7 it's fine as long as you remove the paragraph spacing and change the font
...

Silver Skree

Notepad++, fuck yeah. I highly recommend anyone that hasn't been using Notepad++ for this to give it a spin.

fuducker81

i have a problem. in lesson 1 task 1, i can't get the energy to change. it stays the same. the asm file is in the attachments.

Scyzer

The ASM file you posted is perfect, nothing wrong there. Make sure you've actually put the right blocks into SMILE in the room (BTS $03, Block type $02 - Fool X-Ray Air), and that you are touching them, and that you are applying ASM to the same rom you are testing with. Also make sure your energy isn't already maxed.

If still nothing works, get Geiger's and set a breakpoint for $94B300, then run through the blocks. If the game stops, you'll be able to run through the game by instructions and see why it's not working. If the game doesn't stop, then they're not the right block types.

There's nothing wrong with the ASM you made though, well done :D

JAM

Sadiztyk Fish
Just want to ask. Will there be new lessons? I can help, if needed

Scyzer

Yer I might write one up this week. I'll just do it offline for simplicities sake, then peoples can PM me or ask here for help.

Will probably get into indexing next.

Crashtour99

Yay, indexing confused the shit outa me when trying to figure out door animations.  *patiently waits for this new lesson*

Fe

#58
Ok, I just finished reading through lesson 2. I have completed task 1 successfully, but I'm having trouble with task 2. I did everything it said, but the asm just crashes the game.  :mad: The asm file is attatched. Help?

EDIT: Ignore the error near the top where it says "org $949B300". I just noticed and fixed that, but it still doesn't work.

Scyzer

#59
Lolz you've got the wrong hijack point set. Should be $94B300, not $949B300.

EDIT:
If it doesn't crash, then good =)
It won't work because when you've loaded the values near the bottom to INC/DEC, you haven't stored the new values back to the addresses.

Damn FazeWire :S

Fe

#60
Apparently no one notices my edits... I had just found that as soon as I made that post. Is there anything else wrong with it?  :neutral:

EDIT: Nevermind, problem resolved over IRC.

DSO

I haven't kept up with this, so I decided I'd start posting some stuff. Here's a convo between me and Xavier, which demonstrates some basic debugging (Use of breakpoints) as well as some random stuff that may or may not be already covered. Very basic level stuff, all the explanations are simple and don't go into detail so it wouldn't overwhelm people.

X-tradyte

It appears I need to Learn a bit of Assembly and all that stuff, where do i go for it? I don't think i can get on IRC.

Quietus

Anyone can get on IRC.  If you're using Firefox, you can just click the Mibbit link on the main page, or you can download a chat client of your liking, and look for a guide on how to set it up.

If you're interested in learning a little basic ASM, then look no further than this very thread. It does say 'logs in first post', you know?

X-tradyte

Yes, I see that, And I'm using GC, not Mozilla I clicked Mibbit, but led nowheres. I'll try it again.
Ok, I just want to learn a bit of ASM. Is there a way to make new beams and suits with ASM?

Fe

GC is fine, link's broken. Google "esper irc", it should come up. When it does, hit Chat Now in the upper right, and enter the channel name (#metconst, #jzd, #ASMhelp, etc.). And yes, you can make new beams/suits/whatever with ASM. I should warn you though, new beams can be a MAJOR pain in the ass, you'd best stay away unless you REALLY have to.

X-tradyte

Ok, I just wanted to know, cause I wanted to make new suit data so I can use samus, and all that and add Phazon for the last one. And have a Phazon Beam.

I'll see to IRC.

Scyzer

If you want to learn a 'bit' of ASM, then there's no way you'll be able to add new beams/suits. Not to brag or anything, but even I can't add completely new beams, I've only edited existing ones.
* Sadiztyk Fish poek Black_Falcon and JAM

EDIT:
Whoa shit awesome! /me is a forum command now!!

X-tradyte

Wow, it takes more then what you might think? didn't see that coming...

JAM

Quote from: DarkSamus on March 15, 2011, 05:00:38 PM
Ok, I just wanted to know, cause I wanted to make new suit data so I can use samus, and all that and add Phazon for the last one. And have a Phazon Beam.
From what I know, 2 brand new beams possibly can be added. But that'll require a lot of array expansions, and possibly ever using second banks for beam coding somehow and one more bank just for arrays. But it's a lot of work.

As for suits, I'll need to check free space in several banks. If it's enough, then new suit (or suits) can be added. Can't tell by sure for now

X-tradyte

Ok, JAM Thanks. Wouldn't all you need to do is find the Suit and Beam data in Hex and rework it and do a little ASM?

Quietus

Quote from: DarkSamus on March 16, 2011, 04:53:16 PMWouldn't all you need to do
I always love your optimism, Anthony!  If things were this easy, we'd have all done it a looong time ago. :^_^:

Silver Skree

ASM isn't pixie dust; it's a programming language. It requires work.

JAM

#73
I have a note for lesson 4.

Not every time ASL and LSR will cancel each other. There are an exceptions:

LDA #$0005
LSR   ;A=0002
ASL   ;A=0004
; In binary
; 0000 0000 0000 0101
; →
; 0000 0000 0000 0010
; ←
; 0000 0000 0000 0100

LDA #$8010
ASL   ;A=0020 [highest bit is shifted to the left and lost]
LSR   ;A=0010

; In binary
; 1000 0000 0001 0000
; ←
; 0000 0000 0010 0000
; →
; 0000 0000 0001 0000

Of course, this can be compensated by a few operations, but this is a different story =)

Scyzer

You're right about the first point, I should've put that in, but it didn't occur to me :P

As for the second point, that high bit is stored to carry, and LSR brings the carry back into the high bit. So as long as carry is remembered, it'll work. Of course, ASLing twice screws this up XD

Just small limitations of the 65816 processor anyway.