don't click here

Basic Questions & Answers thread

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

  1. The Prof

    The Prof

    The Island Professor Member
    107
    0
    16
    Orkney, Scotland
    Sonic 1 Yarmar Edition
    I just took a look at the file that had most of the missing references (..\_anim\sonic.asm) and found there was another file (...\_anim\sonic (without frame IDs).asm). I switched the names around, to stop it referncing the frame IDs, seeing as they're not exported by SonMapEd. That fixed 91 errors, leaving me with this:

    68k version 2.53

    C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_INC\PALETTE POINTERS.ASM(25) : Warning : Size of pal_levels ($6) does not match ZoneCount ($7).
    C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\SONIC.ASM(3038) : Warning : Size of colpointers ($6) does not match ZoneCount ($7).
    C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_INCOBJ\3A GOT THROUGH CARD.ASM(175) : Warning : Size of levelorder ($6) does not match ZoneCount ($7).
    C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\SONIC.ASM(6825) : Warning : Size of musiclist2 ($6) does not match ZoneCount ($7).
    C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_INC\PATTERN LOAD CUES.ASM(23) : Warning : Size of plc_levels ($6) does not match ZoneCount ($7).
    C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_INC\PATTERN LOAD CUES.ASM(36) : Warning : Size of plc_animals ($6) does not match ZoneCount ($7).
    C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\SONIC.ASM(9093) : Warning : Forward reference to redefinable symbol
    C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\SONIC.ASM(2298) : Warning : Forward reference to redefinable symbol
    C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\SONIC.ASM(2384) : Warning : Forward reference to redefinable symbol
    C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_INCOBJ\81 CONTINUE SCREEN SONIC.ASM(22) : Error : Symbol 'map_sonic' not defined
    C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_INCOBJ\81 CONTINUE SCREEN SONIC.ASM(54) : Error : Symbol 'map_sonic' not defined
    C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_INCOBJ\59 SLZ ELEVATORS.ASM(10) : Warning : Forward reference to redefinable symbol
    C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_INCOBJ\5A SLZ CIRCLING PLATFORM.ASM(10) : Warning : Forward reference to redefinable symbol
    C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_INCOBJ\5B STAIRCASE.ASM(10) : Warning : Forward reference to redefinable symbol
    C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_INCOBJ\0B POLE THAT BREAKS.ASM(94) : Error : Symbol 'id_hang' not defined
    C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_INCOBJ\5E SEESAW.ASM(10) : Warning : Forward reference to redefinable symbol
    C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\SONIC.ASM(6761) : Error : Symbol 'map_sonic' not defined
    C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_INCOBJ\SONIC LOADGFX.ASM(15) : Error : Symbol 'sonicdynplc' not defined
    C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_INCOBJ\SUB REACTTOITEM.ASM(17) : Error : Symbol 'fr_duck' not defined
    C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_INCOBJ\09 SONIC IN SPECIAL STAGE.ASM(28) : Error : Symbol 'map_sonic' not defined
    C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_INCOBJ\DEBUGMODE.ASM(183) : Error : Symbol 'map_sonic' not defined
    C:\USERS\ANDREW MOWAT\GAMES\HACKING\NEW FOLDER\_INCOBJ\DEBUGMODE.ASM(195) : Error : Symbol 'map_sonic' not defined

    Assembly completed.
    9 error(s) from 52084 lines in 0.17 seconds

    A couple of these relate to frame IDs, which I'll be able to edit out. The remaining ones relate to subroutines which were named inside asm files included in other asm files. I'll see if I can fix that permanently, rather than quick and dirty every time I edit the mappings an DPLCs


    Right I got it to build, but came across a couple of possible problems with the Disassembly in the process. I'll put them in the main topic for that though, so they maybe get noticed by someone who can make edits to the Mercurial.
     
  2. Sporks

    Sporks

    20
    0
    0
    Hi. So I've been feeling fairly useless to the community, and want to start doing something productive. So my question is, where should I start? Or to be more specific, what game should I use to learn how to hack and mod?
     
  3. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,742
    338
    63
    SonLVL
    Either Sonic 1 or Sonic 2? They both have benefits and drawbacks, so um, go with whichever one you like better?

    Unless you'd like to do Generations modding, but that's entirely different.
     
  4. Sporks

    Sporks

    20
    0
    0
    Well, I'd like to do Gens modding, but, I don't really have the nessesary tools, and I'd rather get a feel for coding and the like. I'd also like to learn modeling and animation (I can sorta kinda animate, but all I can really do is screw around in Source Filmmaker.) but I should probably start with basics. So, Sonic 1 I guess? Where would I get a ROM for it?
     
  5. Aerosol

    Aerosol

    Not here. Moderator
    11,163
    573
    93
    Not where I want to be.
    Sonic (?): Coming summer of 2055...?
    You don't need a rom. You need a disassembly.
     
  6. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,742
    338
    63
    SonLVL
    I don't think you'll learn much from Sonic 1 that applies to Generations.
     
  7. Sporks

    Sporks

    20
    0
    0
    I know that. :P

    Forgive me for sounding like a total noob, but what's a dissassembly?
     
  8. Aerosol

    Aerosol

    Not here. Moderator
    11,163
    573
    93
    Not where I want to be.
    Sonic (?): Coming summer of 2055...?
    Heh, you've got a long road ahead of you!

    A disassembly is essentially a program's source code in Assembly language. The Mega Drive runs on a Motorola 68000 derived cpu, so it'd be assembly language for that processor. You can find a Sonic 1 disassembly on the Mercurial repository (link in the top banner). A tech member could explain it to you better than I can. There are also a ton of guides on the wiki.
     
  9. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,742
    338
    63
    SonLVL
  10. Sporks

    Sporks

    20
    0
    0
    Thanks for helping me out, I'll check some guides.
     
  11. RetroKoH

    RetroKoH

    Member
    1,662
    22
    18
    Project Sonic 8x16
    Well, when I first started to learn hacking, I took a quick peek here, at Jaxextee's thread... and just went from there. Give it a look. It's one of the E&RE pinned topics
     
  12. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,742
    338
    63
    SonLVL
    Pretty much every beginner's hacking guide out there was either written when or continues to act like SonED2 is the only level editor in existence, which is not true. Granted I'm advertising a tool I myself wrote, and I could edit the guide on the wiki myself, but the point is people should be aware that there is more than one way to do things. You don't NEED SonED2. In fact, if you're determined enough you don't even need a level editor at all, you could do it all in hex.
     
  13. Aerosol

    Aerosol

    Not here. Moderator
    11,163
    573
    93
    Not where I want to be.
    Sonic (?): Coming summer of 2055...?
    How do I build the Sonic 1 Hg disassembly on Linux? I want to write a program to mess with minor binary files but I want to be able to build the rom to see the result...which I can't figure out how to do on Linux.
     
  14. Sporks

    Sporks

    20
    0
    0
    Yeah that's the one I'm going to use too.

    I'll probably try both. Any strengths and weaknesses between the two?
     
  15. RetroKoH

    RetroKoH

    Member
    1,662
    22
    18
    Project Sonic 8x16
    I'm not able to really point out all of the pros and cons to both programs, despite having used both in the past... I'd have to stop and really look at both. Personally, I REALLY prefer SonLVL over SonEd 1 or 2. If I were you, I'd go with that one. PLUS, it is still updated fairly regularly... to the best of my knowledge. I think SonLVL is also much better for newer users as well.

    OR you could be a real trooper, and write your own editing tool! :D That is actually the most fun way to go about it (I KNOW I'm in the minority on that point, back off.)
     
  16. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,742
    338
    63
    SonLVL
    What it basically boils down to is SonED2 is better for art editing, while SonLVL is better for layout and object editing. Which makes sense since I'm not an artist.
     
  17. jbr

    jbr

    Member
    70
    21
    8
    I've been using WINE to run the assembler without any problems; I just "converted" build.bat to build.sh like so:

    Code (Text):
    1. #!/bin/sh
    2. wine asm68k /k /p /o ae- sonic.asm, s1built.bin , , sonic.lst
    3. #wine rompad.exe s1built.bin 255 0
    4. wine fixheadr.exe s1built.bin
     
  18. Andrew75

    Andrew75

    Technical Artist Member
    2,030
    107
    43
    Project AXSX(Sonic Xtreme) + Misc Projects
    Hey guys, Awhile back I came across some kind of sonic level edit tool that extracted 128 x 128 or 256 x 256 tiles from the classic sonic games,
    It could also save them out into individual tiles while keeping names consistent.
    Does anyone know what program this was? I cant seem to remember.
    Need it by yesterday. :P
     
  19. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,742
    338
    63
    SonLVL
    SonLVL can extract chunks to individual numbered PNGs.
     
  20. Andrew75

    Andrew75

    Technical Artist Member
    2,030
    107
    43
    Project AXSX(Sonic Xtreme) + Misc Projects
    Thanks for the very quick responce!
    Now where can one get Disassembly versions of the games with ini files?