(Link to AcmlmWiki) Offline: thank ||bass
Register | Login
Views: 13,040,846
Main | Memberlist | Active users | Calendar | Chat | Online users
Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album
05-03-24 02:23 AM
0 users currently in SMW Hacking.
Acmlm's Board - I3 Archive - SMW Hacking - So You Wanna Learn ASM [ASM howto] New poll | |
Pages: 1 2 3 4Add to favorites | Next newer thread | Next older thread
User Post
Sukasa

Birdo
Not quite as active as before.
Xkeeper supporter
Xk > ||bass
I IP Banned myself! Twice!








Since: 11-17-05
From: Somewhere over there

Last post: 6284 days
Last view: 6283 days
Posted on 08-16-06 09:16 PM Link | Quote
slightly wrong.

7E:0300 is a RAM address, where SMW stores the tiles to be drawn before actually doing so in a fair-sized table.
Disruptive Idiot

Red Paragoomba


 





Since: 11-17-05
From: Syosset

Last post: 6410 days
Last view: 6283 days
Posted on 08-21-06 06:49 PM Link | Quote
Great tutorial, though I didn't use it to learn ASM. I still found it a good read though.

I was just wondering, will you be covering DMA any time soon? I haven't been able to make sense of it on my own and I haven't been able to track down a really nice documentation of it.
Sukasa

Birdo
Not quite as active as before.
Xkeeper supporter
Xk > ||bass
I IP Banned myself! Twice!








Since: 11-17-05
From: Somewhere over there

Last post: 6284 days
Last view: 6283 days
Posted on 08-22-06 04:21 AM Link | Quote
Maybe. Depends though, because I don't have a great grip on that myself... Onc eI do though, then yes.

And for a good DMA document, look up qwertie's SNES hardware doc, that covers them well.
Stifu









Since: 11-18-05
From: Your mom's bed

Last post: 6285 days
Last view: 6283 days
Posted on 08-22-06 04:41 AM Link | Quote
N00b question: does SMK use the exact same ASM kind (65816) as SMW ? Or is it slightly different ?
Sukasa

Birdo
Not quite as active as before.
Xkeeper supporter
Xk > ||bass
I IP Banned myself! Twice!








Since: 11-17-05
From: Somewhere over there

Last post: 6284 days
Last view: 6283 days
Posted on 08-22-06 04:44 AM Link | Quote
Yes.

Well, for the 65c816 side of the equation. I think the DSP-1 uses a different instruction set though. I would have absolutely no idea which set that is, or what documentation there is on it; check the ZSNES board, they should have some stuff on it there.
Disruptive Idiot

Red Paragoomba


 





Since: 11-17-05
From: Syosset

Last post: 6410 days
Last view: 6283 days
Posted on 08-22-06 01:49 PM Link | Quote
Thanks for the reference. Here's the document because google isn't any help and it took me a few minutes to find it. Somebody else might want to use it.
RDOG

Goomba








Since: 11-17-05
From: London, Ontario, Canada

Last post: 6312 days
Last view: 6307 days
Posted on 08-30-06 10:08 PM Link | Quote
Can someone give me a quick tutorial about using the BVC opcode?
Sukasa

Birdo
Not quite as active as before.
Xkeeper supporter
Xk > ||bass
I IP Banned myself! Twice!








Since: 11-17-05
From: Somewhere over there

Last post: 6284 days
Last view: 6283 days
Posted on 08-30-06 10:37 PM Link | Quote
BVC will branch if an operation such as ADC or SBC does not cross the division between $00 and $FF, or $0000 and $FFFF depending on bit widths.

For example, $D000 + $8000 will cause an overflow because they add up to a value over $FFFF, and thus there is an overflow and the value wraps around to $0000 before continuing on.

Liewise, $6000 + $1000 will NOT cause an overflow, as together they equal only $7000.
Glyphodon



 





Since: 11-18-05

Last post: 6324 days
Last view: 6304 days
Posted on 08-31-06 12:41 AM Link | Quote
This is a good article.

I wish Nintendo put two processors inside the SNES, one top-of-the-line processor for new stuff and one 6502 for backwards compatibility. And then they could interupt each other and all kinds of dual-processing hilarity would ensue. That would have been so great.
Sukasa

Birdo
Not quite as active as before.
Xkeeper supporter
Xk > ||bass
I IP Banned myself! Twice!








Since: 11-17-05
From: Somewhere over there

Last post: 6284 days
Last view: 6283 days
Posted on 08-31-06 03:07 AM Link | Quote
That woudl have been nice, but not knowing what they coudl have put in there, I am quite happy to use the 65c816 for all my needs.

But seriously, they should have used the SA-1 in place of the 65c816 (or 5A22, since that has all the features in use by the SNES 65c816...), because the instruction set was the same, but the clock speed was an ample 10Mhz.

