Basic Questions & Answers thread

Discussion in 'Engineering & Reverse Engineering' started by Tweaker, May 29, 2008.

  1. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,543
    141
    43
    SonLVL
    Edit -> Transformation -> Toggle Foreground Flag
     
  2. GT Koopa

    GT Koopa

    Member
    2,006
    0
    16
    Elgin, IL
    Flicky Turncoat DX, T.L.W.S. Vs M.G.W.
    <!--quoteo(post=500297:date=Sep 2 2010, 08:16 PM:name=MainMemory)--><div class='quotetop'>QUOTE (MainMemory @ Sep 2 2010, 08:16 PM) <a href="index.php?act=findpost&pid=500297">[​IMG]</a></div><div class='quotemain'><!--quotec-->Edit -> Transformation -> Toggle Foreground Flag<!--QuoteEnd--></div><!--QuoteEEnd-->
    That did the trick! Thank you.
     
  3. E-122-Psi

    E-122-Psi

    Member
    2,113
    289
    63
    I've been trying to edit my hammer spring code to work with two attacks, a ground and jump one:

    <!--g1--><div class='geshitop'>Syntax Highlighted Code: ASM</div><div class='geshimain'><!--eg1--><pre class="asm" style="font-family:monospace;">Obj41_Up: <span style="color: #adadad; font-style: italic;">; XREF: Obj41_Index</span>
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">1B</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">8</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">10</span>,<span style="font-weight:bold;">d3</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">8</span><span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>,<span style="font-weight:bold;">d4</span>
    <span style="color: #00bfff;">jsr</span> SolidObject
    <span style="color: #00bfff;">tst</span>.<span style="color: #00bfff;">b</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">25</span><span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span> <span style="color: #adadad; font-style: italic;">; is Sonic on top of the spring?</span>
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> Obj41_BounceUp <span style="color: #adadad; font-style: italic;">; if yes, branch </span>
    Obj41_NoJHammer:
    <span style="color: #00bfff;">cmpi</span>.<span style="color: #00bfff;">b</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">22</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">1C</span><span style="">(</span><span style="font-weight:bold;">a1</span><span style="">)</span> <span style="color: #adadad; font-style: italic;">;"is Amy jump hammering?"</span>
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> Obj41_Hammer <span style="color: #adadad; font-style: italic;">; if yes, branch</span>
    <span style="color: #00bfff;">tst</span>.<span style="color: #00bfff;">b</span> <span style="">(</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">FFFFFFA4</span><span style="">)</span>.<span style="color: #00bfff;">w</span> <span style="color: #adadad; font-style: italic;">; is hammer attack being performed?</span>
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> Obj41_NoHammerAttack <span style="color: #adadad; font-style: italic;">; if not, branch</span>
    Obj41_Hammer:
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,<span style="font-weight:bold;">d0</span> <span style="color: #adadad; font-style: italic;">; clear d0</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">8</span><span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>,<span style="font-weight:bold;">d0</span> <span style="color: #adadad; font-style: italic;">; load springs's X-pos to d0</span>
    <span style="color: #00bfff;">sub</span>.<span style="color: #00bfff;">w</span> <span style="">(</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">FFFFD008</span><span style="">)</span>.<span style="color: #00bfff;">w</span>,<span style="font-weight:bold;">d0</span> <span style="color: #adadad; font-style: italic;">; substract Amy's X-pos from it</span>
    <span style="color: #00bfff;">bpl</span>.<span style="color: #00bfff;">s</span> Obj41_XPositive <span style="color: #adadad; font-style: italic;">; if answer is positive, branch</span>
    <span style="color: #00bfff;">neg</span>.<span style="color: #00bfff;">w</span> <span style="font-weight:bold;">d0</span> <span style="color: #adadad; font-style: italic;">; otherwise negate d0 </span>
    &nbsp;
    Obj41_XPositive:
    <span style="color: #00bfff;">cmpi</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">35</span>,<span style="font-weight:bold;">d0</span> <span style="color: #adadad; font-style: italic;">; is Amy within 35 pixels of the spring (X-axis)?</span>
    <span style="color: #00bfff;">bge</span>.<span style="color: #00bfff;">s</span> Obj41_NoHammerAttack <span style="color: #adadad; font-style: italic;">; if not, branch </span>
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,<span style="font-weight:bold;">d0</span> <span style="color: #adadad; font-style: italic;">; clear d0 </span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">C</span><span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>,<span style="font-weight:bold;">d0</span> <span style="color: #adadad; font-style: italic;">; load springs's Y-pos to d0</span>
    <span style="color: #00bfff;">sub</span>.<span style="color: #00bfff;">w</span> <span style="">(</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">FFFFD00C</span><span style="">)</span>.<span style="color: #00bfff;">w</span>,<span style="font-weight:bold;">d0</span> <span style="color: #adadad; font-style: italic;">; substract Amy's Y-pos from it </span>
    <span style="color: #00bfff;">bpl</span>.<span style="color: #00bfff;">s</span> Obj41_YPositive <span style="color: #adadad; font-style: italic;">; if answer is positive, branch </span>
    <span style="color: #00bfff;">neg</span>.<span style="color: #00bfff;">w</span> <span style="font-weight:bold;">d0</span> <span style="color: #adadad; font-style: italic;">; otherwise negate d0 </span>
    &nbsp;
    Obj41_YPositive:
    <span style="color: #00bfff;">cmpi</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">35</span>,<span style="font-weight:bold;">d0</span> <span style="color: #adadad; font-style: italic;">; is Amy within 35 pixels of the spring (Y-axis)?</span>
    <span style="color: #00bfff;">bge</span>.<span style="color: #00bfff;">s</span> Obj41_NoHammerAttack <span style="color: #adadad; font-style: italic;">; if not, branch</span>
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> Obj41_BounceUp <span style="color: #adadad; font-style: italic;">; otherwise make spring bouncing </span>
    &nbsp;
    Obj41_NoHammerAttack:
    <span style="color: #00bfff;">rts</span> <span style="color: #adadad; font-style: italic;">; return</span>
    &nbsp;
    <span style="color: #adadad; font-style: italic;">; ===========================================================================</span>
    &nbsp;
    Obj41_BounceUp: <span style="color: #adadad; font-style: italic;">; XREF: Obj41_Up</span>
    <span style="color: #00bfff;">addq</span>.<span style="color: #00bfff;">b</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">24</span><span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>
    <span style="color: #00bfff;">addq</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">8</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">C</span><span style="">(</span><span style="font-weight:bold;">a1</span><span style="">)</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">30</span><span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">12</span><span style="">(</span><span style="font-weight:bold;">a1</span><span style="">)</span> <span style="color: #adadad; font-style: italic;">; move Sonic upwards</span></pre><!--gc2--><!--T2JqNDFfVXA6CQkJCTsgWFJFRjogT2JqNDFfSW5kZXgKCgkJbW92ZS53CSMmIzAzNjsxQixkMQoJCW1v
    dmUudwkjOCxkMgoJCW1vdmUudwkjJiMwMzY7MTAsZDMKCQltb3ZlLncJOChhMCksZDQKCQlqc3IJU29sa
    WRPYmplY3QKCQl0c3QuYgkmIzAzNjsyNShhMCkJCTsgaXMgU29uaWMgb24gdG9wIG9mIHRoZSBzcHJpbm
    c/CgkJYm5lLnMJT2JqNDFfQm91bmNlVXAJOyBpZiB5ZXMsIGJyYW5jaCAKT2JqNDFfTm9KSGFtbWVyOgoJ
    CWNtcGkuYgkjJiMwMzY7MjIsJiMwMzY7MUMoYTEpCTsmcXVvdDtpcyBBbXkganVtcCBoYW1tZXJpbmc/JnF1b3Q7CgkJYmVxLnMJT2JqNDFfSGFtbWVyCTsgaWYgeWVzLCBicmFuY2gKCQl0c3QuYgkoJiMwMzY7
    RkZGRkZGQTQpLncJCTsgaXMgaGFtbWVyIGF0dGFjayBiZWluZyBwZXJmb3JtZWQ/CgkJYmVxLnMJT2JqNDFfTm9IYW1tZXJBdHRhY2sJOyBpZiBub3QsIGJyYW5jaApPYmo0MV9IYW1tZXI6
    CgkJbW92ZXEJIzAsZDAJCQk7IGNsZWFyIGQwCgkJbW92ZS53CSYjMDM2OzgoYTApLGQwCQk7IGxvYWQgc
    3ByaW5ncyYjMzk7cyBYLXBvcyB0byBkMAoJCXN1Yi53CSgmIzAzNjtGRkZGRDAwOCkudyxkMAk7IHN1Yn
    N0cmFjdCBBbXkmIzM5O3MgWC1wb3MgZnJvbSBpdAoJCWJwbC5zCU9iajQxX1hQb3NpdGl2ZQkJOyBpZiB
    hbnN3ZXIgaXMgcG9zaXRpdmUsIGJyYW5jaAoJCW5lZy53CWQwCQkJOyBvdGhlcndpc2UgbmVnYXRlIGQw
    IAoKT2JqNDFfWFBvc2l0aXZlOgoJCWNtcGkudwkjMzUsZDAJCQk7IGlzIEFteSB3aXRoaW4gMzUgcGl4Z
    WxzIG9mIHRoZSBzcHJpbmcgKFgtYXhpcyk/CgkJYmdlLnMJT2JqNDFfTm9IYW1tZXJBdHRhY2sJOyBpZiBub3QsIGJyYW5jaCAKCQltb3ZlcQkjMCxk
    MAkJCTsgY2xlYXIgZDAJCgkJbW92ZS53CSYjMDM2O0MoYTApLGQwCQk7IGxvYWQgc3ByaW5ncyYjMzk7c
    yBZLXBvcyB0byBkMAoJCXN1Yi53CSgmIzAzNjtGRkZGRDAwQykudyxkMAk7IHN1YnN0cmFjdCBBbXkmIz
    M5O3MgWS1wb3MgZnJvbSBpdAkKCQlicGwucwlPYmo0MV9ZUG9zaXRpdmUJCTsgaWYgYW5zd2VyIGlzIHB
    vc2l0aXZlLCBicmFuY2gJCgkJbmVnLncJZDAJCQk7IG90aGVyd2lzZSBuZWdhdGUgZDAgCgpPYmo0MV9Z
    UG9zaXRpdmU6CgkJY21waS53CSMzNSxkMAkJCTsgaXMgQW15IHdpdGhpbiAzNSBwaXhlbHMgb2YgdGhlI
    HNwcmluZyAoWS1heGlzKT8KCQliZ2UucwlPYmo0MV9Ob0hhbW1lckF0dGFjawk7IGlmIG5vdCwgYnJhbm
    NoCgkJYnJhLnMJT2JqNDFfQm91bmNlVXAJCTsgb3RoZXJ3aXNlIG1ha2Ugc3ByaW5nIGJvdW5jaW5nIAo
    KT2JqNDFfTm9IYW1tZXJBdHRhY2s6CgkJcnRzCQkJCTsgcmV0dXJuCgo7ID09PT09PT09PT09PT09PT09
    PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKT
    2JqNDFfQm91bmNlVXA6CQkJCTsgWFJFRjogT2JqNDFfVXAKCQlhZGRxLmIJIzIsJiMwMzY7MjQoYTApCg
    kJYWRkcS53CSM4LCYjMDM2O0MoYTEpCgkJbW92ZS53CSYjMDM2OzMwKGEwKSwmIzAzNjsxMihhMSkJOyB
    tb3ZlIFNvbmljIHVwd2FyZHM=--><!--egc2--><!--g2--></div><!--eg2-->

    It activates however the bounce the jump hammer branch activates is oddly small. Any idea what is dragging down the bounce for the mid air branch?

    *Is there any advisable way to fix the walk jump bug in Sonic 1 with a non roll jump animation?
     
  4. theocas

    theocas

    Tech Member
    346
    0
    16
    <!--quoteo(post=500762:date=Sep 3 2010, 04:26 PM:name=E-122-Psi)--><div class='quotetop'>QUOTE (E-122-Psi @ Sep 3 2010, 04:26 PM) <a href="index.php?act=findpost&pid=500762">[​IMG]</a></div><div class='quotemain'><!--quotec-->I've been trying to edit my hammer spring code to work with two attacks, a ground and jump one:

    <!--g1--><div class='geshitop'>Syntax Highlighted Code: ASM</div><div class='geshimain'><!--eg1--><pre class="asm" style="font-family:monospace;">Obj41_Up: <span style="color: #adadad; font-style: italic;">; XREF: Obj41_Index</span>
    &nbsp;
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">1B</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">8</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">10</span>,<span style="font-weight:bold;">d3</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">8</span><span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>,<span style="font-weight:bold;">d4</span>
    <span style="color: #00bfff;">jsr</span> SolidObject
    <span style="color: #00bfff;">tst</span>.<span style="color: #00bfff;">b</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">25</span><span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span> <span style="color: #adadad; font-style: italic;">; is Sonic on top of the spring?</span>
    <span style="color: #00bfff;">bne</span>.<span style="color: #00bfff;">s</span> Obj41_BounceUp <span style="color: #adadad; font-style: italic;">; if yes, branch </span>
    Obj41_NoJHammer:
    <span style="color: #00bfff;">cmpi</span>.<span style="color: #00bfff;">b</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">22</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">1C</span><span style="">(</span><span style="font-weight:bold;">a1</span><span style="">)</span> <span style="color: #adadad; font-style: italic;">;"is Amy jump hammering?"</span>
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> Obj41_Hammer <span style="color: #adadad; font-style: italic;">; if yes, branch</span>
    <span style="color: #00bfff;">tst</span>.<span style="color: #00bfff;">b</span> <span style="">(</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">FFFFFFA4</span><span style="">)</span>.<span style="color: #00bfff;">w</span> <span style="color: #adadad; font-style: italic;">; is hammer attack being performed?</span>
    <span style="color: #00bfff;">beq</span>.<span style="color: #00bfff;">s</span> Obj41_NoHammerAttack <span style="color: #adadad; font-style: italic;">; if not, branch</span>
    Obj41_Hammer:
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,<span style="font-weight:bold;">d0</span> <span style="color: #adadad; font-style: italic;">; clear d0</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">8</span><span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>,<span style="font-weight:bold;">d0</span> <span style="color: #adadad; font-style: italic;">; load springs's X-pos to d0</span>
    <span style="color: #00bfff;">sub</span>.<span style="color: #00bfff;">w</span> <span style="">(</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">FFFFD008</span><span style="">)</span>.<span style="color: #00bfff;">w</span>,<span style="font-weight:bold;">d0</span> <span style="color: #adadad; font-style: italic;">; substract Amy's X-pos from it</span>
    <span style="color: #00bfff;">bpl</span>.<span style="color: #00bfff;">s</span> Obj41_XPositive <span style="color: #adadad; font-style: italic;">; if answer is positive, branch</span>
    <span style="color: #00bfff;">neg</span>.<span style="color: #00bfff;">w</span> <span style="font-weight:bold;">d0</span> <span style="color: #adadad; font-style: italic;">; otherwise negate d0 </span>
    &nbsp;
    Obj41_XPositive:
    <span style="color: #00bfff;">cmpi</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">35</span>,<span style="font-weight:bold;">d0</span> <span style="color: #adadad; font-style: italic;">; is Amy within 35 pixels of the spring (X-axis)?</span>
    <span style="color: #00bfff;">bge</span>.<span style="color: #00bfff;">s</span> Obj41_NoHammerAttack <span style="color: #adadad; font-style: italic;">; if not, branch </span>
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,<span style="font-weight:bold;">d0</span> <span style="color: #adadad; font-style: italic;">; clear d0 </span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">C</span><span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>,<span style="font-weight:bold;">d0</span> <span style="color: #adadad; font-style: italic;">; load springs's Y-pos to d0</span>
    <span style="color: #00bfff;">sub</span>.<span style="color: #00bfff;">w</span> <span style="">(</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">FFFFD00C</span><span style="">)</span>.<span style="color: #00bfff;">w</span>,<span style="font-weight:bold;">d0</span> <span style="color: #adadad; font-style: italic;">; substract Amy's Y-pos from it </span>
    <span style="color: #00bfff;">bpl</span>.<span style="color: #00bfff;">s</span> Obj41_YPositive <span style="color: #adadad; font-style: italic;">; if answer is positive, branch </span>
    <span style="color: #00bfff;">neg</span>.<span style="color: #00bfff;">w</span> <span style="font-weight:bold;">d0</span> <span style="color: #adadad; font-style: italic;">; otherwise negate d0 </span>
    &nbsp;
    Obj41_YPositive:
    <span style="color: #00bfff;">cmpi</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">35</span>,<span style="font-weight:bold;">d0</span> <span style="color: #adadad; font-style: italic;">; is Amy within 35 pixels of the spring (Y-axis)?</span>
    <span style="color: #00bfff;">bge</span>.<span style="color: #00bfff;">s</span> Obj41_NoHammerAttack <span style="color: #adadad; font-style: italic;">; if not, branch</span>
    <span style="color: #00bfff;">bra</span>.<span style="color: #00bfff;">s</span> Obj41_BounceUp <span style="color: #adadad; font-style: italic;">; otherwise make spring bouncing </span>
    &nbsp;
    Obj41_NoHammerAttack:
    <span style="color: #00bfff;">rts</span> <span style="color: #adadad; font-style: italic;">; return</span>
    &nbsp;
    <span style="color: #adadad; font-style: italic;">; ===========================================================================</span>
    &nbsp;
    Obj41_BounceUp: <span style="color: #adadad; font-style: italic;">; XREF: Obj41_Up</span>
    <span style="color: #00bfff;">addq</span>.<span style="color: #00bfff;">b</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">2</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">24</span><span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>
    <span style="color: #00bfff;">addq</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">8</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">C</span><span style="">(</span><span style="font-weight:bold;">a1</span><span style="">)</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">30</span><span style="">(</span><span style="font-weight:bold;">a0</span><span style="">)</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">12</span><span style="">(</span><span style="font-weight:bold;">a1</span><span style="">)</span> <span style="color: #adadad; font-style: italic;">; move Sonic upwards</span></pre><!--gc2--><!--T2JqNDFfVXA6CQkJCTsgWFJFRjogT2JqNDFfSW5kZXgKCgkJbW92ZS53CSMmIzAzNjsxQixkMQoJCW1v
    dmUudwkjOCxkMgoJCW1vdmUudwkjJiMwMzY7MTAsZDMKCQltb3ZlLncJOChhMCksZDQKCQlqc3IJU29sa
    WRPYmplY3QKCQl0c3QuYgkmIzAzNjsyNShhMCkJCTsgaXMgU29uaWMgb24gdG9wIG9mIHRoZSBzcHJpbm
    c/CgkJYm5lLnMJT2JqNDFfQm91bmNlVXAJOyBpZiB5ZXMsIGJyYW5jaCAKT2JqNDFfTm9KSGFtbWVyOgoJ
    CWNtcGkuYgkjJiMwMzY7MjIsJiMwMzY7MUMoYTEpCTsmcXVvdDtpcyBBbXkganVtcCBoYW1tZXJpbmc/JnF1b3Q7CgkJYmVxLnMJT2JqNDFfSGFtbWVyCTsgaWYgeWVzLCBicmFuY2gKCQl0c3QuYgkoJiMwMzY7
    RkZGRkZGQTQpLncJCTsgaXMgaGFtbWVyIGF0dGFjayBiZWluZyBwZXJmb3JtZWQ/CgkJYmVxLnMJT2JqNDFfTm9IYW1tZXJBdHRhY2sJOyBpZiBub3QsIGJyYW5jaApPYmo0MV9IYW1tZXI6
    CgkJbW92ZXEJIzAsZDAJCQk7IGNsZWFyIGQwCgkJbW92ZS53CSYjMDM2OzgoYTApLGQwCQk7IGxvYWQgc
    3ByaW5ncyYjMzk7cyBYLXBvcyB0byBkMAoJCXN1Yi53CSgmIzAzNjtGRkZGRDAwOCkudyxkMAk7IHN1Yn
    N0cmFjdCBBbXkmIzM5O3MgWC1wb3MgZnJvbSBpdAoJCWJwbC5zCU9iajQxX1hQb3NpdGl2ZQkJOyBpZiB
    hbnN3ZXIgaXMgcG9zaXRpdmUsIGJyYW5jaAoJCW5lZy53CWQwCQkJOyBvdGhlcndpc2UgbmVnYXRlIGQw
    IAoKT2JqNDFfWFBvc2l0aXZlOgoJCWNtcGkudwkjMzUsZDAJCQk7IGlzIEFteSB3aXRoaW4gMzUgcGl4Z
    WxzIG9mIHRoZSBzcHJpbmcgKFgtYXhpcyk/CgkJYmdlLnMJT2JqNDFfTm9IYW1tZXJBdHRhY2sJOyBpZiBub3QsIGJyYW5jaCAKCQltb3ZlcQkjMCxk
    MAkJCTsgY2xlYXIgZDAJCgkJbW92ZS53CSYjMDM2O0MoYTApLGQwCQk7IGxvYWQgc3ByaW5ncyYjMzk7c
    yBZLXBvcyB0byBkMAoJCXN1Yi53CSgmIzAzNjtGRkZGRDAwQykudyxkMAk7IHN1YnN0cmFjdCBBbXkmIz
    M5O3MgWS1wb3MgZnJvbSBpdAkKCQlicGwucwlPYmo0MV9ZUG9zaXRpdmUJCTsgaWYgYW5zd2VyIGlzIHB
    vc2l0aXZlLCBicmFuY2gJCgkJbmVnLncJZDAJCQk7IG90aGVyd2lzZSBuZWdhdGUgZDAgCgpPYmo0MV9Z
    UG9zaXRpdmU6CgkJY21waS53CSMzNSxkMAkJCTsgaXMgQW15IHdpdGhpbiAzNSBwaXhlbHMgb2YgdGhlI
    HNwcmluZyAoWS1heGlzKT8KCQliZ2UucwlPYmo0MV9Ob0hhbW1lckF0dGFjawk7IGlmIG5vdCwgYnJhbm
    NoCgkJYnJhLnMJT2JqNDFfQm91bmNlVXAJCTsgb3RoZXJ3aXNlIG1ha2Ugc3ByaW5nIGJvdW5jaW5nIAo
    KT2JqNDFfTm9IYW1tZXJBdHRhY2s6CgkJcnRzCQkJCTsgcmV0dXJuCgo7ID09PT09PT09PT09PT09PT09
    PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKT
    2JqNDFfQm91bmNlVXA6CQkJCTsgWFJFRjogT2JqNDFfVXAKCQlhZGRxLmIJIzIsJiMwMzY7MjQoYTApCg
    kJYWRkcS53CSM4LCYjMDM2O0MoYTEpCgkJbW92ZS53CSYjMDM2OzMwKGEwKSwmIzAzNjsxMihhMSkJOyB
    tb3ZlIFNvbmljIHVwd2FyZHM=--><!--egc2--><!--g2--></div><!--eg2-->

    It activates however the bounce the jump hammer branch activates is oddly small. Any idea what is dragging down the bounce for the mid air branch?

    *Is there any advisable way to fix the walk jump bug in Sonic 1 with a non roll jump animation?<!--QuoteEnd--></div><!--QuoteEEnd-->
    I don't know what could cause the slowdown, but when I added some calls in my Jumpdash code to check the level boundary it slowed down as well. As for #2 - You just need to change the animation number that's being written.
     
  5. E-122-Psi

    E-122-Psi

    Member
    2,113
    289
    63
    <!--quoteo(post=500780:date=Sep 3 2010, 07:51 PM:name=theocas)--><div class='quotetop'>QUOTE (theocas @ Sep 3 2010, 07:51 PM) <a href="index.php?act=findpost&pid=500780">[​IMG]</a></div><div class='quotemain'><!--quotec-->I don't know what could cause the slowdown, but when I added some calls in my Jumpdash code to check the level boundary it slowed down as well. As for #2 - You just need to change the animation number that's being written.<!--QuoteEnd--></div><!--QuoteEEnd-->

    It's not slowing down it's just a weakened bounce (about to the height of the character).

    EDIT: Tried the walk jump fix, it works. Thanx.

    Pretty sure I had tried this method before and it didn't work so thought it maybe had something to do with the roll routine. Oh well.
     
  6. Sparks

    Sparks

    Member
    3,042
    20
    18
    Kyle and Lucy: Wonderworld
    So, I want to do a Sonic 2 hack and add new zone art in. Should I bother trying to use SonED/SonED 2 or wait for that newer level program to come out? Mainly asking this since it's more opinion related.
     
  7. LordOfSquad

    LordOfSquad

    bobs over baghdad Member
    4,907
    43
    28
    Winnipeg, MB
    making cool music no one gives a shit about
    Are there any tutorials on how to use xm4smps? I think I have a basic idea of how to use it, but I'm unable to do anything, mainly because I don't know how to get voice banks. Where do I get those from? I googled for about an hour looking for some, or some way to get them. No luck! =/
     
  8. I couldn't find many either, so I made the SMPS Archives for that. Hope admins don't see as advertising, but as a resource. <a href="http://smps.digibase.ca/" target="_blank">http://smps.digibase.ca/</a>
     
  9. LordOfSquad

    LordOfSquad

    bobs over baghdad Member
    4,907
    43
    28
    Winnipeg, MB
    making cool music no one gives a shit about
    <!--quoteo(post=501057:date=Sep 4 2010, 01:01 PM:name=Irixion)--><div class='quotetop'>QUOTE (Irixion @ Sep 4 2010, 01:01 PM) <a href="index.php?act=findpost&pid=501057">[​IMG]</a></div><div class='quotemain'><!--quotec-->I couldn't find many either, so I made the SMPS Archives for that. Hope admins don't see as advertising, but as a resource. <a href="http://smps.digibase.ca/" target="_blank">http://smps.digibase.ca/</a><!--QuoteEnd--></div><!--QuoteEEnd-->

    Where exactly are the voice banks on that site? I signed up but still can't seem to find them.

    EDIT: So, SOTI sent me some. There should still really be a tutorial for this stuff though. It's not new user friendly at all.
     
  10. amphobius

    amphobius

    doing more important things with my life Member
    2,120
    0
    16
    life
    <!--coloro:#008000--><span style="color:#008000"><!--/coloro--><a href="http://hadouken.hostoi.com/tutorial/xm4smpstutorial.rar" target="_blank">>implying I didn't make a tutorial and post it a few pages back</a>[/COLOR]
     
  11. GT Koopa

    GT Koopa

    Member
    2,006
    0
    16
    Elgin, IL
    Flicky Turncoat DX, T.L.W.S. Vs M.G.W.
    So I am having trouble with PlaneEd. I am using the japanese credits for a info screen. However, things don't seem to be going well.

    This:

    Palette File: pallet/sonic.bin
    Mapping File: mapeni/japcreds.bin
    Art File: artnem/japcreds.bin
    Mapping Compression: Enigma
    Art Compression: Nemesis
    Palette Length: 0x20
    Palette Offset: 0x20
    x-Size: 34
    y-Size: 28
    Tile Offset: 0x200

    Makes this:
    [​IMG]



    Which makes this:
    [​IMG]

    The y size doesn't seem to be going any lower than 3 tiles and whatever I type in those three become not what I want, which seems to be the title screen logo tiles. Can anyone help?
     
  12. <!--quoteo(post=501071:date=Sep 4 2010, 03:25 PM:name=LordOfSquad)--><div class='quotetop'>QUOTE (LordOfSquad @ Sep 4 2010, 03:25 PM) <a href="index.php?act=findpost&pid=501071">[​IMG]</a></div><div class='quotemain'><!--quotec--><!--quoteo(post=501057:date=Sep 4 2010, 01:01 PM:name=Irixion)--><div class='quotetop'>QUOTE (Irixion @ Sep 4 2010, 01:01 PM) <a href="index.php?act=findpost&pid=501057">[​IMG]</a></div><div class='quotemain'><!--quotec-->I couldn't find many either, so I made the SMPS Archives for that. Hope admins don't see as advertising, but as a resource. <a href="http://smps.digibase.ca/" target="_blank">http://smps.digibase.ca/</a><!--QuoteEnd--></div><!--QuoteEEnd-->

    Where exactly are the voice banks on that site? I signed up but still can't seem to find them.

    EDIT: So, SOTI sent me some. There should still really be a tutorial for this stuff though. It's not new user friendly at all.
    <!--QuoteEnd--></div><!--QuoteEEnd-->


    <a href="http://smps.digibase.ca/index.php?board=36.0" target="_blank">http://smps.digibase.ca/index.php?board=36.0</a>

    Don't see how you can miss that.



    <!--quoteo(post=501259:date=Sep 4 2010, 10:45 PM:name=GT Koopa)--><div class='quotetop'>QUOTE (GT Koopa @ Sep 4 2010, 10:45 PM) <a href="index.php?act=findpost&pid=501259">[​IMG]</a></div><div class='quotemain'><!--quotec-->So I am having trouble with PlaneEd. I am using the japanese credits for a info screen. However, things don't seem to be going well.

    This:

    Palette File: pallet/sonic.bin
    Mapping File: mapeni/japcreds.bin
    Art File: artnem/japcreds.bin
    Mapping Compression: Enigma
    Art Compression: Nemesis
    Palette Length: 0x20
    Palette Offset: 0x20
    x-Size: 34
    y-Size: 28
    Tile Offset: 0x200

    Makes this:
    [​IMG]



    Which makes this:
    [​IMG]

    The y size doesn't seem to be going any lower than 3 tiles and whatever I type in those three become not what I want, which seems to be the title screen logo tiles. Can anyone help?<!--QuoteEnd--></div><!--QuoteEEnd-->

    Is VRAM being cleared properly? If it's not it can cause things to mess like that, that's all I can think of right now.
     
  13. LordOfSquad

    LordOfSquad

    bobs over baghdad Member
    4,907
    43
    28
    Winnipeg, MB
    making cool music no one gives a shit about
    <!--quoteo(post=501258:date=Sep 4 2010, 08:45 PM:name=DalekSam)--><div class='quotetop'>QUOTE (DalekSam @ Sep 4 2010, 08:45 PM) <a href="index.php?act=findpost&pid=501258">[​IMG]</a></div><div class='quotemain'><!--quotec--><!--coloro:#008000--><span style="color:#008000"><!--/coloro--><a href="http://hadouken.hostoi.com/tutorial/xm4smpstutorial.rar" target="_blank">>implying I didn't make a tutorial and post it a few pages back</a>[/COLOR]<!--QuoteEnd--></div><!--QuoteEEnd-->

    <!--coloro:#9ACD32--><span style="color:#9ACD32"><!--/coloro-->>>Implying implications[/COLOR]

    Excellent, thank you! Now if only I could get Mid2XM working on here.

    <!--quoteo(post=501295:date=Sep 4 2010, 11:23 PM:name=Irixion)--><div class='quotetop'>QUOTE (Irixion @ Sep 4 2010, 11:23 PM) <a href="index.php?act=findpost&pid=501295">[​IMG]</a></div><div class='quotemain'><!--quotec--><!--quoteo(post=501071:date=Sep 4 2010, 03:25 PM:name=LordOfSquad)--><div class='quotetop'>QUOTE (LordOfSquad @ Sep 4 2010, 03:25 PM) <a href="index.php?act=findpost&pid=501071">[​IMG]</a></div><div class='quotemain'><!--quotec--><!--quoteo(post=501057:date=Sep 4 2010, 01:01 PM:name=Irixion)--><div class='quotetop'>QUOTE (Irixion @ Sep 4 2010, 01:01 PM) <a href="index.php?act=findpost&pid=501057">[​IMG]</a></div><div class='quotemain'><!--quotec-->I couldn't find many either, so I made the SMPS Archives for that. Hope admins don't see as advertising, but as a resource. <a href="http://smps.digibase.ca/" target="_blank">http://smps.digibase.ca/</a><!--QuoteEnd--></div><!--QuoteEEnd-->

    Where exactly are the voice banks on that site? I signed up but still can't seem to find them.

    EDIT: So, SOTI sent me some. There should still really be a tutorial for this stuff though. It's not new user friendly at all.
    <!--QuoteEnd--></div><!--QuoteEEnd-->


    <a href="http://smps.digibase.ca/index.php?board=36.0" target="_blank">http://smps.digibase.ca/index.php?board=36.0</a>

    Don't see how you can miss that.
    <!--QuoteEnd--></div><!--QuoteEEnd-->

    If there's something obviously laying around, I will miss it. I will find a way, that's what I do! :specialed: Thanks man.
     
  14. qiuu

    qiuu

    Tech Member
    144
    9
    18
    Blue Ball & Blocks
    <!--quoteo(post=501035:date=Sep 4 2010, 07:41 PM:name=Sparks)--><div class='quotetop'>QUOTE (Sparks @ Sep 4 2010, 07:41 PM) <a href="index.php?act=findpost&pid=501035">[​IMG]</a></div><div class='quotemain'><!--quotec-->So, I want to do a Sonic 2 hack and add new zone art in. Should I bother trying to use SonED/SonED 2 or wait for that newer level program to come out? Mainly asking this since it's more opinion related.<!--QuoteEnd--></div><!--QuoteEEnd-->SonED2, including the art importing feature, is a charm to use, if you know how (which apparently many people don't). If you're set on that you want to put your zone into a ROM hack, then I don't see any reason not to use SonED2 for it. If/when a/the new editor comes out, I assume you could still switch over to it at a later point if you prefer it over SonED2.
    The one somewhat tedious task in importing a zone is assigning collision blocks to your art blocks; however that's a non-trivial task and I'm not sure how well it could be automated by a program (unless you provide another image with the masks), and therefore I'm not sure whether future editor would support that.
    The SonED2 documentation specifies what you have to do for art importing, but there are a few tricks that ensure that the process goes well. So if you decide to go with SonED2 for art importing, I can write up a quick guide with some notes; iojnekns' guide is a good start, but it still has some flaws.

    <!--quoteo(post=501259:date=Sep 5 2010, 04:45 AM:name=GT Koopa)--><div class='quotetop'>QUOTE (GT Koopa @ Sep 5 2010, 04:45 AM) <a href="index.php?act=findpost&pid=501259">[​IMG]</a></div><div class='quotemain'><!--quotec-->So I am having trouble with PlaneEd. I am using the japanese credits for a info screen. However, things don't seem to be going well. [...]<!--QuoteEnd--></div><!--QuoteEEnd-->
    Just for reference, here's a project file that works for the Japanese credits screen (I arbitrarily chose the SBZ palette to have the kanji stand out in a different color than the background):
    Code (Text):
    1. Palette File: pallet/sbz_act1.bin
    2. Mapping File: mapeni/japcreds.bin
    3. Art File: artnem/japcreds.bin
    4. Mapping Compression: Enigma
    5. Art Compression: Nemesis
    6. Palette Length: 0x20
    7. Palette Offset: 0x00
    8. x-Size: 40
    9. y-Size: 28
    10. Tile Offset: 0
    First thing: Assuming you use the original Sonic.bin palette which is 32 = 0x20 bytes of size, I'm surprised the program doesn't crash for you, as you specify a palette offset of 0x20, meaning that the program reads from 0x20 onwards past the end of the file. Palette Offset + Palette Length should never exceed the size of the palette file (note that 0x is simply a prefix for hex-values like $ is in M68k asm).
    Second: The size of a Genesis screen is 40x28 tiles; while you can specify a different size for the screen, you'll have to adapt the corresponding code as well (first SVN version, second old version equivalent):
    <!--g1--><div class='geshitop'>Syntax Highlighted Code: ASM</div><div class='codemain'><!--eg1--><pre class="asm" style="font-family:monospace;">copyTilemap <span style="color: #ff0000;">$</span><span style="color: #ff0000;">FF0000</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">C000</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">27</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">1B</span></pre><!--gc2--><!--Y29weVRpbGVtYXAJJiMwMzY7RkYwMDAwLCYjMDM2O0MwMDAsJiMwMzY7MjcsJiMwMzY7MUI=--><!--egc2--><!--g2--></div><!--eg2-->
    <!--g1--><div class='geshitop'>Syntax Highlighted Code: ASM</div><div class='codemain'><!--eg1--><pre class="asm" style="font-family:monospace;"> <span style="color: #00bfff;">lea</span> <span style="">(</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">FF0000</span><span style="">)</span>.<span style="color: #00bfff;">l</span>,<span style="font-weight:bold;">a1</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">40000003</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">27</span>,<span style="font-weight:bold;">d1</span>
    <span style="color: #00bfff;">moveq</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">1B</span>,<span style="font-weight:bold;">d2</span>
    <span style="color: #00bfff;">bsr</span>.<span style="color: #00bfff;">w</span> ShowVDPGraphics</pre><!--gc2--><!--CQlsZWEJKCYjMDM2O0ZGMDAwMCkubCxhMQoJCW1vdmUubAkjJiMwMzY7NDAwMDAwMDMsZDAKCQltb3Zl
    cQkjJiMwMzY7MjcsZDEKCQltb3ZlcQkjJiMwMzY7MUIsZDIKCQlic3IudwlTaG93VkRQR3JhcGhpY3M=--><!--egc2--><!--g2--></div><!--eg2-->
    $FF0000 is where the Screen mappings have been decompressed to earlier (as is indicated by the code below). The move.w #0,d0 is a value that is added to every tile in your mappings, if e.g. you wanted the mappings to use palette line 1 (counting from 0), but didn't map it in PlaneEd with that palette line, you'd put $2000 there instead of 0. You can also set all tiles to High Priority, flip them or add another tile offset with that. Though in your case keeping it at 0 as it is should be fine.
    <!--g1--><div class='geshitop'>Syntax Highlighted Code: ASM</div><div class='codemain'><!--eg1--><pre class="asm" style="font-family:monospace;"> <span style="color: #00bfff;">lea</span> <span style="">(</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">FF0000</span><span style="">)</span>.<span style="color: #00bfff;">l</span>,<span style="font-weight:bold;">a1</span>
    <span style="color: #00bfff;">lea</span> <span style="">(</span>Eni_JapNames<span style="">)</span>.<span style="color: #00bfff;">l</span>,<span style="font-weight:bold;">a0</span> <span style="color: #adadad; font-style: italic;">; load mappings for Japanese credits</span>
    <span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">0</span>,<span style="font-weight:bold;">d0</span>
    <span style="color: #00bfff;">bsr</span>.<span style="color: #00bfff;">w</span> EniDec</pre><!--gc2--><!--CQlsZWEJKCYjMDM2O0ZGMDAwMCkubCxhMQoJCWxlYQkoRW5pX0phcE5hbWVzKS5sLGEwIDsgbG9hZCBt
    YXBwaW5ncyBmb3IJSmFwYW5lc2UgY3JlZGl0cwoJCW1vdmUudwkjMCxkMAoJCWJzci53CUVuaURlYw==--><!--egc2--><!--g2--></div><!--eg2-->
    $C000 is the address in VRAM the plane mappings a written to (in the old version this is encoded in $40000003, read <a href="http://info.sonicretro.org/SCHG:VDP_Documentation/General/Ports#Writing_to_registers" target="_blank">VDP Doc</a> for more info), conventionally $C000 is the address for the foreground plane in Sonic games.
    Now coming to the important part, $27 x $1B is in decimal 39x27, specifying that the mappings you got are supposed to be of size 40x28. So if you want to use 34 for the x-size, you'd have to replace $27 by $21 = 34 - 1.
    Third: You can imagine the Tile Offset like the position in VRAM the art is decompressed to. In the SVN version you can see with the locVRAM macro that the address is 0, so your tile offset should be the same.<!--g1--><div class='geshitop'>Syntax Highlighted Code: ASM</div><div class='codemain'><!--eg1--><pre class="asm" style="font-family:monospace;"> locVRAM <span style="color: #ff0000;">0</span>
    <span style="color: #00bfff;">lea</span> <span style="">(</span>Nem_JapNames<span style="">)</span>.<span style="color: #00bfff;">l</span>,<span style="font-weight:bold;">a0</span> <span style="color: #adadad; font-style: italic;">; load Japanese credits</span>
    <span style="color: #00bfff;">bsr</span>.<span style="color: #00bfff;">w</span> NemDec</pre><!--gc2--><!--CQlsb2NWUkFNCTAKCQlsZWEJKE5lbV9KYXBOYW1lcykubCxhMCA7IGxvYWQgSmFwYW5lc2UgY3JlZGl0
    cwoJCWJzci53CU5lbURlYw==--><!--egc2--><!--g2--></div><!--eg2-->
    In the old disasm locVRAM 0 corresponds to move.l #$40000000,($C00004).l, where the 0 is encoded in $40000000. You can again read the VDP doc to see how exactly, or just use the SVN version/port the macro over from the SVN version if you want to alter the values.

    One thing you can do to ensure that your mappings are referring the correct art is taking a savestate when the screen is displayed, then using the savestate as art file and setting art compression to None, and the Tile Offset to 0x12478 (This is where the VRAM dump starts in a savestate).
     
  15. Azu

    Azu

    I must be stupid. Member
    Going back to the S3K Debug List. I've Kind of get the jist of adding it. However, it doesn't seem to work.

    Also, is there a list for the object name? Like how is the asm? Obj_HCZLargeFan"
    <!--g1--><div class='geshitop'>Syntax Highlighted Code: ASM</div><div class='codemain'><!--eg1--><pre class="asm" style="font-family:monospace;"> <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">6C31A</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">l</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">362608</span>+<span style="color: #ff0000;">$</span><span style="color: #ff0000;">1000000</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">43FF</span></pre><!--gc2--><!--CQlkYy5sICYjMDM2OzZDMzFBCgkJZGMubCAmIzAzNjszNjI2MDgrJiMwMzY7MTAwMDAwMAoJCWRjLncg
    JiMwMzY7NDNGRg==--><!--egc2--><!--g2--></div><!--eg2-->

    I'm trying to add MGZ's boss to the debug list.
     
  16. GT Koopa

    GT Koopa

    Member
    2,006
    0
    16
    Elgin, IL
    Flicky Turncoat DX, T.L.W.S. Vs M.G.W.
    Ok got a sexy info screen now.
    [​IMG]


    Now I want it to appear longer than what it does. So far I have looked into the extender for the title screen:

    move.w #$499,($FFFFF614).w; run title screen for $400 frames


    Something similar I think would work, I just don't know what it should be. F614 isn't labeled on the wiki. Is it just scratch?
     
  17. Selbi

    Selbi

    The Euphonic Mess Member
    1,485
    10
    18
    Northern Germany
    Sonic ERaZor
    It really is what you think it is, the number of frames to display the Title Screen. A higher number will make it being displayed longer and smaller of course shorter.

    A cool thing about this RAM adress is, that it works everywhere. So you don't need to substract it yourself, you just need to check if it's empty.
     
  18. GT Koopa

    GT Koopa

    Member
    2,006
    0
    16
    Elgin, IL
    Flicky Turncoat DX, T.L.W.S. Vs M.G.W.
    How would I set it up though? Should I use DelayProgram? For example:


    Sega_WaitEnd:
    move.b #2,($FFFFF62A).w
    bsr.w DelayProgram
    tst.w ($FFFFF614).w
    beq.s Sega_GotoTitle

    Ok, by looking at the information for DelayProgram, it says all I have to do is insert the number of frames I want into F62A. So I tried adding this after Title_ClrPallet.


    move.b #200,($FFFFF62A).w
    bsr.w DelayProgram
    tst.w ($FFFFF614).w
    beq.s Title_LoadText


    Didn't work. What should I do differently?
    --------------------------------------------------------------------------------------

    Tried this and it didn't work either.

    Title_ClrPallet:
    move.l d0,(a1)+
    dbf d1,Title_ClrPallet ; fill pallet with 0 (black)

    moveq #3,d0 ; load Sonic's pallet
    bsr.w PalLoad1
    ;move.b #$8A,($FFFFD080).w ; load "SONIC TEAM PRESENTS" object
    jsr ObjectsLoad
    jsr BuildSprites
    bsr.w Pal_FadeTo
    Fizz:
    move.b #200,($FFFFF62A).w
    bsr.w DelayProgram
    tst.w ($FFFFF614).w
    beq.s Fizz2
    bra.w Fizz



    Fizz2:
    move #$2700,sr
    ...


    At least this one doesn't seem to show any glitches.
     
  19. qiuu

    qiuu

    Tech Member
    144
    9
    18
    Blue Ball & Blocks
    DelayProgram is a pretty bad misnomer, and the description for that routine is plain wrong. In the SVN version it has been renamed to WaitForVBla, meaning that the routine simply waits until a VBlank interrupt occurs. The purpose of it is to synchronize the game logic to the screen output, and make sure it runs at the correct framerate (barring lag). During VBlank $FFF62A gets set to 0, and therefore the program will exit the waiting loop in WaitForVBla.
    What $FFF62A actually contains is an index multiplied with 2 in the table VBla_Index/off_B6E. The table contains pointers to what code to execute during the VBlank interrupt.
    The actual framecounter is $FFF614, and you can see that it gets decreased once every frame during VBlank interrupt at VBla_14/loc_C36. Both VBlank indices 2 and $14 execute that code, though 2 in addition checks Keypresses and some other stuff, while $14 solely waits.
    So the first snippet of code you got should work, if you just write the amount of frames you want to wait into $FFF614 beforehand.
     
  20. GT Koopa

    GT Koopa

    Member
    2,006
    0
    16
    Elgin, IL
    Flicky Turncoat DX, T.L.W.S. Vs M.G.W.
    move.b #200,($FFFFF614).w

    Fizz:
    sub.b #1,($FFFFF614).w
    cmpi.b #0,($FFFFF614).w
    beq.s Fizz2
    bra.w Fizz

    Even helping it along doesn't work. I am confused. Should I use DelayProgram after all?