don't click here

Basic Questions & Answers thread

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

  1. By 'not load up', do you mean it assembles without errors but doesn't actually work when you play it in the emulator, or something else?
     
  2. BlackHole

    BlackHole

    You're going to need MORE than help. Member
    5,713
    797
    93
    England
    Complaining
    yep
     
  3. I've read and followed the instructions on the Wiki to the letter with regard to extending the level index past $10 in S2.asm, but I still can't get it to build.

    I'm getting 'jump distance too big' errors on lines 11366 and 11370 (both bsr.w EniDec)

    Any idea how to correct this?
     
  4. Change both instances of
    Code (ASM):
    1. bsr.w EniDec
    to
    Code (ASM):
    1. jsr (EniDec).l
    It should work then. The bsr instruction is a relative jump, so there's a limitation on how far the location you want to branch to can be from your instruction. jsr is absolute on the other hand so there's no such restriction.
     
  5. Cheers mate, will give that a go.

    Just tried it and I get the following:

    s2.macrosetup.asm(201)
    > > >s2.asm(11366): error: number of opening/closing parentheses does not match
    > > > EniDec).
    > > > jsr (EniDec).1
    > > >s2.asm(11366): warning: address is not properly aligned
    > > > jsr (EniDec).1
    > > >s2.asm(11366): error: addressing mode not allowed here
    > > > jsr (EniDec).1
    > > >s2.asm(11370): error: number of opening/closing parentheses does not match
    > > > EniDec).
    > > > jsr (EniDec).1
    > > >s2.asm(11370): warning: address is not properly aligned
    > > > jsr (EniDec).1
    > > >s2.asm(11370): error: addressing mode not allowed here
    > > > jsr (EniDec).1
    s2.sounddriver.asm(2807)
    s2.asm(88238)

    0.91 seconds assembly time

    91246 lines source file
    120479 lines incl. macro expansions
    1 pass
    4 errors
    2 warnings
     
  6. ColinC10

    ColinC10

    Tech Member
    That's a small letter L on the end, not a number 1. The L stands for "long", which is four bytes, and is what's used to store an absolute address.
     
  7. It's (EniDec).l (lowercase letter L) not (EniDec).1 (numeric 1)

    Edit: Oops, should've refreshed the page before posting.
     
  8. Hivebrain

    Hivebrain

    Administrator
    3,050
    166
    43
    53.4N, 1.5W
    Github
    "jsr EniDec" should work too.
     
  9. It can cause phase errors (whatever they are) in AS though, because it'll try to size-optimize it if you don't specify a size for the address.
     
  10. ZFG

    ZFG

    Member
    55
    0
    0
    Norway
    I serously need help with this:
     
  11. theSTHguy

    theSTHguy

    Fear the wrath of my ∫! Ha ha ha! Member
    183
    0
    0
    London, England, UK
    The Shadow Odyssey (TSO)
  12. Tried both of the above, and still won't build. I end up with this on jsr (EniDec).l

    > > >s2.asm(5557): error: addressing mode not allowed on 68000
    > > > movea.l Off_ColS(pc,d0.w),a0
    > > >s2.asm(5557): error: addressing mode not allowed here
    > > > movea.l Off_ColS(pc,d0.w),a0
    > > >s2.asm(12919): error: addressing mode not allowed on 68000
    > > > move.l word_A656(pc,d0.w),d1
    > > >s2.asm(12919): error: addressing mode not allowed here
    > > > move.l word_A656(pc,d0.w),d1
    > > >s2.asm(51772): error: addressing mode not allowed on 68000
    > > > lea byte_28726(pc,d1.w),a1
    > > >s2.asm(51772): error: addressing mode not allowed here
    > > > lea byte_28726(pc,d1.w),a1
    s2.sounddriver.asm(2807)
    rom size is $200000 bytes (2048 kb). About $FD086 bytes are padding.
    s2.asm(88238)

    3.43 seconds assembly time

    91246 lines source file
    120479 lines incl. macro expansions
    2 passes
    6 errors
    0 warnings

    I just don't know why it's screwing up, I used a clean ASM file from Xenowhirl disassembly too.
     
  13. Hivebrain

    Hivebrain

    Administrator
    3,050
    166
    43
    53.4N, 1.5W
    Github
  14. ZFG

    ZFG

    Member
    55
    0
    0
    Norway
    I removed them, but now it won't work at all.
     
  15. GHFan

    GHFan

    Member
    67
    0
    6
    When I try to edit levels in the ESE II, it all goes fine until I click save to ROM. Then I get this:
    [​IMG]
    Could it be a Vista problem?
     
  16. roxahris

    roxahris

    Everyone's a hypocrite. Take my word for it. Member
    1,224
    0
    0
    Doing anything at all
    Have you checked that your ESEII directory and temp folder aren't read only?

    Oh, and while you probably know this, if you're using a disassembly ESEII won't work well...
     
  17. Spanner

    Spanner

    The Tool Member
  18. GHFan

    GHFan

    Member
    67
    0
    6
    Well, that worked, but when I tried to start the ROM in Kega, all I got was a red screen.

    Could this be because I had to rename the ROM from .gen to .bin (ESE doesn't accept otherwise)
     
  19. nineko

    nineko

    I am the Holy Cat Tech Member
    6,320
    490
    63
    italy
    No, that's because you didn't fix the checksum. You have three options:
    1. Fix the checksum in your ROM
    2. Remove the checksum check routine from your ROM
    3. Enable the auto-fix checksum option in Kega.
     
  20. roxahris

    roxahris

    Everyone's a hypocrite. Take my word for it. Member
    1,224
    0
    0
    Doing anything at all
    [​IMG]
    I've got SonED2 to save the background... but now it's overwriting objects. I've tried cleaning up the EHZ tiles and chunks, but in the process I deleted the stuff the the animated tiles; the flowers, and those glowing things. You can see that they're loading into the clouds, which isn't very good. I'll probably reimport the background, but is there any way to stop it overwriting enemies? And how do I fix the deformation?
    For those who want to take a closer look, here's the hack.