ThomasSpeedrunner Help Thread

Discussion in 'Discussion and Q&A Archive' started by ThomasThePencil, Jan 29, 2013.

Thread Status:
Not open for further replies.
  1. ThomasThePencil

    ThomasThePencil resident psycho Member

    Joined:
    Jan 29, 2013
    Messages:
    910
    Location:
    the united states. where else?
    "loc_14720" is a non-existent label in both the Hg disassembly and the Xenowhirl disassembly, so I don't get what you're trying to imply here. Sorry if I sound a bit out of left field waiting so long to say that, but I looked for that label in every ASM file and it is not there.
     
  2. StephenUK

    StephenUK Working on a Quackshot disassembly Member

    Joined:
    Aug 5, 2007
    Messages:
    1,026
    I meant loc_14270, just a typo on my part
     
  3. ThomasThePencil

    ThomasThePencil resident psycho Member

    Joined:
    Jan 29, 2013
    Messages:
    910
    Location:
    the united states. where else?
    I've been looking at that code for about a day now trying to figure out what I was supposed to do, and I am officially stumped. I've tried nearly everything, and it still doesn't load properly.

    Actually, you know what? I want to clear up something right here, right now (I'll make the text nice and big so you don't miss it):

    I am not good with ASM.

    I admit it. I'm really not good with ASM. In fact, I'm not really that good with anything except level layouts and MINOR tweaks.

     - The DEZ art thing was my only real accomplishment with art (and even then I didn't have it perfected)

     - I'm a noob when it comes to music editing (up until about a page and a half ago I hadn't really gone far into the industry)

     - My. Palettes. Fail. 'Nuff said.

     - I can only add new abilities if they're based off of an existing ability (for example, the Super Peel-Out, which is based off of the Spindash) or if they're simple to code (for example, the jumpdash for Sonic)

    I hope this post cleared things up for everyone.
     
    Last edited by a moderator: Mar 29, 2013
  4. StephenUK

    StephenUK Working on a Quackshot disassembly Member

    Joined:
    Aug 5, 2007
    Messages:
    1,026
    Well, allow me to tell you what the answer is then, in nice big letters to make it clear:

    Learn how to do the things you want instead of expecting everyone to do it for you!

    This site is dedicated for learning, encouraging people to create the hacks they want by a slow learning process, starting with the basics and progressing to the point where they can move onto advanced hacking and create whole new games. It's not a site for asking people to do al your work for you, which is pretty much all this topic seems to be dedicated to. I wasn't good at hacking when I first started, but the difference is I had the will and desire to learn how to do the things I wanted, instead of begging people to give me all the answers.

    If you can't do it, start smaller and try learning how ASM works so you may be able to understand the code and alter it as necessary. I have no problem with people giving you pointers as I did, or even giving you some help when you are truly stuck yet have demonstrated that you are a capable hacker and may just be struggling with a particular thing. As it stands, you've not shown us any sign of competence to any extent, and as such I am not going to tell you how to do it. There are plenty of resources here to teach you the principles of hacking, and plenty of people willing to help you learn these principles. Use the resources available and do some work for yourself.
     
  5. redhotsonic

    redhotsonic Also known as RHS Member

    Joined:
    Aug 10, 2007
    Messages:
    2,969
    Location:
    England
    He's right.  You need to start smaller.  What you can do is put your current hack in the fridge, and get a clean disassembly.  Then, follow every single guide for that game from Sonic Retro and put them all in.  Even if you don't want to do, just do it.  After following all them guides, you will then realise how a lot of stuff works, and where a lot of stuff is.  Then try some other simple stuff that may be related to the guides you just followed (small things).

    Then, in a month or two, go back to your current hack.  You'd be amazed on how much stuff you can suddenly do on your own.
     
  6. ThomasThePencil

    ThomasThePencil resident psycho Member

    Joined:
    Jan 29, 2013
    Messages:
    910
    Location:
    the united states. where else?
    The problem with that is the fact that doing it would set me back by a mile since I wouldn't have done any work on my original hack, plus I was planning to give the official release of said hack by the end of this year. I've followed just about every single guide on Sonic Retro for Sonic 2 and applied it to my hack, including the S3K Priority Manager guide (the objects manager and rings manager guides did not work well with my hack), and yet, for some strange reason, I can't seem to get a grip on how the game does complicated things. It's just way too confusing :(
     
  7. Mike B Berry

    Mike B Berry A grandiose return Member

    Joined:
    Jun 6, 2012
    Messages:
    377
    Location:
    New places, newer motivation
    Life is full of disappointments. Don't let them get to you. Sometimes it's easier to start over than keep progressing with a train wreck. You already have to many things that don't fit with it as is. Perhaps starting over will give you a lot more room for creativity. you can work with your palette schemes as well. I know I shouldn't have any reason to speak like this because I too, have asked for too much. In reality, we all have gone through this. 
     
  8. redhotsonic

    redhotsonic Also known as RHS Member

    Joined:
    Aug 10, 2007
    Messages:
    2,969
    Location:
    England
    Tough shit.  It won't set you back a mile because you're still keeping your hack, you're just not working on it.  You want to release your hack by the end of this year?  Go ahead, but I promise you, it won't be good.  My S2R hack, I started that many many years ago, and it still won't be ready until at least 2014.  If you want your hack to be good, it wont be ready for years.

    And before you say Sonic 1, 2 and 3 was done in a year or two, remember, they had a whole team of professionals working on it.
     
    Last edited by a moderator: Mar 30, 2013
  9. ThomasThePencil

    ThomasThePencil resident psycho Member

    Joined:
    Jan 29, 2013
    Messages:
    910
    Location:
    the united states. where else?
    You, sir, make a very good point. In fact, a majority of the classic Sonic games were each finished in about a year or so. But that was a team of professionals working with what, at the time, was a fresh, new idea. This is an age where one can not find as many ideas to work with, and as such has a limited amount of creativity to use.
     
  10. StephenUK

    StephenUK Working on a Quackshot disassembly Member

    Joined:
    Aug 5, 2007
    Messages:
    1,026
    Only got one word for that statement...

    Bullshit.
     
  11. Crash

    Crash Well-Known Member Member

    Joined:
    Jul 15, 2010
    Messages:
    302
    Location:
    Australia
    Hey, ThomasSpeedrunner, can you point me to a speedrun you've done? Or is it just the process of shitting out a hack that you're trying to speedrun
     
  12. ThomasThePencil

    ThomasThePencil resident psycho Member

    Joined:
    Jan 29, 2013
    Messages:
    910
    Location:
    the united states. where else?

    Only got one word for that statement...

    Bullshit.

    Tell me if I have misinterpreted in some way here, but I feel I should explain my statement with my own little moment of wisdom:

    Creativity is not infinite. Like the sun rests to prepare for the next day, so creativity must rest to prepare for the next generation of young minds. Thus, creativity cannot always be with us, even though most of us seem to not understand that. In fact, some even seem to take such a gift for granted, not unlike what we do with knowledge. Instead, we think it is always with us, which it is not. If one does not know this, then he or she will most likely be taken by surprise when their creativity must rest.

    Well, with that said, I've got a new problem. I decided to backpedal a couple weeks to when the Clone Driver loading thing had been fixed. Well, remember the Clone Driver issue a couple pages back? Well, that kind of problem has come up again, but I know aligning the code won't work since I had already done that once before and I had edited the spacing. Error list time again:


    > > >s2.clonedriver.asm(287): error: addressing mode not allowed on 68000
    > > > move.b byte_71CC4(pc,d0.w),d0
    > > >s2.clonedriver.asm(287): error: addressing mode not allowed here
    > > > move.b byte_71CC4(pc,d0.w),d0
    > > >s2.clonedriver.asm(298): error: addressing mode not allowed on 68000
    > > > move.b Tom_71CC4(pc,d0.w),d0
    > > >s2.clonedriver.asm(298): error: addressing mode not allowed here
    > > > move.b Tom_71CC4(pc,d0.w),d0
    > > >s2.clonedriver.asm(309): error: addressing mode not allowed on 68000
    > > > move.b Bongo_71CC4(pc,d0.w),d0
    > > >s2.clonedriver.asm(309): error: addressing mode not allowed here
    > > > move.b Bongo_71CC4(pc,d0.w),d0
    > > >s2.clonedriver.asm(740): error: addressing mode not allowed on 68000
    > > > jmp Sound_ExIndex(pc,d7.w)
    > > >s2.clonedriver.asm(740): error: addressing mode not allowed here
    > > > jmp Sound_ExIndex(pc,d7.w)
    > > >s2.clonedriver.asm(1062): error: addressing mode not allowed on 68000
    > > > movea.l dword_722EC(pc,d3.w),a5
    > > >s2.clonedriver.asm(1062): error: addressing mode not allowed here
    > > > movea.l dword_722EC(pc,d3.w),a5
    > > >s2.clonedriver.asm(1929): error: addressing mode not allowed on 68000
    > > > jmp loc_72A64(pc,d5.w)
    > > >s2.clonedriver.asm(1929): error: addressing mode not allowed here
    > > > jmp loc_72A64(pc,d5.w)
    > > >s2.clonedriver.asm(2199): error: addressing mode not allowed on 68000
    > > > move.b byte_72CAC(pc,d4.w),d4
    > > >s2.clonedriver.asm(2199): error: addressing mode not allowed here
    > > > move.b byte_72CAC(pc,d4.w),d4
    > > >s2.clonedriver.asm(2445): error: addressing mode not allowed on 68000
    > > > lea PCM_Table(pc,d1.w),a2
    > > >s2.clonedriver.asm(2445): error: addressing mode not allowed here
    > > > lea PCM_Table(pc,d1.w),a2



    (Although I am putting the idea of 3 acts per zone on hold for the time being (I simply could not figure out what was wrong), I do still have that in my list of plans.) Thanks to anyone who can assist me with this.
     
  13. StephenUK

    StephenUK Working on a Quackshot disassembly Member

    Joined:
    Aug 5, 2007
    Messages:
    1,026

    Only got one word for that statement...

    Bullshit.

    Tell me if I have misinterpreted in some way here, but I feel I should explain my statement with my own little moment of wisdom:

    Creativity is not infinite. Like the sun rests to prepare for the next day, so creativity must rest to prepare for the next generation of young minds. Thus, creativity cannot always be with us, even though most of us seem to not understand that. In fact, some even seem to take such a gift for granted, not unlike what we do with knowledge. Instead, we think it is always with us, which it is not. If one does not know this, then he or she will most likely be taken by surprise when their creativity must rest.

    If you think that every possible idea in the hacking scene has already been exhausted, then you're fucking deluded. There are a vast amount of ideas which can be implemented, not even limited to Sonic being the focus of the game. You only have to look at what MarkeyJester has done with his own homebrew game to see that the only limits are your imagination and the hardware limitations. If you are seriously out of ideas, I suggest you find some inspiration somewhere or consider taking up a new hobby.
     
  14. ThomasThePencil

    ThomasThePencil resident psycho Member

    Joined:
    Jan 29, 2013
    Messages:
    910
    Location:
    the united states. where else?
    ...Okay, I never said that. I was just saying that creativity isn't always there like everybody else in the world seems to think it is. I myself am using a very fresh idea for my hack, which I can't really explain right now because that wouldn't make any sense seeing as I haven't even given a proper release yet. The only imitations are, like you said, imagination and (of course) hardware limitations.
     
    Last edited by a moderator: Mar 30, 2013
  15. JoenickROS

    JoenickROS ROS (bug fixing in progress) Member

    Joined:
    Feb 5, 2012
    Messages:
    929
    Little hint Thomas to fix your issues read a recent closed topic, thats all im going to say.
     
    Last edited by a moderator: Mar 30, 2013
  16. ThomasThePencil

    ThomasThePencil resident psycho Member

    Joined:
    Jan 29, 2013
    Messages:
    910
    Location:
    the united states. where else?
    You're telling me that instead of this:


    move.b Tom_71CC4(pc,d0.w),d0


    I would have this:


    move.b Tom_71CC4,d0
    adda.b d0,d0


    I just want to make sure I'm correctly interpreting the post you were talking about.
     
  17. JoenickROS

    JoenickROS ROS (bug fixing in progress) Member

    Joined:
    Feb 5, 2012
    Messages:
    929
    Um I don't know did you try it?
     
  18. MainMemory

    MainMemory Well-Known Member Member

    Joined:
    Mar 29, 2011
    Messages:
    922
    No. The original code is taking the address Tom_71CC4, adding the value in d0 to it, then putting the byte at that address in d0. Your code is taking the address Tom_71CC4 as a byte, and moving it to d0.

    What you need to do is

    lea Tom_71CC4,a0 ; load address "Tom_71CC4" to a0

    move.b (a0,d0.w),d0 ; move byte at a0+d0.w to d0

    If a0 is being used by the code, you'll have to use another address register. There are 6 others to choose from (a7 is the stack pointer).
     
    Last edited by a moderator: Mar 30, 2013
  19. ThomasThePencil

    ThomasThePencil resident psycho Member

    Joined:
    Jan 29, 2013
    Messages:
    910
    Location:
    the united states. where else?
    Joenick, it fixes the issue, but what would I do with these?

    Code:
    > > >s2.clonedriver.asm(740): error: addressing mode not allowed on 68000
    > > > 	jmp	Sound_ExIndex(pc,d7.w)
    > > >s2.clonedriver.asm(740): error: addressing mode not allowed here
    > > > 	jmp	Sound_ExIndex(pc,d7.w)
    > > >s2.clonedriver.asm(1929): error: addressing mode not allowed on 68000
    > > > 	jmp	loc_72A64(pc,d5.w)
    > > >s2.clonedriver.asm(1929): error: addressing mode not allowed here
    > > > 	jmp	loc_72A64(pc,d5.w)
    
    
     
    Last edited by a moderator: Mar 30, 2013
  20. MainMemory

    MainMemory Well-Known Member Member

    Joined:
    Mar 29, 2011
    Messages:
    922
    It is LITERALLY the exact same thing as what I said before. All you have to do, is change the last line from move.b to jmp and remove the ",d0".

    In case that's not clear enough for you,

    lea LABEL,a0

    jmp (a0,dX.w)

    where LABEL is the label in the original instruction and dX is the data register.
     
    Last edited by a moderator: Mar 30, 2013
Thread Status:
Not open for further replies.