Basic Questions and Answers Thread

Discussion in 'Discussion & Q&A' started by Malevolence, Jul 7, 2009.

  1. AURORA☆FIELDS

    AURORA☆FIELDS so uh yes Exiled

    Joined:
    Oct 7, 2011
    Messages:
    759
    I have chained VASMZ80 and ASM68K with original S3K driver, working 100% and be 100% editable. Only downside is having to assemble twice if you are moving music or SFX to different Z80 banks, but even that could be worked around if I modified the driver. The point is, if you know what you are doing you can do it.
     
  2. ProjectFM

    ProjectFM Optimistic and self-dependent Member

    Joined:
    Oct 4, 2014
    Messages:
    912
    Location:
    Orono, Maine
    Sounds great! It would give me access to Flamewing's driver, SMPS2ASM, and relieve me of having to deal with AS. Would you be able to provide it for me or are you just sharing it to show that it could be done?
     
  3. Clownacy

    Clownacy Retired Staff lolololo Member

    Joined:
    Aug 15, 2014
    Messages:
    1,020
    SMPS2ASM is still dependant on AS features like functions and enums. You'd still be porting something, one way or another.
     
  4. ProjectFM

    ProjectFM Optimistic and self-dependent Member

    Joined:
    Oct 4, 2014
    Messages:
    912
    Location:
    Orono, Maine
    Whoops, I misread Natsumi's post.
     
  5. AURORA☆FIELDS

    AURORA☆FIELDS so uh yes Exiled

    Joined:
    Oct 7, 2011
    Messages:
    759
    for reference, you can look at what I have done here. The files you are interested in are macros.asm and sound folder. Do note the setup is far from good, and was done just to get a working model. I should revise it later for easier editing, etc. but hopefully it gets you going
     
  6. ShadowOne

    ShadowOne Newcomer Member

    Joined:
    Jul 28, 2014
    Messages:
    23
    Don't know if this is the place for this nor if Flamewing comes here or not often, but I wanted to give some feedback+question for Sonic Classic Heroes.

    • Feedback: When you play the Sonic 2 Special Stages, the names of the characters are swapped.
    i.e. Charmy gets the rings as if he were in the lead, but it's other character who gets the rings in the front.
    A name swap might do it, should not be hard.​
    • Question: I've seen the list of upcoming Teams, saw Team Rose in there, but no Team Dark? Can I ask why that team is not considered? I'd really love to see Shadow taking on the classic titles real bad. u.u
    That's all I wanted to say.

    If he doesn't come here, can some of you guys be kind enough to please post this message on the Sonic Retro topic of Sonic Classic Heroes?
    I would do it myself but I'm stuck on the "Pending validation" limbo. :/

    Thanks in advance!
     
  7. Clownacy

    Clownacy Retired Staff lolololo Member

    Joined:
    Aug 15, 2014
    Messages:
    1,020
    Uhh...

    Also, I'm pretty sure this isn't that type of Q&A thread. Since page 1, this has been nothing but code questions. Classic Heroes has a thread here, anyway, even if it is locked.
     
    Last edited: Dec 26, 2015
  8. Selbi

    Selbi The Euphonic Mess Member

    Joined:
    Jul 20, 2008
    Messages:
    2,429
    Location:
    Northern Germany
    Go to the SSRG IRC. Flamewing is there most of the time.
     
  9. Burst

    Burst You call this a connection? Oh, give me a break. Member

    Joined:
    Mar 22, 2015
    Messages:
    348
    Location:
    Reality
    How i can change the Palette on SonLVL?
     
  10. MainMemory

    MainMemory Well-Known Member Member

    Joined:
    Mar 29, 2011
    Messages:
    922
    There are several ways: select a color and use the number boxes on the left to alter the Red, Green and Blue components of the color; double-click a color to bring up the Windows color picker dialog; or right click and import from an image or another MD palette file.
     
  11. NiphFM

    NiphFM Host of the Mega Drive Music Contest Member

    Joined:
    Jun 5, 2015
    Messages:
    430
    Location:
    Music Plant Zone
    How would I change or remove the bottom boundary line in Green Hill Zone?
     
  12. Selbi

    Selbi The Euphonic Mess Member

    Joined:
    Jul 20, 2008
    Messages:
    2,429
    Location:
    Northern Germany
    I don't quite get what you mean by that. My assumption is that you want Sonic to not die when hitiing the bottom of a level. You can do that by intuitively messing with Boundary_Bottom.

    However, you should have a very good reason to do so. Off-screen gameplay is a horrible gameplay decision if done wrong.
     
  13. NiphFM

    NiphFM Host of the Mega Drive Music Contest Member

    Joined:
    Jun 5, 2015
    Messages:
    430
    Location:
    Music Plant Zone
    I mean the boundary height. Sorry, I should have been more specific...
     
  14. Selbi

    Selbi The Euphonic Mess Member

    Joined:
    Jul 20, 2008
    Messages:
    2,429
    Location:
    Northern Germany
    Ah, this is done via DynScrResizeLoad. Every act has its own jump table entry in which level events take place, based on the horizontal camera position. In particular, this interests you:
    Code:
            move.w    #$300,($FFFFF726).w    ; set vertical boundary to $300 pixels (starting from the top)
     
    Pacca likes this.
  15. ArcaniaCQ

    ArcaniaCQ Well-Known Member Member

    Joined:
    Jul 18, 2015
    Messages:
    789
    Location:
    Sweden
    How do I make the S Monitor to end the stage?
     
  16. Selbi

    Selbi The Euphonic Mess Member

    Joined:
    Jul 20, 2008
    Messages:
    2,429
    Location:
    Northern Germany
    Hint 1: Obj2E (monitor contents)

    Hint 2: Obj0D (sign post)
     
  17. redhotsonic

    redhotsonic Also known as RHS Member

    Joined:
    Aug 10, 2007
    Messages:
    2,969
    Location:
    England
    I don't think Obj0D would fit into Obj2E, it would be a tight squeeze =P
     
    Niko and Devon like this.
  18. Unused Account

    Unused Account Well-Known Member Member

    Joined:
    May 10, 2013
    Messages:
    153
    I'm not sure if this is the right place to post this, but are there any SMPS collections anywhere?
    I've only found one containing a few tracks that I don't really find useful.
    I'm mainly looking for one of Sonic Chaos' Mecha Green Hills.
     
  19. GenesisDoes

    GenesisDoes What Nintendont Member

    Joined:
    Jan 2, 2016
    Messages:
    159
    Location:
    Pittsburgh, PA
    A few quick questions about Sonic 1 hacking for a hack I'm working on:
    1. For SonLVL for Sonic 1, in Sonic 1's SonLVL.ini file, do the "levelwidthmax" and "levelheightmax" variables actually effect the max size one can resize levels in the editor? I tried to resize a level to a height of 10 after increasing the levelheightmax from the default of 8 to 12, but the height size was still capped at the default of 8. Is this feature not yet implemented? (This question is more for MainMemory)

    2. How can I modify the GHZ palette cycle code (below) to only change 3 palette entries in VDP CRAM instead of 4? I plan on adapting this code block to palette cycle only 3 entries in a new zone I have created.

      Code:
      ;=================
      ; PaletteCycle.asm (Sonic 1 Github)
      ;=================
      
      PCycle_GHZ:
              lea    (Pal_GHZCyc).l,a0
      
      PCycGHZ_Go:
              subq.w    #1,(v_pcyc_time).w ; decrement timer
              bpl.s    PCycGHZ_Skip    ; if time remains, branch
      
              move.w    #5,(v_pcyc_time).w ; reset timer to 5 frames
              move.w    (v_pcyc_num).w,d0 ; get cycle number
              addq.w    #1,(v_pcyc_num).w ; increment cycle number
              andi.w    #3,d0        ; if cycle > 3, reset to 0
              lsl.w    #3,d0
              lea    (v_pal_dry+$50).w,a1
              move.l    (a0,d0.w),(a1)+
              move.l    4(a0,d0.w),(a1)    ; copy palette data to RAM
      
      PCycGHZ_Skip:
              rts
    3. I am new to Sonic 1 hacking (but not to general Sonic hacking, having past experience with Sonic 2). What common "gotchas" should I be aware of while hacking Sonic 1? (For example, I had no idea that the Title screen shares art with GHZ, and that modifying the GHZ 8x8 Nemesis tiles art would screw up things if you don't separate the art using a SCHG guide)

    4. What is the best way to make sure SonLVL correctly imports chunks from BMP image files (and thus blocks and tiles it creates) using a specific palette line? I created a palette line for all of the chunks using RetroGraphicsToolkit, but SonLVL usually goofs up the 0th entry (transparent black) for some pixels in tiles for blocks
     

    Attached Files:

  20. Selbi

    Selbi The Euphonic Mess Member

    Joined:
    Jul 20, 2008
    Messages:
    2,429
    Location:
    Northern Germany
    Since your first and last questions are about SonLVL, I'll skip them.

    2: The two move.l lines above PCycGHZ_Skip are what you're looking for. A single palette entry is made up of a word with the format $0BGR, and move.l writes two of these into the palette buffer (which I can only assume is v_pal_dry, because I don't use the git version). It can be written with four move.w's instead, but that's less efficient. That being said, your solution is literally just changing the .l to .w on the second move.l.

    3: I wouldn't say there's a "list" of things to keep in mind when playing with Sonic 1's code and files. Many things are intuitive to learn, others have been accepted as common knowledge already, and the minority of stuff to keep in mind can always be asked up in here or the IRC. Apart from your already mentioned compound GHZ graphics, the only thing I can really think of from the top of my head right now is the fact that SCOR and E are actually stored in entirely different files for the HUD. Also one, exclusive to the git version and also caused by it, is that a lot of the older tutorials were written for the old 2005 disassembly without direct references to how the labels changed, so you may, more than once, fall into a case of confusion when looking up old guides.