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?
    (sorry for double post, but I need to bring something up)

    Speaking of the Sonic 1 sound driver, there's a tiny problem that occurs when porting it to Sonic 2 using the Hg disassembly. It causes the damn thing to fucking explode in errors. Over 1000 of them, to be precise. So here's the question of the day:

    Is there a way to get music-related commands and similar to use non-ID music with the Hg disassembly?
     
  2. redhotsonic

    redhotsonic Also known as RHS Member

    Joined:
    Aug 10, 2007
    Messages:
    2,969
    Location:
    England
    Can you post a snip-it of these errors?
     
  3. ThomasThePencil

    ThomasThePencil resident psycho Member

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


    Can you post a snip-it of these errors?

    My mistake, there are only 133 of them. But nevertheless, that's still quite a lot.


    > > >s2.constants.asm(673): error: symbol undefined
    > > > zMasterPlaylist
    > > > offset := zMasterPlaylist
    > > >s2.constants.asm(680): error: symbol undefined
    > > > zMusIDPtr_2PResult
    > > > MusID_2PResult = id(zMusIDPtr_2PResult) ; 81
    > > >s2.constants.asm(681): error: symbol undefined
    > > > zMusIDPtr_EHZ
    > > > MusID_EHZ = id(zMusIDPtr_EHZ) ; 82
    > > >s2.constants.asm(682): error: symbol undefined
    > > > zMusIDPtr_MCZ_2P
    > > > MusID_MCZ_2P = id(zMusIDPtr_MCZ_2P) ; 83
    > > >s2.constants.asm(683): error: symbol undefined
    > > > zMusIDPtr_OOZ
    > > > MusID_OOZ = id(zMusIDPtr_OOZ) ; 84
    > > >s2.constants.asm(684): error: symbol undefined
    > > > zMusIDPtr_MTZ
    > > > MusID_MTZ = id(zMusIDPtr_MTZ) ; 85
    > > >s2.constants.asm(685): error: symbol undefined
    > > > zMusIDPtr_HTZ
    > > > MusID_HTZ = id(zMusIDPtr_HTZ) ; 86
    > > >s2.constants.asm(686): error: symbol undefined
    > > > zMusIDPtr_ARZ
    > > > MusID_ARZ = id(zMusIDPtr_ARZ) ; 87
    > > >s2.constants.asm(687): error: symbol undefined
    > > > zMusIDPtr_CNZ_2P
    > > > MusID_CNZ_2P = id(zMusIDPtr_CNZ_2P) ; 88
    > > >s2.constants.asm(688): error: symbol undefined
    > > > zMusIDPtr_CNZ
    > > > MusID_CNZ = id(zMusIDPtr_CNZ) ; 89
    > > >s2.constants.asm(689): error: symbol undefined
    > > > zMusIDPtr_DEZ
    > > > MusID_DEZ = id(zMusIDPtr_DEZ) ; 8A
    > > >s2.constants.asm(690): error: symbol undefined
    > > > zMusIDPtr_MCZ
    > > > MusID_MCZ = id(zMusIDPtr_MCZ) ; 8B
    > > >s2.constants.asm(691): error: symbol undefined
    > > > zMusIDPtr_EHZ_2P
    > > > MusID_EHZ_2P = id(zMusIDPtr_EHZ_2P) ; 8C
    > > >s2.constants.asm(692): error: symbol undefined
    > > > zMusIDPtr_SCZ
    > > > MusID_SCZ = id(zMusIDPtr_SCZ) ; 8D
    > > >s2.constants.asm(693): error: symbol undefined
    > > > zMusIDPtr_CPZ
    > > > MusID_CPZ = id(zMusIDPtr_CPZ) ; 8E
    > > >s2.constants.asm(694): error: symbol undefined
    > > > zMusIDPtr_WFZ
    > > > MusID_WFZ = id(zMusIDPtr_WFZ) ; 8F
    > > >s2.constants.asm(695): error: symbol undefined
    > > > zMusIDPtr_HPZ
    > > > MusID_HPZ = id(zMusIDPtr_HPZ) ; 90
    > > >s2.constants.asm(696): error: symbol undefined
    > > > zMusIDPtr_Options
    > > > MusID_Options = id(zMusIDPtr_Options) ; 91
    > > >s2.constants.asm(697): error: symbol undefined
    > > > zMusIDPtr_SpecStage
    > > > MusID_SpecStage = id(zMusIDPtr_SpecStage) ; 92
    > > >s2.constants.asm(698): error: symbol undefined
    > > > zMusIDPtr_Boss
    > > > MusID_Boss = id(zMusIDPtr_Boss) ; 93
    > > >s2.constants.asm(699): error: symbol undefined
    > > > zMusIDPtr_EndBoss
    > > > MusID_EndBoss = id(zMusIDPtr_EndBoss) ; 94
    > > >s2.constants.asm(700): error: symbol undefined
    > > > zMusIDPtr_Ending
    > > > MusID_Ending = id(zMusIDPtr_Ending) ; 95
    > > >s2.constants.asm(701): error: symbol undefined
    > > > zMusIDPtr_SuperSonic
    > > > MusID_SuperSonic = id(zMusIDPtr_SuperSonic); 96
    > > >s2.constants.asm(702): error: symbol undefined
    > > > zMusIDPtr_Invincible
    > > > MusID_Invincible = id(zMusIDPtr_Invincible); 97
    > > >s2.constants.asm(703): error: symbol undefined
    > > > zMusIDPtr_ExtraLife
    > > > MusID_ExtraLife = id(zMusIDPtr_ExtraLife) ; 98
    > > >s2.constants.asm(704): error: symbol undefined
    > > > zMusIDPtr_Title
    > > > MusID_Title = id(zMusIDPtr_Title) ; 99
    > > >s2.constants.asm(705): error: symbol undefined
    > > > zMusIDPtr_EndLevel
    > > > MusID_EndLevel = id(zMusIDPtr_EndLevel) ; 9A
    > > >s2.constants.asm(706): error: symbol undefined
    > > > zMusIDPtr_GameOver
    > > > MusID_GameOver = id(zMusIDPtr_GameOver) ; 9B
    > > >s2.constants.asm(707): error: symbol undefined
    > > > zMusIDPtr_Continue
    > > > MusID_Continue = id(zMusIDPtr_Continue) ; 9C
    > > >s2.constants.asm(708): error: symbol undefined
    > > > zMusIDPtr_Emerald
    > > > MusID_Emerald = id(zMusIDPtr_Emerald) ; 9D
    > > >s2.constants.asm(709): error: symbol undefined
    > > > zMusIDPtr_Credits
    > > > MusID_Credits = id(zMusIDPtr_Credits) ; 9E
    > > >s2.constants.asm(710): error: symbol undefined
    > > > zMusIDPtr_Countdown
    > > > MusID_Countdown = id(zMusIDPtr_Countdown) ; 9F
    > > >s2.constants.asm(711): error: symbol undefined
    > > > zMusIDPtr__End
    > > > MusID__End = id(zMusIDPtr__End) ; A0
    > > >s2.asm(1055): error: symbol undefined
    > > > zComRange
    > > > lea (Z80_RAM+zComRange).l,a1 ; $A01B80
    > > >s2.asm(1055): error: addressing mode not allowed here
    > > > lea (Z80_RAM+zComRange).l,a1 ; $A01B80
    > > >s2.asm(1271): error: symbol undefined
    > > > Kos_Z80
    > > > lea (Kos_Z80).l,a0
    > > >s2.asm(1271): error: addressing mode not allowed here
    > > > lea (Kos_Z80).l,a0
    > > >s2.asm(4104) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_EHZ
    > > > dc.b MUSID_EHZ
    > > >s2.asm(4105) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_EHZ
    > > > dc.b MUSID_EHZ
    > > >s2.asm(4106) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_MTZ
    > > > dc.b MUSID_MTZ
    > > >s2.asm(4107) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_OOZ
    > > > dc.b MUSID_OOZ
    > > >s2.asm(4108) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_MTZ
    > > > dc.b MUSID_MTZ
    > > >s2.asm(4109) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_MTZ
    > > > dc.b MUSID_MTZ
    > > >s2.asm(4110) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_WFZ
    > > > dc.b MUSID_WFZ
    > > >s2.asm(4111) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_HTZ
    > > > dc.b MUSID_HTZ
    > > >s2.asm(4112) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_HPZ
    > > > dc.b MUSID_HPZ
    > > >s2.asm(4113) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_SCZ
    > > > dc.b MUSID_SCZ
    > > >s2.asm(4114) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_OOZ
    > > > dc.b MUSID_OOZ
    > > >s2.asm(4115) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_MCZ
    > > > dc.b MUSID_MCZ
    > > >s2.asm(4116) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_CNZ
    > > > dc.b MUSID_CNZ
    > > >s2.asm(4117) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_CPZ
    > > > dc.b MUSID_CPZ
    > > >s2.asm(4118) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_DEZ
    > > > dc.b MUSID_DEZ
    > > >s2.asm(4119) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_ARZ
    > > > dc.b MUSID_ARZ
    > > >s2.asm(4120) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_SCZ
    > > > dc.b MUSID_SCZ
    > > >s2.asm(4128) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_EHZ_2P
    > > > dc.b MUSID_EHZ_2P
    > > >s2.asm(4129) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_EHZ
    > > > dc.b MUSID_EHZ
    > > >s2.asm(4130) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_MTZ
    > > > dc.b MUSID_MTZ
    > > >s2.asm(4131) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_OOZ
    > > > dc.b MUSID_OOZ
    > > >s2.asm(4132) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_MTZ
    > > > dc.b MUSID_MTZ
    > > >s2.asm(4133) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_MTZ
    > > > dc.b MUSID_MTZ
    > > >s2.asm(4134) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_WFZ
    > > > dc.b MUSID_WFZ
    > > >s2.asm(4135) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_HTZ
    > > > dc.b MUSID_HTZ
    > > >s2.asm(4136) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_HPZ
    > > > dc.b MUSID_HPZ
    > > >s2.asm(4137) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_SCZ
    > > > dc.b MUSID_SCZ
    > > >s2.asm(4138) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_OOZ
    > > > dc.b MUSID_OOZ
    > > >s2.asm(4139) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_MCZ_2P
    > > > dc.b MUSID_MCZ_2P
    > > >s2.asm(4140) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_CNZ_2P
    > > > dc.b MUSID_CNZ_2P
    > > >s2.asm(4141) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_CPZ
    > > > dc.b MUSID_CPZ
    > > >s2.asm(4142) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_DEZ
    > > > dc.b MUSID_DEZ
    > > >s2.asm(4143) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_ARZ
    > > > dc.b MUSID_ARZ
    > > >s2.asm(4144) ZONETABLEENTRY(7): error: symbol undefined
    > > > MUSID_SCZ
    > > > dc.b MUSID_SCZ
    > > >s2.asm(5995): error: symbol undefined
    > > > MusID_SpecStage
    > > > move.w #MusID_SpecStage,d0
    > > >s2.asm(6119): error: symbol undefined
    > > > MusID_EndLevel
    > > > move.w #MusID_EndLevel,d0
    > > >s2.asm(9601): error: symbol undefined
    > > > MusID_Continue
    > > > move.b #MusID_Continue,d0
    > > >s2.asm(10011): error: symbol undefined
    > > > MusID_2PResult
    > > > move.b #MusID_2PResult,d0
    > > >s2.asm(11062): error: symbol undefined
    > > > MusID_Options
    > > > move.b #MusID_Options,d0
    > > >s2.asm(11327): error: symbol undefined
    > > > MusID_Options
    > > > move.b #MusID_Options,d0
    > > >s2.asm(11644): error: symbol undefined
    > > > MusID_Options
    > > > move.b #MusID_Options,d0
    > > >s2.asm(12076): error: symbol undefined
    > > > MusID_Emerald
    > > > move.b #MusID_Emerald,d0 ; Play the emerald jingle
    > > >s2.asm(12228): error: symbol undefined
    > > > MusID_Ending
    > > > moveq #MusID_Ending,d0
    > > >s2.asm(12338): error: symbol undefined
    > > > MusID_Credits
    > > > moveq #MusID_Credits,d0
    > > >s2.asm(12852): error: addressing mode not allowed on 68000
    > > > move.l word_A656(pc,d0.w),d1
    > > >s2.asm(12852): error: addressing mode not allowed here
    > > > move.l word_A656(pc,d0.w),d1
    > > >s2.asm(18245): error: symbol undefined
    > > > MusID_Boss
    > > > move.w #MusID_Boss,d0
    > > >s2.asm(18349): error: symbol undefined
    > > > MusID_Boss
    > > > move.w #MusID_Boss,d0
    > > >s2.asm(19048): error: symbol undefined
    > > > MusID_Boss
    > > > move.w #MusID_Boss,d0
    > > >s2.asm(19151): error: symbol undefined
    > > > MusID_Boss
    > > > move.w #MusID_Boss,d0
    > > >s2.asm(19250): error: symbol undefined
    > > > MusID_Boss
    > > > move.w #MusID_Boss,d0
    > > >s2.asm(19348): error: symbol undefined
    > > > MusID_Boss
    > > > move.w #MusID_Boss,d0
    > > >s2.asm(19431): error: symbol undefined
    > > > MusID_Boss
    > > > move.w #MusID_Boss,d0
    > > >s2.asm(19573): error: symbol undefined
    > > > MusID_Boss
    > > > move.w #MusID_Boss,d0
    > > >s2.asm(22698): error: symbol undefined
    > > > MusID_ExtraLife
    > > > move.w #MusID_ExtraLife,d0 ; prepare to play the extra life jingle
    > > >s2.asm(22732): error: symbol undefined
    > > > MusID_ExtraLife
    > > > move.w #MusID_ExtraLife,d0 ; prepare to play the extra life jingle
    > > >s2.asm(23425): error: symbol undefined
    > > > MusID_ExtraLife
    > > > move.w #MusID_ExtraLife,d0
    > > >s2.asm(23436): error: symbol undefined
    > > > MusID_ExtraLife
    > > > move.w #MusID_ExtraLife,d0
    > > >s2.asm(23547): error: symbol undefined
    > > > MusID_Invincible
    > > > move.w #MusID_Invincible,d0
    > > >s2.asm(23873): error: symbol undefined
    > > > MusID_Title
    > > > moveq #MusID_Title,d0 ; title music
    > > >s2.asm(24532): error: symbol undefined
    > > > MusID_Title
    > > > moveq #MusID_Title,d0 ; title music
    > > >s2.asm(31561): error: symbol undefined
    > > > MusID_EndLevel
    > > > move.w #MusID_EndLevel,d0
    > > >s2.asm(33848): error: symbol undefined
    > > > MusID_SuperSonic
    > > > move.w #MusID_SuperSonic,d0
    > > >s2.asm(34586): error: symbol undefined
    > > > MusID_GameOver
    > > > move.w #MusID_GameOver,d0
    > > >s2.asm(37281): error: symbol undefined
    > > > MusID_GameOver
    > > > move.w #MusID_GameOver,d0
    > > >s2.asm(38119): error: symbol undefined
    > > > MusID_Countdown
    > > > move.w #MusID_Countdown,d0
    > > >s2.asm(38276): error: symbol undefined
    > > > MusID_Invincible
    > > > move.w #MusID_Invincible,d0 ; prepare to play invincibility music
    > > >s2.asm(38280): error: symbol undefined
    > > > MusID_SuperSonic
    > > > move.w #MusID_SuperSonic,d0 ; prepare to play super sonic music
    > > >s2.asm(38284): error: symbol undefined
    > > > MusID_Boss
    > > > move.w #MusID_Boss,d0 ; prepare to play boss music
    > > >s2.asm(51140): error: addressing mode not allowed on 68000
    > > > lea byte_28726(pc,d1.w),a1
    > > >s2.asm(51140): error: addressing mode not allowed here
    > > > lea byte_28726(pc,d1.w),a1
    > > >s2.asm(67688): error: symbol undefined
    > > > MusID_Emerald
    > > > move.w #MusID_Emerald,d0
    > > >s2.asm(72679): error: symbol undefined
    > > > MusID_Boss
    > > > moveq #MusID_Boss,d0
    > > >s2.asm(76369): error: symbol undefined
    > > > MusID_Boss
    > > > moveq #MusID_Boss,d0
    > > >s2.asm(76562): error: symbol undefined
    > > > MusID_WFZ
    > > > moveq #MusID_WFZ,d0
    > > >s2.asm(77713): error: symbol undefined
    > > > MusID_EndBoss
    > > > moveq #MusID_EndBoss,d0
    > > >s2.asm(82639): error: symbol undefined
    > > > MusID_ExtraLife
    > > > move.w #MusID_ExtraLife,d0
    > > >s2.asm(82674): error: symbol undefined
    > > > MusID_ExtraLife
    > > > move.w #MusID_ExtraLife,d0
    > > >s2.asm(82911): error: symbol undefined
    > > > MusID_Countdown
    > > > move.w #MusID_Countdown,d0
    > > >s2.asm(86623): error: symbol undefined
    > > > zPalModeByte
    > > > sne (Z80_RAM+zPalModeByte).l ; set if PAL
    > > >s2.asm(86623): error: addressing mode not allowed here
    > > > sne (Z80_RAM+zPalModeByte).l ; set if PAL
    > > >S1 Sound Driver.asm(5): error: symbol undefined
    > > > SoundD0Index
    > > > Go_SoundD0: dc.l SoundD0Index
    > > >S1 Sound Driver.asm(30): error: symbol undefined
    > > > Music81
    > > > MusicIndex: dc.l Music81, Music82
    > > >S1 Sound Driver.asm(31): error: symbol undefined
    > > > Music83
    > > > dc.l Music83, Music84
    > > >S1 Sound Driver.asm(32): error: symbol undefined
    > > > Music85
    > > > dc.l Music85, Music86
    > > >S1 Sound Driver.asm(33): error: symbol undefined
    > > > Music87
    > > > dc.l Music87, Music88
    > > >S1 Sound Driver.asm(34): error: symbol undefined
    > > > Music89
    > > > dc.l Music89, Music8A
    > > >S1 Sound Driver.asm(35): error: symbol undefined
    > > > Music8B
    > > > dc.l Music8B, Music8C
    > > >S1 Sound Driver.asm(36): error: symbol undefined
    > > > Music8D
    > > > dc.l Music8D, Music8E
    > > >S1 Sound Driver.asm(37): error: symbol undefined
    > > > Music8F
    > > > dc.l Music8F, Music90
    > > >S1 Sound Driver.asm(38): error: symbol undefined
    > > > Music91
    > > > dc.l Music91, Music92
    > > >S1 Sound Driver.asm(39): error: symbol undefined
    > > > Music93
    > > > dc.l Music93
    > > >S1 Sound Driver.asm(79): error: symbol undefined
    > > > loc_7g
    > > > bne.w loc_7g
    > > >S1 Sound Driver.asm(81): error: symbol undefined
    > > > loc_71B9E
    > > > bne.s loc_71B9E
    > > >S1 Sound Driver.asm(82): error: symbol undefined
    > > > sub_7
    > > > jsr sub_7
    > > >S1 Sound Driver.asm(82): warning: address is not properly aligned
    > > > jsr sub_7
    > > >S1 Sound Driver.asm(82): error: addressing mode not allowed here
    > > > jsr sub_7


    However, my question of the day still stands unanswered:

     
  4. ThomasThePencil

    ThomasThePencil resident psycho Member

    Joined:
    Jan 29, 2013
    Messages:
    910
    Location:
    the united states. where else?
    ...Is anyone going to answer my question? I need to know soon so I can start setting my disassembly up.
     
  5. JoenickROS

    JoenickROS ROS (bug fixing in progress) Member

    Joined:
    Feb 5, 2012
    Messages:
    929
    Thomas you need to be patient, people on here have lives to attend to and with that kind of attitude people wont want to help. Im not trying to sound like an ass but its the truth, question did you try to figure any of them out by yourself yet and btw people wont just hand stuff out to you on a silver platter.

    EDIT: I would help if I used the HG disassembly
     
    Last edited by a moderator: Mar 15, 2013
  6. 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
    I'll take a guess and say that these were the names of the tracks in the original disasm. Essentially, you either need to change all this "#musID_?" nonsense back into numbers, otherwise this is going to keep happening and happening.
     
  7. ThomasThePencil

    ThomasThePencil resident psycho Member

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

    Thomas you need to be patient, people on here have lives to attend to and with that kind of attitude people wont want to help. Im not trying to sound like an ass but its the truth, question did you try to figure any of them out by yourself yet and btw people wont just hand stuff out to you on a silver platter.

    EDIT: I would help if I used the HG disassembly

    I can understand the whole using-the-Xenowhirl-disassembly-since-it's-apparently-easier-to-work-with thing. And I hate to rain on your parade, but SuperEgg has already explained the whole silver platter thing to me.

    Got it. If I modify my disassembly to use non-ID music instead of hard-coded ID's, I should b able to port the Sonic 1 sound driver without a problem! I'll get on it right away...when I have a sufficient amount of time :3
     
  8. redhotsonic

    redhotsonic Also known as RHS Member

    Joined:
    Aug 10, 2007
    Messages:
    2,969
    Location:
    England
    I  said a snip-it, not the whole list of errors =P

    No, I was in bed sleeping when you posted this; I have work to attend to in the mornings, be patient.

    Anyway, you're errors are pretty much self-explanatory.  "error: symbol undefined" is telling you that the label you're using doesn't exist.  Practically all the errors are saying the same thing.
     
  9. ThomasThePencil

    ThomasThePencil resident psycho Member

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


    No, I was in bed sleeping when you posted this; I have work to attend to in the mornings, be patient.

    Anyway, you're errors are pretty much self-explanatory.  "error: symbol undefined" is telling you that the label you're using doesn't exist.  Practically all the errors are saying the same thing.

    Well, regardless, a lot of the errors shown involve the "musID_" stuff. That's why I want to use non-ID music. It should get rid of a lot of my problems.

    Damnit, you caught me again =P
     
    Last edited by a moderator: Mar 15, 2013
  10. ThomasThePencil

    ThomasThePencil resident psycho Member

    Joined:
    Jan 29, 2013
    Messages:
    910
    Location:
    the united states. where else?
    (making an announcement, feel free to move this post somewhere if necessary)

    Okay, so I'm going to make an Hg disassembly adaptation of the guide on porting the Sonic 1 sound driver to Sonic 2. If people are okay with it, I'm going to give the link below and keep the topic locked until I'm done with the first few steps. Here's the link to the tutorial topic:

    http://sonicresearch.org/forums/index.php?showtopic=3487

    I'm off to get to writing that guide.

    EDIT: Topic is now open for discussion.

    EDIT 2: Has anyone realized that this is my first big ASM edit all by myself (minus the original Sonic 1 sound driver guide)?
     
    Last edited by a moderator: Mar 16, 2013
  11. ThomasThePencil

    ThomasThePencil resident psycho Member

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

    Why does it seem like nobody has looked at my guide?
     
  12. nineko

    nineko I am the Holy Cat Member

    Joined:
    Mar 24, 2008
    Messages:
    1,902
    Location:
    italy
    I did, but:

    • I don't hack Sonic 2
    • If I wanted to hack Sonic 2 I wouldn't use the Hg disassembly
    • Even if I hacked Sonic 2 and used the Hg disassembly, I would never want to use the Sonic 1 driver, but rather the Sonic & Knuckles one
    It's hard to say "nice work" for something you're not really interested into.

    The bottom line is, you should hack because you like it, not to impress other people. It's not a job, it's a hobby. Though I can see where you're coming from, I was rather disappointed when I found out only few people were interested in my xm2smps at first, to the point I canceled the development several times until xm3smps became the popular choice. I guess another bottom line is never give up.
     
    Last edited by a moderator: Mar 16, 2013
  13. ThomasThePencil

    ThomasThePencil resident psycho Member

    Joined:
    Jan 29, 2013
    Messages:
    910
    Location:
    the united states. where else?
    The point of my adaptations (like the Sonic 1 sound driver one I mentioned) is to help people slowly switch from the Xenowhirl disassembly to the Hg disassembly, but I'm not sure it'll actually happen for a little while (people may still want to use the Xenowhirl disassembly). I do, however, hope that, someday, the Hg disassembly becomes widely used.
     
  14. Crash

    Crash Well-Known Member Member

    Joined:
    Jul 15, 2010
    Messages:
    302
    Location:
    Australia
    But all you did was tell people to change everything to hard coded values, almost entirely defeating the purpose of switching to the new disassembly.
     
  15. ThomasThePencil

    ThomasThePencil resident psycho Member

    Joined:
    Jan 29, 2013
    Messages:
    910
    Location:
    the united states. where else?
    Actually, it's a bit more complicated than that. You see, the Sonic 1 sound driver (both old and new) do not use ID's like the Sonic 2 Hg disassembly's driver, and as such, the damn thing explodes in errors when you try to port the Sonic 1 sound driver. And then there's the fact that step 3 of that guide actually causes problems with the Sonic 2 sound driver if you still wished to use it, which I highly doubt. Since some people may want to use the Hg disassembly, I've decided to help those people be able to use the Sonic 1 sound driver.
     
  16. Crash

    Crash Well-Known Member Member

    Joined:
    Jul 15, 2010
    Messages:
    302
    Location:
    Australia
    You know the music pointer list in the tutorial you linked is based on the old Hivebrain disassembly i.e. the Sonic 1 equivalent of the Xenowhirl disassembly:



    MusicIndex: dc.l Music81, Music82dc.l Music83, Music84

    dc.l Music85, Music86

    dc.l Music87, Music88

    dc.l Music89, Music8A

    dc.l Music8B, Music8C

    dc.l Music8D, Music8E

    dc.l Music8F, Music90

    dc.l Music91, Music92

    dc.l Music93



    It looks like this in the HG disassambly. Just replace the old table with this one.



    MusicIndex:ptr_mus81: dc.l Music81

    ptr_mus82: dc.l Music82

    ptr_mus83: dc.l Music83

    ptr_mus84: dc.l Music84

    ptr_mus85: dc.l Music85

    ptr_mus86: dc.l Music86

    ptr_mus87: dc.l Music87

    ptr_mus88: dc.l Music88

    ptr_mus89: dc.l Music89

    ptr_mus8A: dc.l Music8A

    ptr_mus8B: dc.l Music8B

    ptr_mus8C: dc.l Music8C

    ptr_mus8D: dc.l Music8D

    ptr_mus8E: dc.l Music8E

    ptr_mus8F: dc.l Music8F

    ptr_mus90: dc.l Music90

    ptr_mus91: dc.l Music91

    ptr_mus92: dc.l Music92

    ptr_mus93: dc.l Music93



    So then you change the constants from this:



    MusID__First = idstart

    MusID_2PResult = id(zMusIDPtr_2PResult) ; 81

    MusID_EHZ = id(zMusIDPtr_EHZ) ; 82

    MusID_MCZ_2P = id(zMusIDPtr_MCZ_2P) ; 83

    ...



    To this:




    MusID_2PResult equ ((ptr_mus81-MusicIndex)/4)+$81 ; 81

    MusID_EHZ equ ((ptr_mus82-MusicIndex)/4)+$81 ; 82

    MusID_MCZ_2P equ ((ptr_mus83-MusicIndex)/4)+$81 ; 83

    ...



    Same thing with the sound list.

    (Note that I haven't actually tested this, but it should work in theory :p)
     
  17. ThomasThePencil

    ThomasThePencil resident psycho Member

    Joined:
    Jan 29, 2013
    Messages:
    910
    Location:
    the united states. where else?
    Ah, thank you. I did not pick up on that somehow. I will get to updating my guide with this method straightaway, and you, my friend, will certainly be given credit for figuring that out!


    EDIT: Do I still need MusID__First, MusID__End, SndID_First, and SndID_End with your method?
     
    Last edited by a moderator: Mar 17, 2013
  18. ThomasThePencil

    ThomasThePencil resident psycho Member

    Joined:
    Jan 29, 2013
    Messages:
    910
    Location:
    the united states. where else?
    Umm...can someone supply me with a copy of the Sonic 2 Clone Driver? If not, does anyone know where I can get it? Please don't tell me to go to the Sonic Retro topic, because the link there is broken.

    EDIT: Never mind. I have them now.
     
    Last edited by a moderator: Mar 17, 2013
  19. ThomasThePencil

    ThomasThePencil resident psycho Member

    Joined:
    Jan 29, 2013
    Messages:
    910
    Location:
    the united states. where else?
    New question: Does anyone know of any programs that can convert an SMPS song from .asm format to .bin format? This is assuming that the .asm file in question is generated by smps2asm.

    EDIT: If it's any easier, can someone give a Sonic 1-prepared version of the wall grab, land-from-glide, and slide-along-ground sounds for use with Knuckles? (I have the Sonic 2 Clone Driver ready to go, but those three sounds are what I still need.)

    EDIT 2: Speaking of the Clone Driver, I need a little help with a few final errors I found. The following list only has errors I don't know how to fix.

    Code:
    > > >s2.asm(79968) PLREQ(1): error: symbol undefined
    > > > ARTNEM_WATERFALL
    > > >         dc.l    ARTNEM_WATERFALL
    > > >s2.asm(79969) PLREQ(1): error: symbol undefined
    > > > ARTNEM_EHZ_BRIDGE
    > > >         dc.l    ARTNEM_EHZ_BRIDGE
    > > >s2.asm(79970) PLREQ(1): error: symbol undefined
    > > > ARTNEM_BUZZER_FIREBALL
    > > >         dc.l    ARTNEM_BUZZER_FIREBALL
    > > >s2.asm(80018) PLREQ(1): error: symbol undefined
    > > > ARTNEM_MTZWHEEL
    > > >         dc.l    ARTNEM_MTZWHEEL
    > > >s2.asm(80019) PLREQ(1): error: symbol undefined
    > > > ARTNEM_MTZWHEELINDENT
    > > >         dc.l    ARTNEM_MTZWHEELINDENT
    > > >s2.asm(80020) PLREQ(1): error: symbol undefined
    > > > ARTNEM_LAVACUP
    > > >         dc.l    ARTNEM_LAVACUP
    > > >s2.asm(80021) PLREQ(1): error: symbol undefined
    > > > ARTNEM_BOLTEND_ROPE
    > > >         dc.l    ARTNEM_BOLTEND_ROPE
    > > >s2.asm(80022) PLREQ(1): error: symbol undefined
    > > > ARTNEM_MTZSTEAM
    > > >         dc.l    ARTNEM_MTZSTEAM
    > > >s2.asm(80023) PLREQ(1): error: symbol undefined
    > > > ARTNEM_MTZSPIKEBLOCK
    > > >         dc.l    ARTNEM_MTZSPIKEBLOCK
    > > >s2.asm(80024) PLREQ(1): error: symbol undefined
    > > > ARTNEM_MTZSPIKE
    > > >         dc.l    ARTNEM_MTZSPIKE
    > > >s2.asm(80038) PLREQ(1): error: symbol undefined
    > > > ARTNEM_MTZASSTBLOCKS
    > > >         dc.l    ARTNEM_MTZASSTBLOCKS
    > > >s2.asm(80039) PLREQ(1): error: symbol undefined
    > > > ARTNEM_MTZLAVABUBBLE
    > > >         dc.l    ARTNEM_MTZLAVABUBBLE
    > > >s2.asm(80040) PLREQ(1): error: symbol undefined
    > > > ARTNEM_MTZCOG
    > > >         dc.l    ARTNEM_MTZCOG
    > > >s2.asm(80041) PLREQ(1): error: symbol undefined
    > > > ARTNEM_MTZUNKBLOCKS
    > > >         dc.l    ARTNEM_MTZUNKBLOCKS
    > > >s2.asm(80084) PLREQ(1): error: symbol undefined
    > > > ARTNEM_BUZZER_FIREBALL
    > > >         dc.l    ARTNEM_BUZZER_FIREBALL
    > > >s2.asm(80085) PLREQ(1): error: symbol undefined
    > > > ARTNEM_HTZROCK
    > > >         dc.l    ARTNEM_HTZROCK
    > > >s2.asm(80086) PLREQ(1): error: symbol undefined
    > > > ARTNEM_HTZSEESAW
    > > >         dc.l    ARTNEM_HTZSEESAW
    > > >s2.asm(80087) PLREQ(1): error: symbol undefined
    > > > ARTNEM_SOL
    > > >         dc.l    ARTNEM_SOL
    > > >s2.asm(80100) PLREQ(1): error: symbol undefined
    > > > ARTNEM_HTZZIPLINE
    > > >         dc.l    ARTNEM_HTZZIPLINE
    > > >s2.asm(80101) PLREQ(1): error: symbol undefined
    > > > ARTNEM_HTZFIREBALL
    > > >         dc.l    ARTNEM_HTZFIREBALL
    > > >s2.asm(80102) PLREQ(1): error: symbol undefined
    > > > ARTNEM_HTZVALVEBARRIER
    > > >         dc.l    ARTNEM_HTZVALVEBARRIER
    > > >s2.asm(80163) PLREQ(1): error: symbol undefined
    > > > ARTNEM_CRATE
    > > >         dc.l    ARTNEM_CRATE
    > > >s2.asm(80164) PLREQ(1): error: symbol undefined
    > > > ARTNEM_MCZCOLLAPSEPLAT
    > > >         dc.l    ARTNEM_MCZCOLLAPSEPLAT
    > > >s2.asm(80165) PLREQ(1): error: symbol undefined
    > > > ARTNEM_VINESWITCH
    > > >         dc.l    ARTNEM_VINESWITCH
    > > >s2.asm(80166) PLREQ(1): error: symbol undefined
    > > > ARTNEM_VINEPULLEY
    > > >         dc.l    ARTNEM_VINEPULLEY
    > > >s2.asm(80177) PLREQ(1): error: symbol undefined
    > > > ARTNEM_MCZGATELOG
    > > >         dc.l    ARTNEM_MCZGATELOG
    > > >s2.asm(83364): error: symbol undefined
    > > > zPalModeByte
    > > > 	sne	(Z80_RAM+zPalModeByte).l	; set if PAL
    > > >s2.asm(83364): error: addressing mode not allowed here
    > > > 	sne	(Z80_RAM+zPalModeByte).l	; set if PAL
    > > >s2.asm(83388): error: symbol undefined
    > > > Snd_Driver_End
    > > > movewZ80CompSize:	move.w	#Snd_Driver_End-Snd_Driver,d7 ; patched (by fixpointer.exe) after compression since the exact size can't be known beforehand
    
    
     
    Last edited by a moderator: Mar 18, 2013
  20. rika_chou

    rika_chou Adopt Member

    Joined:
    Aug 11, 2007
    Messages:
    689
    "symbol undefined"

    This mean that, for example, "ARTNEM_WATERFALL" does not exist in your dissasembly. Same thing for all those errors.
     
Thread Status:
Not open for further replies.