Sonic Delta 40Mb

Discussion in 'Engineering & Reverse Engineering' started by Esrael, Mar 9, 2020.

  1. metanite

    metanite

    Member
    13
    0
    1
    Looking at the demos, the character distribution seems rather lopsided, giving Tails and Knuckles only one demo each. I don't know what the limits are for demos (if any), but a concept I had was to have Tails in all the Sonic 2 zone demos, Knuckles in all the Sonic & Knuckles zone demos, and the Sonic 3 zone demos get split evenly across all characters. Sonic would retain all the Sonic 1 zone demos, and I expect a few more demos would have to be recorded to even things out more since Sonic 3 and S&K get 3 demos each plus the special stage demo, while Sonic 1 and 2 each only get 2. In regards to the special stage, perhaps a demo of an S1 special stage as Sonic and an S2 special stage demo as Tails (while changing the Blue Spheres demo to Knuckles) would be nice. Additionally, it'd be a nice touch if the Bridge Zone demo was Sonic alone, instead of Sonic & Tails.

    Lastly, a really minor nitpick: the Angel Island demo still uses the Super transformation cutscene at the beginning of the level instead of the custom surfing cutscene that's seen in actual gameplay.
     
  2. nineko

    nineko

    I am the Holy Cat Tech Member
    5,941
    125
    43
    italy
    It's no mystery that I'm an 8-bit fan, so I'm happy to see Bridge Zone, and I made a video of it:


    It has a few collision issues, though, especially noticeable in the second act.

    Also, I like the music, but isn't it the one converted by Puto and me a few years ago? If it is, I am happy and actually flattered that it's been featured in such a fantastic hack.
     
  3. Esrael

    Esrael

    Neto Tech Member
    289
    219
    43
    Brazil, São Paulo, Guarulhos
    Neto Assembler Editor / Sonic 2 Delta / Neto MD-DOS
    Thanks. Yes, there are two sounds that was made by Puto in Sonic Delta (Bridge and Labyrinth). I have some issues to get the Bridge sound working, but get it correctly in latest version.
    And now knowing that you have participation I will give the proper credits in official hack page and SHC2021 credits section. And I have a plan to add a credits screen in the hack, so the people get the proper credits.
     
  4. nineko

    nineko

    I am the Holy Cat Tech Member
    5,941
    125
    43
    italy
    Oh, I wasn't begging for credit, believe me, I was honestly happy and surprised to see this old conversion ending up in such a great hack :)

    In fact, if you like any other songs I converted, feel free to use them all without the need to ask :)
     
  5. Esrael

    Esrael

    Neto Tech Member
    289
    219
    43
    Brazil, São Paulo, Guarulhos
    Neto Assembler Editor / Sonic 2 Delta / Neto MD-DOS
    New Build released ( Sonic Delta v0.69 ) / Hardware.
    (Everdrive X series users can get a custom O.S. in the hack page to enable support to hack (SRAM and SEGA Mapper enabled)).

    Terraonion released a firmware update enabling full Sega Mapper and now Sonic Delta 40Mb is fully supported on Mega SD device.

    - Fixed energy ball launcher position in "Final" (S1);
    - Fixed energy ball colours in "Final" (S1);
    - Fixed final Casino Night sound in "Sound Test";

    And
    - Added credits screen, that can be acessed through Options Menu.

    Best regards:
    --------------
    Neto.
     
    Last edited: Sep 5, 2021
  6. metanite

    metanite

    Member
    13
    0
    1
    Two visual Tails-related bugs here.

    Dr. Robotnik on the signpost uses part of Tails's palette for the orange part of his shirt; as a result, Super Tails causes that part of the signpost to pulsate in color along with Tails. This could be part of base S3&K, but it's impossible to see because of how signposts & Super transformations work in that game. Not sure how feasible it would be to fix this, given the game's limited palettes.
    Sonic_Delta-210910-141821.png

    Tails's tails are misplaced in his mid-speed running animation (tails are twirling in a circle, but not the super high speed animation where they're fully blurred) when his sprite is rotated. This is definitely a bug carried over from S3&K.
    Sonic_Delta-210910-141427.png
     
  7. Sid Starkiller

    Sid Starkiller

    Member
    1,382
    322
    63
    Virginia, USA
    Paying off student loans
    The Super Tails palette is from base S3K. It's easiest to see in the Lava Reef boss fight, since Eggman stays still for long periods of time and the Super Flickies don't hurt him.
     
    • Agree Agree x 2
    • Informative Informative x 2
    • Like Like x 1
    • List
  8. The link is no longer valid, any way you could post one without a time limit?
     
  9. Esrael

    Esrael

    Neto Tech Member
    289
    219
    43
    Brazil, São Paulo, Guarulhos
    Neto Assembler Editor / Sonic 2 Delta / Neto MD-DOS
    https://t.co/ErqtYRFjwq?amp=1

    Best regards:
    --------------
    Neto.
     
  10. I’m 6 years late but I heard about this through YouTube and decided to try it out for myself.. so far I’ve played through the first 3 zones of the Sonic 1 portion and it seems more fluid than the original.. I’m playing the latest v 0.69 version

    I’ve read up that this game features quite a bunch of scrapped content and zones from Sonic 2 (obviously since that’s what the original hack was based on) Forgive me if this has been asked but has it ever been considered to include scrapped content from the Sonic 1 and Sonic 3 prototypes? (UFOs, Sparkling Zone background, old Angel Island and Hydro City backgrounds, etc) Or would it be too much for the ROM to handle?

    EDIT: I’ve played up until Oil Ocean and the only bug I’ve noticed so far is with the speed shoes.. Sonic goes fast but the music does not speed up.. I had this happen to me at Winter Hill and Casino Night
     
    Last edited: Sep 20, 2021
  11. Tiberious

    Tiberious

    Yeah, I'm furry. Got a problem? Oldbie
    717
    4
    18
    What would cause the framerate on the Options screen to change depending on what track you have highlighted in the Sound Test? Check the scrolling between when you have a short name like "Wood" vs. something like "PC Carnival Night 2" showing.
     
  12. I think it has something to do with the bank-switching that the game does, Sonic 1/2 levels are in a different spot in the game’s memory than the S3K levels, that and the S3K portion uses a separate sound driver from the Sonic 1 and 2 portion, so it might be a side effect of the game switching between sound drivers.

    (EDIT: I think I might’ve misread the question...my bad. lol)
     
    Last edited: Sep 25, 2021
  13. Esrael

    Esrael

    Neto Tech Member
    289
    219
    43
    Brazil, São Paulo, Guarulhos
    Neto Assembler Editor / Sonic 2 Delta / Neto MD-DOS
    This is because the draw text routines are unoptimized and take a lot of cpu cycles ( I did not notice this until read your comment). This is not hard to fix.
    The only thing that cannot be changed is the short pause that occurs when you play a song that require the Sound Driver change.
     
    • Informative Informative x 3
    • List
  14. Tiberious

    Tiberious

    Yeah, I'm furry. Got a problem? Oldbie
    717
    4
    18
    That's good. Anything that can improve performance is a good thing.
    That much I can completely understand, since I'd assume it's reading a lot of data at once. I mean, I don't even really notice it happening, so there's that too.
     
  15. Esrael

    Esrael

    Neto Tech Member
    289
    219
    43
    Brazil, São Paulo, Guarulhos
    Neto Assembler Editor / Sonic 2 Delta / Neto MD-DOS
    New Build released ( Sonic Delta v0.70 ) / Hardware.
    (Everdrive X series users can get a custom O.S. in the hack page to enable support to hack (SRAM and SEGA Mapper enabled)).

    - Fixed Sound Driver DAC sample mappings, allowing the correct playback of both final version of Launch Base musics;
    - Fixed some Sonic 1 musics;
    - Added extra sound options to "Super Sonic" and "Invincibility" to Sonic 1/2 part;
    - Added extra converted 8 bits sounds to "Sound Test", courtesy of "Nineko";
    - Added Title Cards to Competition levels;
    - Optimization of text draw routines in options menu;
    - Fixed an issue that can result in crash during level transition from Final zone to Death Egg raising cutscene;
    - Labyrinth now uses Beta background;



    Best regards:
    --------------
    Neto.
     
  16. Rrose80149

    Rrose80149

    Member
    59
    3
    8
    How do I add the Competition Mode Title Card?
     
  17. Esrael

    Esrael

    Neto Tech Member
    289
    219
    43
    Brazil, São Paulo, Guarulhos
    Neto Assembler Editor / Sonic 2 Delta / Neto MD-DOS
    I use my own disassemblies, but I can show to you changes to code.

    After the variable Obj_Title_Card_2P_Flag is set, comment the next line and...
    Code (Text):
    1.  
    2.                 st      Obj_Title_Card_2P_Flag(A0)                       ; $0044
    3. Offset_0x02D6C2:
    4.              ;  jmp     (DeleteObject) ; <<<- Comment this line.
    5.  
    ...After Offset_0x02D6C2 add this, to load 2P Title Card art from Sonic 3 Part
    Code (Text):
    1.  
    2.                 moveq   #$00, D0
    3.                 move.b  (Level_Id).w, D0
    4.                 subi.w  #S3_ALz_Id, D0
    5.                 muls.w  #$06, D0                                              
    6.                 move.l  Title_Cart_Art_2P_List(PC, D0), A1                    
    7.                 move.w  (Title_Cart_Art_2P_List+$04)(PC, D0), D2  
    8.                 move.w  D2, D0
    9.                 lsr.w   #$05, D0
    10.                 move.w  D0, Obj_Art_VRAM(A0)                                        
    11.                 jsr     (Kosinski_Moduled_Dec)
    12.                 bra     TC_Init_2P
    13. Title_Cart_Art_2P_List:          
    14.                 dc.l    TC_Azure_Lake                          ; Offset_0x39C706
    15.                 dc.w    $5A00
    16.                 dc.l    TC_Balloon_Park                        ; Offset_0x39C8B8
    17.                 dc.w    $4000
    18.                 dc.l    TC_Desert_Palace                       ; Offset_0x39CD1C
    19.                 dc.w    $6800
    20.                 dc.l    TC_Chrome_Gadget                       ; Offset_0x39CADA
    21.                 dc.w    $5200                
    22.                 dc.l    TC_Endless_Mine                        ; Offset_0x39CF1E
    23.                 dc.w    $5800    
    24.  
    And add the label TC_Init_2P to the following code:
    Code (Text):
    1.  
    2. Offset_0x02D746:
    3.                 lsl.w   #$02, D0
    4.                 move.l  $00(A1, D0), A1
    5.                 move.w  #$A9A0, D2
    6.                 jsr     (Kosinski_Moduled_Dec)                 ; Offset_0x001AD2
    7. TC_Init_2P:  ; <<<- Add This line
    8.                 move.w  #$005A, Obj_Timer(A0)                            ; $002E
    9.                 clr.w   Obj_Control_Var_02(A0)                           ; $0032
    10.                 st      Obj_Respaw_Ref(A0)                               ; $0048
    11.                 addq.b  #$02, Obj_Routine(A0)                            ; $0005
    12.                 rts
    13.  
    And add the copy o VRAM reference to child object
    Code (Text):
    1.  
    2. Offset_0x02D7AC:
    3.                 addq.w  #$01, Obj_Child_Data(A0)                         ; $0030
    4.                 move.l  (A2)+, (A1)
    5.                 move.w  (A2)+, Obj_Target_X(A1) ; Y para a barra vermelha ; $0046
    6.                 move.w  (A2)+, Obj_X(A1)                                 ; $0010
    7.                 move.w  (A2)+, Obj_Y(A1)                                 ; $0014
    8.                 move.b  (A2)+, Obj_Map_Frame(A1)                         ; $0022
    9.                 move.b  (A2)+, Obj_Width(A1)                             ; $0007
    10.                 move.w  (A2)+, D2
    11.                 move.b  D2, Obj_Col_Flags(A1)                            ; $0028
    12.                 move.b  #$40, Obj_Flags(A1)                              ; $0004
    13.                 move.l  #Title_Cards_Mappings, Obj_Map(A1) ; Offset_0x02EE10, $000C
    14.                 move.w  Obj_Art_VRAM(A0), Obj_Art_VRAM(A1)  ; <<<- Add This line        
    15.  
    And to ensure to unload the title card in the correct time Add this after the label Offset_0x02D856
    Code (Text):
    1.  
    2. Offset_0x02D856:
    3.                 cmpi.b  #S3_ALz_Id, (Level_Id).w                ; $0E, $FFFFFE10
    4.                 bcs.s   Offset_0x02D856_Continue                                        
    5.                 cmpi.b  #S3_EMz_Id, (Level_Id).w                ; $12, $FFFFFE10
    6.                 bhi.s   Offset_0x02D856_Continue                                      
    7.                 tst.l   (PLC_Data_Buffer).w                          ; $FFFFF680
    8.                 beq.s   Offset_0x02D856_Continue
    9.                 rts
    10. Offset_0x02D856_Continue:    
    11.  
    And after the label Obj_Title_Card_Element_2P add
    Code (Text):
    1.  
    2. Obj_Title_Card_Element_2P:                                     ; Offset_0x02D9CC
    3.                moveq   #$00, D0
    4.                 move.b  (Level_Id).w, D0
    5.                 addq.w  #$07, D0
    6.                 move.b  D0, Obj_Map_Id(A0)
    7.  
    And finally add 2P Entry to Title Card mappings:
    Code (Text):
    1.  
    2. ....
    3.                 dc.w    TC_Map_The_Doomsday-Title_Cards_Mappings   ; Offset_0x02F1A2
    4.                 dc.w    TC_Map_Hidden_Palace-Title_Cards_Mappings  ; Offset_0x02F1E6
    5.                 dc.w    TC_Map_Bonus-Title_Cards_Mappings          ; Offset_0x02F22A
    6.                 dc.w    TC_Map_Bonus-Title_Cards_Mappings          ; Offset_0x02F22A
    7.                 dc.w    TC_Map_Stage-Title_Cards_Mappings          ; Offset_0x02F24A
    8.  
    9.                 dc.w    TC_Map_Azure_Lake-Title_Cards_Mappings
    10.                 dc.w    TC_Map_Balloon_Park-Title_Cards_Mappings
    11.                 dc.w    TC_Map_Desert_Palace-Title_Cards_Mappings
    12.                 dc.w    TC_Map_Chrome_Gadget-Title_Cards_Mappings
    13.                 dc.w    TC_Map_Endless_Mine-Title_Cards_Mappings
    14. ....
    15. TC_Map_Azure_Lake:
    16. TC_Map_Balloon_Park:
    17. TC_Map_Desert_Palace:
    18. TC_Map_Chrome_Gadget:
    19. TC_Map_Endless_Mine:
    20.                 dc.w    $0009
    21.                 dc.w    $000F, $8000, $FFE0
    22.                 dc.w    $000F, $8010, $0000
    23.                 dc.w    $000F, $8020, $0020
    24.                 dc.w    $0005, $8030, $0040
    25.                 dc.w    $1004, $8036, $0040
    26.                 dc.w    $1800, $8035, $0040
    27.                 dc.w    $200C, $8038, $FFE0
    28.                 dc.w    $200C, $8038, $0000
    29.                 dc.w    $200C, $803C, $0020
    30.  

    Best regards:
    ----------------
    Neto
     
  18. Rrose80149

    Rrose80149

    Member
    59
    3
    8
    Thanks.
     
  19. Spicy Bread SSR

    Spicy Bread SSR

    You can call me Mal if you like Member
    9
    5
    3
    You're doing Sonic 1 beta content now? Cool. Too bad you started with the best one

    Though I noticed a bug that might have something to do with the background change: when you move in labyrinth, other objects seem to also move based on your speed and where that speed is pointing to. This is noticeable with the stationary objects like the blocks and waterfall objects, since they aren't synced with the rest of the level until you stand still
    This might have something to do with how you deformed the background in Labyrinth, since it doesn't seem to happen in other zones

    Also the PSG in Wing Fortress' music might be glitching out.
     
  20. Tiberious

    Tiberious

    Yeah, I'm furry. Got a problem? Oldbie
    717
    4
    18
    Aw man... And I just got done with a Sonic Alone playthrough too (all Super Emeralds, of course). Oh well. v69 was fun, at least.

    One thing that does seem to bug me is that the zone previews for all the Sonic 1 and 2 levels seem rather dull, as if the art was shrunk down, but not touched up afterward. This makes pieces like Spring Yard, Emerald Hill and Hidden Palace look exceptionally out of place compared to the S3&K artwork.

    Second, I notice that the second phase of Death Egg Robot Mk. II at the end of S&K takes 12 hits to defeat instead of the original 8. Considering other oversights like level wrap shenanigans still work like the original, maybe this should be reverted?

    Finally, the Chaos Emerald 'music' eventually plays random garbage after a little bit when triggered from the Sonic 1 or 2 level select menu. Eventually you'll hear a little bit of Marble's music in it, making me think it's reading way past the end of the actual music data for this track. (Edit: This seems to have been squashed in 0.70)

    As far as suggestions go, I propose the following:
    - Ability to toggle boss health bar and add actual names for the bosses
    - Unique boss for Sand Shower
    - Fix up Winter Hill to be less annoying for how early it is in Sonic 2 (especially that boss), or
    - Redistribute Winter Hill, Sand Shower and Wood Zone in the Sonic 2 zone order, as currently, you get three 'new' zones between Emerald Hill and Chemical Plant
    - New Genocide/Cyber City music
    - Figure out what art was repurposed for Spinball's The Machine and bring it in to make it look more like it was going to from concept art.
    - Sonic 1 prototype elements/layouts (though I do wonder how you'd implement the air rooms in Labyrinth as they seem to have been intended)


    Edit: Here's my experience with 0.70, using Genesis Plus on a SNES Classic as my environment:

    + Green Hill flowers looking a bit more purple? I hope this will be overhauled soon with the prototype data.
    + Marble Zone UFOs are back! And it even uses the missing 6th frame! No Splats yet, but here's hoping.
    + Love the new music.

    - Debug mode input from level select applies A press as soon as the level loads, flipping gravity immediately.
    - All ring graphics in debug mode render as animated, even for objects that just use them for visibility, like layer swaps or even the placement preview. This can be a touch confusing.
    - In Options, track "Extra Life #3" reads extra data after the song, leading to garbage sound from the PSG until another sound effect plays.
    - In Options, tracks 71, 73 and 74 (Hydrocity Test, Title Screen Test and Final Boss Test) all play Robotnik Winter.
    - Giant Ring accessible in Green Hill debug item list. If collected, you lose control completely. Only way out is Star and then A.
    - Tails can activate Giant Ring at end of act and pull the active player out of the air above it. (Experienced as Knuckles/Tails in GHZ1)
    - Unable to use either 'auto-push' trick on Marble Zone 1 block. In Sonic 1, rolling into it would let Sonic push it automatically, and in S3K zones, a spin dash against a pushable object does the same thing (the latter working as expected in Sandopolis).
    - Knuckles cannot climb Scrap Brain walls properly. He gets pushed off the edge as he climbs up to floor tiles.
    - Bridge Zone seems a bit too small compared to 16-bit Sonic. I know this is a 'bonus' zone, but it seems as though you're trying to implement it into the main game, so it might want its size tweaked a bit.
    - Sonic 3 miniboss tune plays during Master Emerald theft cutscene. This seems a bit weird and might need fixed.

    v0.71 suggestions:

    - More Sonic 1 and Sonic 3 proto content. I figure this will be coming soon though.
    - Game Gear version of Sonic 2 boss music.
     
    Last edited: Oct 27, 2021