Having Trouble with Sonic 3's sound driver in Sonic 1,what i'm doing wrong?

Discussion in 'Discussion & Q&A' started by Sdev, May 28, 2020.

  1. Sdev

    Sdev Newcomer In Limbo

    Joined:
    Apr 23, 2020
    Messages:
    10
    Hello SSRG members!
    I have not been long in hacking Sonic Roms so i can't say Much, but i have been Having Trouble Using S3'S Driver in Sonic 1,wich just Refuses to work Properly as i'm never able to Get past The Title screen, any idea On what may be the cause? I have Followed The Guides Like intended But the Game Does Not like the Driver for some Reason... Thanks and Hope if there's More members like me that we can Try to help each other! Thanks again, and hope i'm not a Bother.
     
  2. penPhobic

    penPhobic No laughing near the emerald! Member

    Joined:
    Dec 11, 2016
    Messages:
    45
    Location:
    Basement
    Sonic 3 driver, huh? Well, here's a solution right here.
     
    ProjectFM likes this.
  3. Sdev

    Sdev Newcomer In Limbo

    Joined:
    Apr 23, 2020
    Messages:
    10
    Thanks! I really needed that, as i'm not able to load any levels since i installed The Sound Driver, i will use that small guide and try to see if can get it to work then.
     
    Last edited: May 28, 2020
  4. Tanman Tanner

    Tanman Tanner Well-Known Member Member

    Joined:
    Dec 23, 2016
    Messages:
    100
    Location:
    Buffalo, New York
    If I'm assuming correctly, you're using the Sonic 3 Sound Driver to Sonic 1 guide (http://info.sonicretro.org/SCHG_How-to:port_Sonic_3's_Sound_Driver_to_Sonic_1), correct? I used that guide a long time ago, but nowadays that sound driver specifically is awfully outdated by today's standards.

    I have a suggestion if you haven't gotten too far into your ROM Hack to instead restart on a disassembly that has the AMPS driver installed, or (preferably I prefer this despite AMPS being hip nowadays, if it ain't broke don't fix it I guess?) getting the AS branch of the sonicretro's s1disasm github repo and installing The Sonic 2 Clone Driver v2, which has the capability to play Sonic 3 music out of the kit (with of course some alterations to your ROM's space to actually fit the Sonic 3 & Knuckles instruments, as the Sonic 1 instrumentation dwarfs these 2 games' instruments).
    If you do go with the 2nd one, if you get stuck setting it up, I can probably reply to a PM if you send it to me, and I can probably show you how you can use every possible instrument (although knowing how I did it, it could have some ill effects on the ROM itself, but not devastating 'oh no it won't even run' effects, just occasional hiccups and slowdowns I'd say).

    But if you're hesitant and really would like the Sonic 3 sound driver alone, I would suggest Flamedriver, which is an updated and improved version of the old Sonic 3 & Sonic Knuckles sound driver, and it just so happens there is a guide for installing it into a Sonic 1 disassembly (http://info.sonicretro.org/SCHG_How-to:port_Flamewing's_Sonic_3_&_Knuckles_Sound_Driver).
     
    Last edited: May 28, 2020
    ProjectFM and Sdev like this.
  5. Sdev

    Sdev Newcomer In Limbo

    Joined:
    Apr 23, 2020
    Messages:
    10
    I did use indeed the Sonic 3 To Sonic 1 Guide and did exactly like it asked on a Clean Sonic 1 Dissasembly and in one of my hack's dissasemblies, on both i got the Driver to work as i heard the FBZ act 2 theme on the title screen meaning that yes i can boot the game to the Title screen and if i acces the level select i can trigger Sound effects from Sonic 3 in theSound test option, but the game won't boot if i select any zone, it will just Go to A black screen and stay there till i restart the game not proceeding at all whatever i do and by the way i use The Github Dissasembly of Rev01 so some guides Won't work as they target specifically Hive Dissasemblies or Project 128 dissasemblies, i find that the Github Dissasembly is easier to use at least for me, but it lacks a lot of guides specifically with a part for it! And yes i would Prefer the S3 Driver specifically as i have heard the S2 Modified Driver has some issues, and if possible one that can be used on a base Github dissasembly, as i don't understand The Hive one, The 128 project has No Sonlvl wich is my main level editor and because i'm pretty bad at coding in complex stuff.
     
    Last edited: May 28, 2020
  6. Kurk

    Kurk Le crétin Member

    Joined:
    Jul 30, 2016
    Messages:
    64
    Location:
    Ikea office chair
    Which Sonic 3 sound driver guide are you talking about? I created the guide for porting the Flamedriver to S1, and I've never had bugs like what you described.
     
  7. Sdev

    Sdev Newcomer In Limbo

    Joined:
    Apr 23, 2020
    Messages:
    10
    Thanks for the Fix!
    Errors i get:
    C:\USERS\S0N1C\DOCUMENTS\SONIC 1 TWO-EIGHT\SONIC1.ASM(1144) : Error : Op-code not recognised
    locate 'playsound:'. it
    C:\USERS\S0N1C\DOCUMENTS\SONIC 1 TWO-EIGHT\SONIC1.ASM(1189) : Error : Label 'playsound' multiply defined
    playsound:
    C:\USERS\S0N1C\DOCUMENTS\SONIC 1 TWO-EIGHT\SONIC1.ASM(1201) : Error : Label 'playsound_unk' multiply defined
    playsound_unk:
    C:\USERS\S0N1C\DOCUMENTS\SONIC 1 TWO-EIGHT\SONIC1.ASM(1207) : Error : Label 'playsound_special' multiply defined
    playsound_special:
    C:\USERS\S0N1C\DOCUMENTS\SONIC 1 TWO-EIGHT\SONIC1.ASM(1247) : Error : Label 'playsound' multiply defined
    playsound:
    C:\USERS\S0N1C\DOCUMENTS\SONIC 1 TWO-EIGHT\SONIC1.ASM(1265) : Error : Label 'playsound_special' multiply defined
    playsound_special:
    C:\USERS\S0N1C\DOCUMENTS\SONIC 1 TWO-EIGHT\SONIC1.ASM(1275) : Error : Label 'playsound_unk' multiply defined
    playsound_unk:
    Now only the labels are wrong,so i will try to fix them.Thanks again! You were of much help!
     

    Attached Files:

    Last edited: May 28, 2020
  8. Kurk

    Kurk Le crétin Member

    Joined:
    Jul 30, 2016
    Messages:
    64
    Location:
    Ikea office chair
    Well, the stopz80a and resetz80 macro errors are my fault. I forgot to change the “include macros.asm” to “include _inc/macros.asm” in the guide. I’ll fix it in a few minutes.
    For the PlaySound errors, it appears you copied all of the part for replacing PlaySound rather than just replacing PlaySound.
    As for the binclude error, I think you put the z80 code into the main sonic 1 asm file? I’ll have to try and reproduce this.
     
  9. Sdev

    Sdev Newcomer In Limbo

    Joined:
    Apr 23, 2020
    Messages:
    10
    Fellow members of SSRG,help!
    I redid the entire S1.asm part of the Sounddruver port and now i get these errors:
    C:\USERS\S0N1C\DOCUMENTS\SONIC 1 TWO-EIGHT\SONIC1.ASM(458) : Error : Symbol 'sub_71b4c' not defined
    C:\USERS\S0N1C\DOCUMENTS\SONIC 1 TWO-EIGHT\SONIC1.ASM(939) : Error : Symbol 'sub_71b4c' not defined
    C:\USERS\S0N1C\DOCUMENTS\SONIC 1 TWO-EIGHT\SONIC1.ASM(16144) : Error : Illegal zero length short branch
    and if i remove any of those the game breaks,so any fix to that?
    Thanks!
     
    Last edited: May 28, 2020
  10. TheChosenHacker

    TheChosenHacker Hi, how are you Member

    Joined:
    Aug 7, 2019
    Messages:
    187
    Location:
    A shed
    Hey there Sdev,

    I had issues before a while ago with the S3K driver to Sonic 1, but thank god Kurk helped you with that and I'm happy to see you are making progress. Well done, sir!

    Next time, can you save these questions in the basic questions and answers thread as it is wasting forum space? Also just be aware that the driver port isn't fully in its complete state and Kurk is working on make the port successful. I may be wrong but in case he changes it over time.
     
    Last edited: May 28, 2020
    Sdev likes this.
  11. Kurk

    Kurk Le crétin Member

    Joined:
    Jul 30, 2016
    Messages:
    64
    Location:
    Ikea office chair
    First two errors are my fault. I've fixed the guide to have fixes for those two bugs.
    As for the error at line 16144, could you show me what code is on that line? The error is not that descriptive.
     
  12. Sdev

    Sdev Newcomer In Limbo

    Joined:
    Apr 23, 2020
    Messages:
    10
    Ok will Show You that just a Second.
    C:\USERS\S0N1C\DOCUMENTS\SONIC 1 TWO-EIGHT\SONIC1.ASM(16147) : Error : Illegal zero length short branch
    The error is this.
    upload_2020-5-29_0-56-10.png
    Here you go i put an image of the line.
     
    Last edited: May 28, 2020
  13. Kurk

    Kurk Le crétin Member

    Joined:
    Jul 30, 2016
    Messages:
    64
    Location:
    Ikea office chair
    Can you send a .txt with the routine the line is in?
    EDIT: I submitted a fix for this on the retro guide.
     
  14. Sdev

    Sdev Newcomer In Limbo

    Joined:
    Apr 23, 2020
    Messages:
    10
    The Thing won't boot at all it just gives a checksum error, and if checksum is disabled the game Goes straight to a black screen,any idea on what to do?
     
    Last edited: May 29, 2020
  15. Kurk

    Kurk Le crétin Member

    Joined:
    Jul 30, 2016
    Messages:
    64
    Location:
    Ikea office chair
    Replace the whole Obj49_PlaySnd: Routine with this:
    Code:
    Obj49_PlaySnd:                ; XREF: Obj49_Index
           move.b    ($FFFFFE0F).w,d0
           andi.b    #$3F,d0
           move.w    8(a0),d0
           andi.w    #$FF80,d0
           move.w    ($FFFFF700).w,d1
           subi.w    #$80,d1
           andi.w    #$FF80,d1
           sub.w    d1,d0
           cmpi.w    #$280,d0
           bhi.w    DeleteObject
           rts
     
    Sdev likes this.
  16. Sdev

    Sdev Newcomer In Limbo

    Joined:
    Apr 23, 2020
    Messages:
    10
    Hello sorry for bothering more but the game refuses to boot,it gives a checksum error and if disabled the game will go just to a black screen and i'm not able to make it go any further than that,there is no more build errors but something is clearly wrong because the game won't boot,so what do i do now?
     
  17. Fadhil2314

    Fadhil2314 Newcomer Member

    Joined:
    Apr 14, 2020
    Messages:
    13
    Do you have the AutoFix Checksum on or off?
     
  18. death rapunzel

    death rapunzel i don't care anymore Member

    Joined:
    Aug 26, 2013
    Messages:
    1,062
    Location:
    Hell
    @Fadhil2314 Honestly, the actual checksum issue itself should be fixed in the ROM itself. Relying on the emulator to fix it for you is just lazy on the developer's part, and not every emulator (and also hardware) has that option. Also, they've already tried to disable the checksum and they say it still doesn't boot, so...

    @Sdev You're gonna have to get specific with how you went about porting over the driver. Just saying "it doesn't work" is too vague.
     
    ProjectFM likes this.
  19. Fadhil2314

    Fadhil2314 Newcomer Member

    Joined:
    Apr 14, 2020
    Messages:
    13
    Wait, So even disable the checksum doesn't make it work?
     
  20. death rapunzel

    death rapunzel i don't care anymore Member

    Joined:
    Aug 26, 2013
    Messages:
    1,062
    Location:
    Hell