That and the SA-1 is also apparently the reporting name for some russian Missile at NATO.
Goldensunboy

Snifit








Since: 12-30-05
From: Georgia

Last post: 6288 days
Last view: 6287 days
Posted on 09-03-06 05:17 PM Link | Quote
I was trying to do some things with sprite tool (I'm still at newbie at sprite hacking, bear with me), and I just can't figure out how to create another sprite.

Are there certain tables that should be written to? If so, which ones?

Also, is there a subroutine that does this automatically if I call it, and if so, what values should I store where? ($04-$09, or A/X/Y, or some table, perhaps)
Kailieann



 





Since: 11-18-05

Last post: 6283 days
Last view: 6283 days
Posted on 09-03-06 05:46 PM Link | Quote
Sprite-creating routine disassembly
Goldensunboy

Snifit








Since: 12-30-05
From: Georgia

Last post: 6288 days
Last view: 6287 days
Posted on 09-03-06 06:07 PM Link | Quote
Huh, why was that in ROM hacking? I guess that's why I didn't see it...

I'll try to do something with this once I get the chance, I have many higher-priority things to do now and this week. It seems like it could be interesting.
Sukasa

Birdo
Not quite as active as before.
Xkeeper supporter
Xk > ||bass
I IP Banned myself! Twice!








Since: 11-17-05
From: Somewhere over there

Last post: 6284 days
Last view: 6283 days
Posted on 09-03-06 06:39 PM Link | Quote
I must have been moved there by accident, because it IS an SMW hacking thread. BBGen,txt mentioned there is still hosted by me too, I never took it down.
Kailieann



 





Since: 11-18-05

Last post: 6283 days
Last view: 6283 days
Posted on 09-03-06 09:55 PM Link | Quote
It was originally in the Advanced SMW Hacking forum. Which was eventually converted into an Advanced general rom hacking forum. Which was later merged with the regular rom hacking forum.
Sparx

Waddle Doo








Since: 11-18-05
From: San Diego

Last post: 6295 days
Last view: 6283 days
Skype
Posted on 09-04-06 08:45 PM Link | Quote
Ok, I read the tutorial, and it's much easier to do it hex for me, as I couldn't get ANY compilers to work on my computer But anyways, I can make an average already made block easy, I can use most commands easily, but I can't figure how to get the CMP command right. Can somebody help?
Kailieann



 





Since: 11-18-05

Last post: 6283 days
Last view: 6283 days
Posted on 09-05-06 01:01 AM Link | Quote
Depends on what you're trying to do with it.
On its own, the CMP command doesn't do much. All it does is set some of the processor flags, which isn't going to produce noticable results on its own.

You can, however, use the newly set flags for branch statements.

For example, say your accumulator was 4, and you compared it to the number 3 using CMP #$03. This will set the Carry flag, which can then be used with BCC/BCS (Branch if Carry Clear/Set).

And, I do all my assembly by hand too.
Sparx

Waddle Doo








Since: 11-18-05
From: San Diego

Last post: 6295 days
Last view: 6283 days
Skype
Posted on 09-05-06 01:21 AM Link | Quote
I was putting CMP #$(whatever) and right after, BEQs and/or BNE's. I guess I get it, but I guess I worded wrong, although your information helps a little.


It's the branching. Where does it branch to/ how do I get it to branch some where? Like the labels in a compiler... but how do I "branch to a label" in hex?
Sukasa

Birdo
Not quite as active as before.
Xkeeper supporter
Xk > ||bass
I IP Banned myself! Twice!








Since: 11-17-05
From: Somewhere over there

Last post: 6284 days
Last view: 6283 days
Posted on 09-05-06 02:04 AM Link | Quote
Take the next byte RIGHT AFTER the Break command's data byte. $00 means the very next operation, as if the break didn't exist. add or subtract byte as nessesary until you get to you target opcode's beginning in the hex file, and use that as your datra byte. Note that this nuber ius signed, and $80 to $FF is considered negative.
Sparx

Waddle Doo








Since: 11-18-05
From: San Diego

Last post: 6295 days
Last view: 6283 days
Skype
Posted on 09-05-06 11:31 PM Link | Quote
So after BEQ with $00 next to it means the byte after $00? If that's the case, no wonder. I've been putting $0Y/ $0X (random numbers), thinking that it would branch to that offset number. And do you mean to put branch where break is?
Pages: 1 2 3 4Add to favorites | Next newer thread | Next older thread
Acmlm's Board - I3 Archive - SMW Hacking - So You Wanna Learn ASM [ASM howto] |


ABII

Acmlmboard 1.92.999, 9/17/2006
©2000-2006 Acmlm, Emuz, Blades, Xkeeper

Page rendered in 0.021 seconds; used 435.56 kB (max 569.33 kB)