Sonic 1: Painto Edition 2 [3.0 release]

Discussion in 'Showroom Archive' started by Painto, Jun 7, 2014.

Thread Status:
Not open for further replies.
  1. Painto

    Painto Arthurus Paintus Erinaceus Member

    Joined:
    Mar 24, 2014
    Messages:
    321
    Location:
    Lublin, Poland
    [​IMG]
    (version 3.0)

    ------------​
    As announced, today is release of 3.0 version. This version is a total change compared to previous versions. Time to some info about changes:
    Zones

    There are 3 playable zones in this version:

    Green Garden Zone

    [​IMG][​IMG]

    [​IMG][​IMG]

    Just another Green Hill-esque zone. All 4 acts of the Zone are playable. Zone was initially meant to be a port of Azure Lake Zone from Sonic 3, but due to lack of knowledge the zone's art is totally custom. Boss fight is pretty like in previous version, but the exact fight from 2.0 is used as pinch mode.

    Bridge Zone

    [​IMG][​IMG]

    [​IMG][​IMG]

    This one is from 2.0 version. The differences are acts 3 & 4, for which I did new layouts. All 4 acts of the Zone are playable. My biggest and best new thing in 3.0's Bridge is definetely the boss. I will don't tell how looks the fight, just see it by yourselves.

    Cheese Cave Zone Act 1

    [​IMG][​IMG]

    [​IMG][​IMG]

    The last playable zone is Cheese Cave Zone from 2.0. Only first act is playable, but it's because I spent the longest time on making it. All the act is based on puzzles with buttons, dodging enemies and getting air. Almost all of the areas are underwater. No boss there.

    Special Stages

    [​IMG][​IMG]

    There are 3 edited Special Stages and 3 unedited. Each Special Stage have his own music. Collecting all 6 Chaos Emerald allows you to turn into Super Sonic like in 2.0.

    First stage is from 2.0, so you know how it looks.

    The second one is pretty short. You start in a corridor then you need to break blocks to get into a big room with emerald in center of breakable blocks.

    The third one is the longest. There are 9 big rooms which are connected one with another leading to the room with emerald. There are also 2 bonus rooms, where are GOAL blocks and 1-ups.

    Tip: the closer to emerald you are, the in exits from rooms are stronger.

    Other features

    Sound Test Menu

    [​IMG]

    In 3.0 version there appears a totally new Sound Test menu, which allows you to listen all the songs and SFX's from the hack. More info in README.

    Special Stage Rings

    [​IMG]

    The Special Stage Rings, now are working like in S3&k, but of course it isn't perfect port. There is one ring per act, so you have 9 oportunities to get emeralds (and you can fail 3 times). They also act as checkpoint. I'm not giving any tips for it's locations - search them by yourselves.

    Level Select Menu

    Basically is nothing special, but it allows you to select one of playable acts. To access it, play 4 songs in the Sound Test in correct order.

    Tip: It's on my SSRG profile.

    Known issues

    • When Special Stage Ring appears on screen and you don't go to special stage, the art will be glitched.
    • Sometimes in Special Stage the art can dissapear in certain areas (I guess is VRAM).
    • After the music fades out, new sound effects won't play (althrough the ones played right before fading out will work).
    ------------​
    Credits and some other stuff can be found in README file.

    ------------

    DOWNLOAD

    I hope you'll like it. Feel fre to comment, write suggestions and report any problems other than from setcion "Known issues" (with description what happened and what you did to trigger it).

    INB4: I didn't cancelled The Main Zone, Skill Shop and the things from 2.0. Just they aren't playable.

    ------------​
    Original post below:

    [​IMG]
    Another hack of Sonic 1 by mine. I worked on this more than 3 months and I think that I can release the first version of my hack.----

    Even if it's pretty obvious, I need to say that's a hack of Sonic 1. It have 2 in name because it's my second attempt to create a Painto edtion of Sonic 1 (the previous during defelopment changed it's name to Sonic: Christmas Island).

    ----

    The most important changes:

    • Every zone have a HUB/map/whatever you want to call it from which you can get to one of 3 acts using act monitors
    • The Main Zone which is the main game's hub
    • Daytime changes depending on how much acts you passed.When no acts passed there's morning palette, after 1 act - day palette, after 2 acts - sunset and after 3 acts - night palette.
    [*]Bosses are now in HUBs and are avaiable only after clearing all 3 acts
    • Final boss is avaiable asfter passing all 18 acts 
    [*]SBZ3 is now a inbase act (now only placeholder layout)
    [*]New layouts for GHZ and MZ1
    • There's a surprise avaiting in GHZ :>
    [*]Results screen uses different font than title card
    [*]Super Sonic avaiable after obtaining all the Chaos Emeralds.
    • To transform do double jump using A button. You can detransform the same way.
    • Super Sonic appears in the all emeralds ending
    [*]The timer goes backwards
    Known bug:
    • You can go through some walls in The Main Zone when Sonic is very fast.
    I'm also planning to add new characters, edit special stages, add 7th SS, etc. And of course more new layouts (or maybe zones).Screenshots:

    [​IMG][​IMG]

    [​IMG][​IMG]

    Credits:

    I forgot who made exactly what so I'm crediting all authors of tutorials from SSRG and Sonic Retro used in my hack, authors of spritesheets from Spriters Resource that I used (mainly letters) and authors of programs used to make the hack.

    Feel free to comment, report bugs and criticism.
     
    Last edited by a moderator: Oct 7, 2014
  2. Painto

    Painto Arthurus Paintus Erinaceus Member

    Joined:
    Mar 24, 2014
    Messages:
    321
    Location:
    Lublin, Poland
    Sorry, for double post, but I need to announce, that there was my mega fail in GHZ which blocked the way on that level. Please, download the file again for the fix.
     
  3. MarkeyJester

    MarkeyJester ♡ ! Member

    Joined:
    Jun 27, 2009
    Messages:
    2,867
    Well I must say, I'm rather surprised!

    The first thing I noticed was how clean and well placed the level layouts are, all chunks fit together well, nothing looks odd or out of place, and your new little designs on GHZ are pretty rad!

    [​IMG]

    GEEEEE!!! I love that Zig-Zag design! Very classy. I Also enjoyed the Master System GHZ act 2 take you had there, very cool.

    Although I prefer original pieces of music made, most of the music you have here has been ported well, so I don't have any real problems here. What I do like is the fact that the boss areas are accessible in the main map, as in you can see the area before the boss is available, that's certainly unique. I did initially play this on hardware though, and encountered a slight problem:

    [​IMG]

    I'd assume it's an "odd" address issue (the 68k cannot access odd addresses via word, longword, or reading instructions). I'd say you'd need an even in the ROM somewhere after an included piece of data.
    Which is a shame, I wanted to play it blind for the first time on there.

    Also, here's a direct Mirror.
     
    Last edited by a moderator: Jun 7, 2014
  4. Devon

    Devon DROWN, DROWN, DROWN MYSELF! Member

    Joined:
    Aug 26, 2013
    Messages:
    1,400
    Location:
    your mom
    I would like to point out that it makes that same crash on Regen, but not on Kega.

    Anyways, your hack is pretty good, but there are a few graphical quirks. The special stage still has art bugs and when I beat the GHZ boss, when I opened the container, Robotnik's head jumped out. I'm not kidding at all. Aside from that, it's alright.
     
  5. Guest

    Just had a go at this for a bit. I will say that this hack is pretty well done thus far level layout wise, that and liking how the main hub zone is designed as well. I must point out though that I did encounter a small bug in SYZ to where the music continue's to play fast after I got the speed shoes monitor on the first act. but for the most part, I like this hack, heck I may even do a full playthrough of this.
     
    Last edited: Jun 7, 2014
  6. JoenickROS

    JoenickROS ROS (bug fixing in progress) Member

    Joined:
    Feb 5, 2012
    Messages:
    929
    Yeah found out about the Regen thing too, damn Markey you beat me to it :p. Also Pajinto since you couldn't view this on Skype, than I'll just post the screen shot here. Happened after running down a slope with Super Sonic, although, it didn't happen when I did it again.

    http://i.imgur.com/gPKaPcg.png

    The screen flashes a glitched screen and than some not all of the level become glitched as you can see from the screenshot, (the rings and life Icon stay glitched even after finishing the act). I also noticed this after finishing the 3rd act, and going to a special stage, plus I could hear the boss music for a quick second before I transported to the special stage and in the special stage the animation transition from fish to clouds causes a glitched screen, (which would be the scroll VRAM) for a second.

    Edit: Sorry its a link, because of IE not wanting to work correctly with SSRG, I can't post screenshots, and Firefox and Safari wont connect to the server.

    Edit2: One more thing, no matter what the 10 points from the bumpers in SYZ are glitched.

    Edit3: Ok well I finished it, and its really nice so far, did a good job with the hub gimmick, and the palettes are all pretty nice, looking forward to the next release, one more thing ill mention is, idk if it was a mistake or intended but act 3 of SBZ is just a straight shot to the signpost, instead of the original act 3.
     
    Last edited by a moderator: Jun 8, 2014
  7. TheInvisibleSun

    TheInvisibleSun Visible Member

    Joined:
    Jul 2, 2013
    Messages:
    425
    Location:
    Western New York, USA
    I really like this hack so far, and I can't wait to see it progress further. Out of all of the neat things in your project, one minor touch I loved was the Labyrinth Hub's initial sepia-esque palette, paired with the Hidden Palace Zone bgm. I know its an absurdly minuscule edit among the many other neat things you've done here, but something about that oddly struck a wonderful feeling of nostalgia.

    Another thing I really appreciated about this, was the underground areas in GHZ; this is a neat take on the stage not seen in many hacks (if any). I can't wait to see how you mix up the other stages in the future!
     
  8. nineko

    nineko I am the Holy Cat Member

    Joined:
    Mar 24, 2008
    Messages:
    1,902
    Location:
    italy
    Hey, this isn't bad at all!


    A few things to note:

    • I played GHZ2 after GHZ1 and GHZ3, and the boss music briefly started to play after I beat the level. You should apply this guide to fix that;
    • there's a whole lot of invincibility monitors in GHZ2, by the way;
    • sometimes there are graphical glitches in the Special Stages; incidentally, applying the guide above should magically fix this seemingly unrelated problem as well, because;
    • you should fix the bug with the Roller badnik in SYZ, surprisingly enough there isn't a tutorial about that even if it's one of the most known bugs in Sonic 1. Here we go:
      Open "_incPattern load cues.asm", and change this:

      Code:
      PLC_SYZ2:	dc.w 7
      		dc.l Nem_Bumper		; bumper
      		dc.w $7000
      		dc.l Nem_SyzSpike1	; large	spikeball
      		dc.w $72C0
      		dc.l Nem_SyzSpike2	; small	spikeball
      		dc.w $7740
      		dc.l Nem_Cater		; caterkiller enemy
      		dc.w $9FE0
      		dc.l Nem_LzSwitch	; switch
      		dc.w $A1E0
      		dc.l Nem_Spikes		; spikes
      		dc.w $A360
      		dc.l Nem_HSpring	; horizontal spring
      		dc.w $A460
      		dc.l Nem_VSpring	; vertical spring
      		dc.w $A660
      to
      Code:
      PLC_SYZ2:	dc.w 6
      		dc.l Nem_Bumper		; bumper
      		dc.w $7000
      		dc.l Nem_SyzSpike1	; large	spikeball
      		dc.w $72C0
      		dc.l Nem_SyzSpike2	; small	spikeball
      		dc.w $7740
      		dc.l Nem_LzSwitch	; switch
      		dc.w $A1E0
      		dc.l Nem_Spikes		; spikes
      		dc.w $A360
      		dc.l Nem_HSpring	; horizontal spring
      		dc.w $A460
      		dc.l Nem_VSpring	; vertical spring
      		dc.w $A660
      In this way Caterkiller's art won't overwrite Roller's
    Keep up the good work!
     
  9. Painto

    Painto Arthurus Paintus Erinaceus Member

    Joined:
    Mar 24, 2014
    Messages:
    321
    Location:
    Lublin, Poland
    Thanks for all of your opinions. I will try to fix these bug (some I even fixed) but I can't say anything about hardware - I dont have idea how to fix it. But I improved the act & boss counter system so it uses much less RAM and after passing 3 acts boss will appear even if you exited the stage.

    That's because Super Sonic art is in the same file that Sonic's (like in Sonic 2) and after you transform into it, the SS art overwrites the points art through rest of the game.

    And for SBZ3... You should read my post again. I mentioned that "SBZ3 is now a inbase act (now only placeholder layout)". It's because of 0103 slot is used for LZ's HUB.

    And I'm glad that you liked my GHZ2 underground layout. I planned add it initially to Christmas Island hack, but my knowlegde was to little to make. I have good news for all who liked this: I'm planning add more 8-bit thingies, but I don;t will say what they are.

    One more time, thanks you all.
     
    Last edited by a moderator: Jun 13, 2014
  10. warr1or2

    warr1or2 I AM CLG Member

    Joined:
    Apr 7, 2008
    Messages:
    417
    Location:
    Town Creek, AL
    same crash occurs At the  sound test, Playing #60 crashes.

    This don't occur in Gens

    also #5 & #6 duplicate at #18 & #19

    The checksum is running ain't it?

    to me it's pretty good. with what you did with GHZ3 gives me an idea on what to do with mine
     
    Last edited by a moderator: Jun 13, 2014
  11. FFuser

    FFuser a.k.a Darklight Member

    Joined:
    Nov 14, 2013
    Messages:
    88
    I like the setup, but from what has been changed in the actual levels, I think it's a bit too easy as is. There are too many invincibility and 1up monitors available imo. Also, while I can see how the double jump is implemented to get to higher parts of the new acts, when it comes to fighting the bosses, it really eliminates any challenge they provide whatsoever (even though most Sonic vets are used to fighting them, so it would be considered easy in the first place). Dunno how much you plan to change, but that was one of the things that stood out to me with the double jumping ability.

    I really like the hub levels leading to the zone bosses. I was wondering if it was possible to throw in badniks and/or hazards in the hub levels as well? Those are just suggestions that I think would make it overall more challenging.

    I did run into an issue playing as Super Sonic that I wanted to bring to your attention. This is what happened after passing through a loop as Super Sonic:

    [​IMG]

    and even after beating that level the life icon and rings were messed up during the rest of the play-through like so:

    [​IMG]

    I was running this game in Kega fusion in case that matters. I also, noticed if you let yourself go down a slope and pass through a loop backwards that sometimes it will cause Super Sonic to quickly cycle through all of his animations.

    Edit: I see JoenickSRB already pointed that out. Sorry.

    My two cents.
     
    Last edited by a moderator: Jun 13, 2014
  12. 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 know what the issue is. A few weeks back, painto asked about a bug where Super Sonic would fuck up SBZ. I gave him a quick fix and left it. I was later informed by Markey the RAM address I gave was being used for something else, ether sound driver or art loading, seems it is art loading.


    I was going to reply with a new fix, but my laptop has since screwed up, and with my tablet, it is at the moment impossible to test out said fix. All in all, painto, you just need to find a RAM address that you're absolutely sure is clear and unused.
     
  13. nineko

    nineko I am the Holy Cat Member

    Joined:
    Mar 24, 2008
    Messages:
    1,902
    Location:
    italy
    There is also a problem with lava which doesn't hurt you in one of the Marble levels, I forgot which one and where, I made a screenshot the other day but you know the deal by now so I deleted it and forgot about it.
     
  14. Painto

    Painto Arthurus Paintus Erinaceus Member

    Joined:
    Mar 24, 2014
    Messages:
    321
    Location:
    Lublin, Poland
    [​IMG]
    (version 2.0)

    ----SHC2014 is over, but if still somebody didn't notice, I'm posting here the version 2.0 of my hack.

    Main changes in this version are:

    • Save feature. Save is done by breaking save monitors - one in each zone hub.
    • Skill Shop - in this version there are 4 skills, but I'm planning add more
    • New Special Stage layout
    • New layouts for Marble 2&3 and Spring Yard 1&2. SYZ hub is also a bit edited, so you can backtrack to the ring/save monitor.
    • Bridge Zone.
    • Cheese Cave Zone (graphics).
    • Some music ports (done using SMPSConv) (they are a bit glitched)
    • S1 Level Select converted to Sound Test. Playing 4 songs in correct (related with my person) unlocks true Level Select.
    Known issues:
    • Exiting from Special Stage in Bridge Zone throws you back to The Main Zone and don't saves act as passed (but it saves the emerald).
    • Hack again doesn't work on hardware.
    • Jumping into ring in Skill Shop when not having it's requirements locks exit from the Shop forcing to reset (Gens only).
    • Spring Yard HUB music plays garbage after first loop.
    Screenshots:[​IMG][​IMG]

    [​IMG][​IMG]

    Credits:

    • Sonic Team - for creating Sonic 1 & 2
    • Selbi - buton presses and SRAM
    • nineko - cheat based on song numbers; Bridge Zone music.
    • ValleyBell - SMPSConverter
    • EditChris - Jump Dash
    • NeoFusionBox - beta testing
    • creators of tutorials on SSRG/Sonic Retro
    • creators of spritesheets from The Spriters Resource (texts)
    • creators of tools used to make this hack.
    • and others I forgot to mention.
    Download:Here

    Thanks in advice (for playing).

    As always, C&C welcome.

    PS. Expect a video of new features soon! :>
     
    Last edited by a moderator: Aug 29, 2014
  15. redhotsonic

    redhotsonic Also known as RHS Member

    Joined:
    Aug 10, 2007
    Messages:
    2,969
    Location:
    England
    It won't work on hardware until you get it to work on Regen. I use MD.emu on my phone but that's close to hardware and it fails on this emulator too. I'm the type of guy who refuses (or can't be arsed) to download another emulator for one hack. Just saying, this crashing bugs needs fixing.


    Although, going by your screenshots, it's tempting...
     
  16. Painto

    Painto Arthurus Paintus Erinaceus Member

    Joined:
    Mar 24, 2014
    Messages:
    321
    Location:
    Lublin, Poland
    I know that it needs fixing but how I'm supposed to fix something if I don't know by what exactly is it caused?
     
  17. redhotsonic

    redhotsonic Also known as RHS Member

    Joined:
    Aug 10, 2007
    Messages:
    2,969
    Location:
    England
    Implement flamewing's debugger into your hack. Then when you use Regen, when it crashes, it will come up with an error report.
     
  18. nineko

    nineko I am the Holy Cat Member

    Joined:
    Mar 24, 2008
    Messages:
    1,902
    Location:
    italy
    You should disable the Spin Dash dust when you enter the victory animation:

    [​IMG]
     
  19. Ravenfreak

    Ravenfreak Still hacking the 8-bit titles Member

    Joined:
    Feb 10, 2010
    Messages:
    410
    Location:
    O'Fallon, MO
    I would love to play this on actual hardware myself. You've got a pretty cool hack, I've played it already on Kega Fusion but playing it on an actual Genesis would be wonderful. ^_^
     
  20. Clownacy

    Clownacy Retired Staff lolololo Member

    Joined:
    Aug 15, 2014
    Messages:
    1,021
    [​IMG]

    I hex edited the debugger into your ROM, this is the error that shows up. As you can tell, a1 looks to be a little under the weather. $05010A03? Check what's being written to a1 around address $0A891E. If your assembler outputs a listing file, you can easily find what code is at that address.

    If you're okay with it, I can put up the debugger ROM for download, though I don't think it would be of any more use than providing this very same error message. Would a save state help you?

    EDIT: Oh hey, it's your sound driver code! Look, I hope you don't mind, I'm doing this for your sake, but I disassembled a section of your ROM, and found this code. You can see your error line in there.

                  move.b  #$CE,d7

    ROM:000A88F0
    ROM:000A88F0 loc_A88F0:                              ; CODE XREF: ROM:000A88EAj
    ROM:000A88F0                 bchg    #0,$2B(a6)
    ROM:000A88F6
    ROM:000A88F6 loc_A88F6:                              ; CODE XREF: ROM:000A88E4j
    ROM:000A88F6                 cmpi.b  #$A7,d7
    ROM:000A88FA                 bne.s   loc_A890A
    ROM:000A88FC                 tst.b   $2C(a6)
    ROM:000A8900                 bne.w   locret_A89DC
    ROM:000A8904                 move.b  #$80,$2C(a6)
    ROM:000A890A
    ROM:000A890A loc_A890A:                              ; CODE XREF: ROM:000A88FAj
    ROM:000A890A                 movea.l (off_A7EE8).l,a0
    ROM:000A8910                 subi.b  #$A0,d7
    ROM:000A8914
    ROM:000A8914 loc_A8914:                              ; CODE XREF: ROM:000A88C0j
    ROM:000A8914                 lsl.w   #2,d7
    ROM:000A8916                 movea.l (a0,d7.w),a3
    ROM:000A891A                 movea.l a3,a1
    ROM:000A891C                 moveq   #0,d1
    ROM:000A891E                 move.w  (a1)+,d1
    ROM:000A8920                 add.l   a3,d1
    ROM:000A8922                 move.b  (a1)+,d5
    ROM:000A8924                 move.b  (a1)+,d7
    ROM:000A8926                 subq.b  #1,d7
    ROM:000A8928                 moveq   #$30,d6 ; '0'
    ROM:000A892A
    ROM:000A892A loc_A892A:                              ; CODE XREF: ROM:loc_A89C0j
    ROM:000A892A                 moveq   #0,d3
    ROM:000A892C                 move.b  1(a1),d3
    ROM:000A8930                 move.b  d3,d4
    ROM:000A8932                 bmi.s   loc_A8946
    ROM:000A8934                 subq.w  #2,d3

    It's your Sound_PlaySFX/Sound_A0toCF routine.

    Okay, so your SoundIndex is loaded into a0, then your d7 (sound to play, according to d7, you're playing sound $DF ($FC>>2+$A0)) is used to offset a0, to find the address of your SFX. For some reason, when the data at the offsetted a0 is loaded into a1 (and a3), it becomes the wrong number, an invalid address, which causes your crash. I'll keep looking into it.

    I'm back, I must be wrong, why would you be using sound $DF, which is SFX $3F, when you only have $33 SFXes? At least, according to your SoundIndex.

    EDIT2: This has to be the case, you see the value in a3? $05010A01? I found that very value just after your SoundIndex. After. So it seems that in your screenmode code, you're playing an invalid sound. One that's higher than the last SFX. Though I don't get how Sound_PlaySFX came to be processed, since there's a check in Sound_ChkValue for if your value is too high.

    EDIT3: Aha, Sound_PlaySFX isn't processed! It's the routine above it! It's at address $A886A, and is called by Sound_ChkValue when your sound is less than or equal to $E0 and higher than $D0. Going by the code in this area, the sound you're playing isn't $DF, but $E0. So... how come you're using slots $D1-$E0 with an index that doesn't support numbers that high? Heck, how are other emulators not crashing from this?

    EDIT4: Okay, temporary fix that will probably bite us in the arse later down the road. Alright, in that $A886A mystery routine, $A1 is subtracted from d7, for now, let's subtract more from d7 so that we don't get invalid index reads, okay? Open the ROM in a hex editor, and go to address $A88BF, and change the $A1 to a $C0. Save and run, and the crash won't occur. But look, it does bite us: going into a ring in the Hub area will cause another crash...

    [​IMG]

    Don't write words or longs to odd addresses! *Busts open save monitor* Another error?! Oh my, these odd addresses are everywhere!

    EDIT5: Contemplating massive multipost spree... Try playing soundtest sounds $55-$5F. Crashes everywhere. The Sound_ChkValue doesn't compensate for these dead values. Go to $A85EC and change the $027E to $0010. That will stop all sounds from $D1($51+$80) to $E0 ($60+$80) being played.
     
    Last edited by a moderator: Aug 26, 2014
Thread Status:
Not open for further replies.