help porting knuckles to sonic 2

Discussion in 'Discussion and Q&A Archive' started by JoenickROS, Dec 2, 2012.

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

    DJaftershock TWO-DEE-ECKS-GOLD Member

    Joined:
    Nov 20, 2012
    Messages:
    96
    Location:
    The United Kingdom
    Looking good, really.
     
  2. JoenickROS

    JoenickROS ROS (bug fixing in progress) Member

    Joined:
    Feb 5, 2012
    Messages:
    929
    What about the Blt.w?
     
  3. SuperEgg

    SuperEgg I'm a guy that knows that you know that I know Member

    Joined:
    Oct 17, 2009
    Messages:
    Location:
    THE BEST GOD DAMN STATE OF TEXAS
    Change 

      blt.w JmpTo_KillCharacter

    to

    jmp KillCharacter
     
  4. DanielHall

    DanielHall Well-Known Member Member

    Joined:
    Jan 18, 2010
    Messages:
    860
    Location:
    North Wales
    That won't work. Jmp isn't a conditional branch and you'll end up jumping to KillCharacter anyway, even if the value is higher, which is something you don't want to do.

    Replace...

    blt.s KillCharacter ; Kill character (out of range)

    With...

    bge.s RoutineCont ; Continue the routine if higher
    jmp KillCharacter ; Jump to KillCharacter if lower (thus, fixing the branch problem).

    RoutineCont:

    *Rest of the subroutine*
     
    Last edited by a moderator: Dec 3, 2012
  5. JoenickROS

    JoenickROS ROS (bug fixing in progress) Member

    Joined:
    Feb 5, 2012
    Messages:
    929
    Thanks Dandaman955 ill have to try that when I have the time


    am I on the right track so far don't want to screw anything up?
     
  6. DJaftershock

    DJaftershock TWO-DEE-ECKS-GOLD Member

    Joined:
    Nov 20, 2012
    Messages:
    96
    Location:
    The United Kingdom
    If you've built it in it's current state, provide a link and I'll tell you if you've gone wrong.
     
  7. JoenickROS

    JoenickROS ROS (bug fixing in progress) Member

    Joined:
    Feb 5, 2012
    Messages:
    929
    ok nevermind it worked but now i have bsr.w problems still

    macro assembler 1.42 Beta [bld 55]


    (i386-unknown-win32)


    © 1992,2007 Alfred Arnold


    68RS08-Generator © 2006 Andreas Bolsch


    Mitsubishi M16C-Generator also © 1999 RMS


    XILINX KCPSM(Picoblaze)-Generator © 2003 Andreas Wassatsch


    TMS320C2x-Generator © 1994/96 Thomas Sailer


    TMS320C5x-Generator © 1995/96 Thomas Sailer

    assembling s2.asm


    PASS 1


    s2.macrosetup.asm(201)


    s2.sounddriver.asm(2807)


    > > >s2.asm(88088): error: jump distance too big


    > > >           bsr.w   ResumeMusic


    > > >s2.asm(88115): error: jump distance too big


    > > >           bsr.w   ResumeMusic


    > > >s2.asm(88135): error: jump distance too big


    > > >           bsr.w   ResumeMusic


    > > >s2.asm(88157): error: jump distance too big


    > > >           bsr.w   AnglePos


    > > >s2.asm(88282): error: jump distance too big


    > > >           bsr.w   CheckLeftCeilingDist


    > > >s2.asm(88291): error: jump distance too big


    > > >           bsr.w   CheckRightCeilingDist


    > > >s2.asm(88827): error: jump distance too big


    > > >           bsr.w   AnglePos


    > > >s2.asm(89058): error: jump distance too big


    > > >           bsr.w   CalcRoomInFront           ; Also known as Sonic_WalkSpee


    d in Sonic 1


    > > >s2.asm(89546): error: jump distance too big


    > > >           bsr.w   CalcRoomOverHead


    > > >s2.asm(89774): error: jump distance too big


    > > >           bsr.w   AnglePos


    > > >s2.asm(89855): error: jump distance too big


    > > >           bsr.w   AnglePos


    > > >s2.asm(90044): error: jump distance too big


    > > >           bsr.w   CheckLeftWallDist


    > > >s2.asm(90052): error: jump distance too big


    > > >           bsr.w   CheckRightWallDist


    > > >s2.asm(90073): error: jump distance too big


    > > >           bsr.w   CheckLeftWallDist


    > > >s2.asm(90081): error: jump distance too big


    > > >           bsr.w   CheckCeilingDist


    > > >s2.asm(90097): error: jump distance too big


    > > >           bsr.w   CheckRightWallDist


    > > >s2.asm(90124): error: jump distance too big


    > > >           bsr.w   CheckLeftWallDist


    > > >s2.asm(90132): error: jump distance too big


    > > >           bsr.w   CheckRightWallDist


    > > >s2.asm(90140): error: jump distance too big


    > > >           bsr.w   CheckCeilingDist


    > > >s2.asm(90151): error: jump distance too big


    > > >           bsr.w   CheckRightWallDist


    > > >s2.asm(90159): error: jump distance too big


    > > >           bsr.w   CheckCeilingDist


    > > >s2.asm(90209): error: jump distance too big


    > > >           bsr.w   CheckLeftWallDist


    > > >s2.asm(90216): error: jump distance too big


    > > >           bsr.w   CheckRightWallDist


    > > >s2.asm(90273): error: jump distance too big


    > > >           bsr.w   CheckLeftWallDist


    > > >s2.asm(90283): error: jump distance too big


    > > >           bsr.w   CheckCeilingDist


    > > >s2.asm(90312): error: jump distance too big


    > > >           bsr.w   CheckLeftWallDist


    > > >s2.asm(90319): error: jump distance too big


    > > >           bsr.w   CheckRightWallDist


    > > >s2.asm(90326): error: jump distance too big


    > > >           bsr.w   CheckCeilingDist


    > > >s2.asm(90351): error: jump distance too big


    > > >           bsr.w   CheckRightWallDist


    > > >s2.asm(90361): error: jump distance too big


    > > >           bsr.w   CheckCeilingDist


    > > >s2.asm(90505): error: symbol double defined


    > > > JMPTO_KILLCHARACTER


    > > > JmpTo_KillCharacter:                                ; ...


    > > >s2.asm(90535): error: jump distance too big


    > > >           bsr.w   CheckGameOver


    > > >s2.asm(90547): error: symbol double defined


    > > > CHECKGAMEOVER


    > > > CheckGameOver:                                      ; ...


    s2.asm(91106)

    0.62 seconds assembly time

      94114 lines source file


     123270 lines incl. macro expansions


          1 pass


         33 errors


          0 warnings


    Press any key to continue . . .
     
    Last edited by a moderator: Dec 3, 2012
  8. DanielHall

    DanielHall Well-Known Member Member

    Joined:
    Jan 18, 2010
    Messages:
    860
    Location:
    North Wales
    Firstly, fix all those branch errors. Replace all the bsr.w errors with jsr. Ignore the blt and post what's left, for readability's sake. Cheers.
     
  9. JoenickROS

    JoenickROS ROS (bug fixing in progress) Member

    Joined:
    Feb 5, 2012
    Messages:
    929
    alright thanks for the help dude and yeah thats way too much to read
     
  10. SuperEgg

    SuperEgg I'm a guy that knows that you know that I know Member

    Joined:
    Oct 17, 2009
    Messages:
    Location:
    THE BEST GOD DAMN STATE OF TEXAS

    ok nevermind it worked but now i have bsr.w problems still

    macro assembler 1.42 Beta [bld 55]


    (i386-unknown-win32)


    © 1992,2007 Alfred Arnold


    68RS08-Generator © 2006 Andreas Bolsch


    Mitsubishi M16C-Generator also © 1999 RMS


    XILINX KCPSM(Picoblaze)-Generator © 2003 Andreas Wassatsch


    TMS320C2x-Generator © 1994/96 Thomas Sailer


    TMS320C5x-Generator © 1995/96 Thomas Sailer

    assembling s2.asm


    PASS 1


    s2.macrosetup.asm(201)


    s2.sounddriver.asm(2807)


    > > >s2.asm(88088): error: jump distance too big


    > > >           bsr.w   ResumeMusic


    > > >s2.asm(88115): error: jump distance too big


    > > >           bsr.w   ResumeMusic


    > > >s2.asm(88135): error: jump distance too big


    > > >           bsr.w   ResumeMusic


    > > >s2.asm(88157): error: jump distance too big


    > > >           bsr.w   AnglePos


    > > >s2.asm(88282): error: jump distance too big


    > > >           bsr.w   CheckLeftCeilingDist


    > > >s2.asm(88291): error: jump distance too big


    > > >           bsr.w   CheckRightCeilingDist


    > > >s2.asm(88827): error: jump distance too big


    > > >           bsr.w   AnglePos


    > > >s2.asm(89058): error: jump distance too big


    > > >           bsr.w   CalcRoomInFront           ; Also known as Sonic_WalkSpee


    d in Sonic 1


    > > >s2.asm(89546): error: jump distance too big


    > > >           bsr.w   CalcRoomOverHead


    > > >s2.asm(89774): error: jump distance too big


    > > >           bsr.w   AnglePos


    > > >s2.asm(89855): error: jump distance too big


    > > >           bsr.w   AnglePos


    > > >s2.asm(90044): error: jump distance too big


    > > >           bsr.w   CheckLeftWallDist


    > > >s2.asm(90052): error: jump distance too big


    > > >           bsr.w   CheckRightWallDist


    > > >s2.asm(90073): error: jump distance too big


    > > >           bsr.w   CheckLeftWallDist


    > > >s2.asm(90081): error: jump distance too big


    > > >           bsr.w   CheckCeilingDist


    > > >s2.asm(90097): error: jump distance too big


    > > >           bsr.w   CheckRightWallDist


    > > >s2.asm(90124): error: jump distance too big


    > > >           bsr.w   CheckLeftWallDist


    > > >s2.asm(90132): error: jump distance too big


    > > >           bsr.w   CheckRightWallDist


    > > >s2.asm(90140): error: jump distance too big


    > > >           bsr.w   CheckCeilingDist


    > > >s2.asm(90151): error: jump distance too big


    > > >           bsr.w   CheckRightWallDist


    > > >s2.asm(90159): error: jump distance too big


    > > >           bsr.w   CheckCeilingDist


    > > >s2.asm(90209): error: jump distance too big


    > > >           bsr.w   CheckLeftWallDist


    > > >s2.asm(90216): error: jump distance too big


    > > >           bsr.w   CheckRightWallDist


    > > >s2.asm(90273): error: jump distance too big


    > > >           bsr.w   CheckLeftWallDist


    > > >s2.asm(90283): error: jump distance too big


    > > >           bsr.w   CheckCeilingDist


    > > >s2.asm(90312): error: jump distance too big


    > > >           bsr.w   CheckLeftWallDist


    > > >s2.asm(90319): error: jump distance too big


    > > >           bsr.w   CheckRightWallDist


    > > >s2.asm(90326): error: jump distance too big


    > > >           bsr.w   CheckCeilingDist


    > > >s2.asm(90351): error: jump distance too big


    > > >           bsr.w   CheckRightWallDist


    > > >s2.asm(90361): error: jump distance too big


    > > >           bsr.w   CheckCeilingDist


    > > >s2.asm(90505): error: symbol double defined


    > > > JMPTO_KILLCHARACTER


    > > > JmpTo_KillCharacter:                                ; ...


    > > >s2.asm(90535): error: jump distance too big


    > > >           bsr.w   CheckGameOver


    > > >s2.asm(90547): error: symbol double defined


    > > > CHECKGAMEOVER


    > > > CheckGameOver:                                      ; ...


    s2.asm(91106)

    0.62 seconds assembly time

      94114 lines source file


     123270 lines incl. macro expansions


          1 pass


         33 errors


          0 warnings


    Press any key to continue . . .

    Holy Fucking shit. I told you not 3 posts back to replace that bsr.w nonsense with jsr. That right there would solve 99% of your issues.
     
  11. JoenickROS

    JoenickROS ROS (bug fixing in progress) Member

    Joined:
    Feb 5, 2012
    Messages:
    929
    ok all the problems are fixed and it built but when i chose knuckles the zone starts and of course there are no sprites for Knuckles and his glide doesnt hurt enimies and when he dies he doesnt respawn and in level select as knuckles when you chose a level in the level he doesnt have his glide ability

    I Bincluded Knuckles sprites from sonic 3K but when chosing knuckles his sprites dont show up am i even aloud to do that or do i have to make his sprites myself? 
     
    Last edited by a moderator: Dec 4, 2012
  12. JoenickROS

    JoenickROS ROS (bug fixing in progress) Member

    Joined:
    Feb 5, 2012
    Messages:
    929


    yep there it is i got mediafire so i could upload and put the URL on here

    Never asked what you guys thought but i know how alot of you hate playing hacks made on Esreal Sonic Editor 2 and you probably thought it was unplayable
     
  13. Alriightyman

    Alriightyman I'm back! Member

    Joined:
    Oct 3, 2007
    Messages:
    156
    Location:
    USA
    Knuckles is NOT showing up?  Are you using his mappings from Knuckles in Sonic 2 or from Sonic 3K?
     
  14. SuperEgg

    SuperEgg I'm a guy that knows that you know that I know Member

    Joined:
    Oct 17, 2009
    Messages:
    Location:
    THE BEST GOD DAMN STATE OF TEXAS
    Ok. One, whatever you are doing, please stop. This hack is horrible.

    Look, I understand you are beginning at hacking, fine. But, how the hell do I access Knuckles? Where is he supposed to be? Does he load with Sonic and Tails? I'm guessing not, seeing as how his art isn't even loading. You might want to actually make Knuckles load. Here...


    InitPlayers:
    move.w (Player_mode).w,d0
    bne.s InitPlayers_Alone ; branch if this isn't a Sonic and Tails game

    move.b #1,(MainCharacter).w ; load Obj01 Sonic object at $FFFFB000
    move.b #8,(Sonic_Dust).w ; load Obj08 Sonic's spindash dust/splash object at $FFFFD100

    Replace it with this


    InitPlayers:
    move.w (Player_mode).w,d0
    bne.s InitPlayers_Alone ; branch if this isn't a Sonic and Tails game

    move.b #(Whatever object number Knux is.),(MainCharacter).w ; load Obj01 Sonic object at $FFFFB000
    move.b #8,(Sonic_Dust).w ; load Obj08 Sonic's spindash dust/splash object at $FFFFD100

    That way Knux will load when you start the game. 

    Now, word of advice, fix your level layout. It is painful, and it cheap as hell, and not difficult, just dickish. You have chunks that don't match, and it is just a plain mess. Until you have Knux fixed, you should restore EHZ to stock that way you can effectively test him in a level that isn't broken as all hell.
     
  15. JoenickROS

    JoenickROS ROS (bug fixing in progress) Member

    Joined:
    Feb 5, 2012
    Messages:
    929
    .

    That's not for the hack where i want to port knuckles its an old hack, the one you were playing and was really dickish you are correct there's a another example of what not to do in a hack and I see that now
     
  16. JoenickROS

    JoenickROS ROS (bug fixing in progress) Member

    Joined:
    Feb 5, 2012
    Messages:
    929
    .

    3k can't get them from s2k bc the disassembly doesn't work
     
  17. SuperEgg

    SuperEgg I'm a guy that knows that you know that I know Member

    Joined:
    Oct 17, 2009
    Messages:
    Location:
    THE BEST GOD DAMN STATE OF TEXAS
    So...what is the point of releasing a completely different hack that doesn't have Knuckles in it? I thought that was what you were releasing, a ROM that has Knuckles in it, that way we can see the problems with it.
     
  18. JoenickROS

    JoenickROS ROS (bug fixing in progress) Member

    Joined:
    Feb 5, 2012
    Messages:
    929
    The last one wasn't made with soned 2 so I couldn't add anything to the ASM and yeah I just wanted to see what people thought about my old one probably should of made a different topic for that
     
  19. DJaftershock

    DJaftershock TWO-DEE-ECKS-GOLD Member

    Joined:
    Nov 20, 2012
    Messages:
    96
    Location:
    The United Kingdom
    I'd just love to mention a question here: Why in the holy mother of ass would you go and post a ROM hack in 'Help porting Knuckles to Sonic 2' when the ROM hack has NOOOOOOO showing of anything SuperEgg and Dandaman955 told you? Unless you're lying and trying to cover up the fact that you screwed up, so let's just say it's a different hack? What the hell?
     
  20. StephenUK

    StephenUK Working on a Quackshot disassembly Member

    Joined:
    Aug 5, 2007
    Messages:
    1,026
    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Once again I find myself having to tell you to be respectful to people and to help people constructively without resorting to nasty and uncalled for comments. Despite the fact you had some content to your post which was helpful, the rest of the post surrounding it was unnecessary. I don't like repeating myself, I've warned you once already so this time I'll make it an official one. Next time you speak to anyone like shit, regardless of their level of hacking competence, you will find yourself demoted back to a standard member and given a holiday for a week. Pro users are there to set an example, and at the moment you fall way outside the criteria.
     
    Last edited by a moderator: Dec 5, 2012
Thread Status:
Not open for further replies.