Basic Questions and Answers Thread

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

  1. Dapperblook

    Dapperblook Newcomer Trialist

    Joined:
    Feb 20, 2023
    Messages:
    5
    Hey! Im trying to edit the spinning flower art but because of it not having any mappings im having trouble. I read something about using YY-CHR, but I cant figure out how to make it load properly. so, do I use another program, use the same but change some settings, or use a super top secret other metod? Thanks in advance!
     
  2. Devon

    Devon A̸ ̴S̴ ̵C̵ ̷E̶ ̸N̸ ̴D̶ ̵E̶ ̸D̶ Member

    Joined:
    Aug 26, 2013
    Messages:
    1,380
    Location:
    your mom
    1. Open the graphics file
    [​IMG]

    2. Set the graphics format to "4BPP MSX/MD/WSC"
    [​IMG]

    3. For these graphics, set the pattern to "32x32 A"
    [​IMG]

    For other graphics, it seems like you can arrange a custom pattern yourself, but I'm not too sure how it works out fully myself, but in the case of the sunflower graphics, don't worry about it for now.

    4. Unfortunately, it doesn't seem YY-CHR can load raw Genesis palettes. BUT, what you CAN do is open Green Hill Zone in SonLVL, and export the palette in the format YY-CHR can read.
    [​IMG]

    5. Open the expored palette in YY-CHR
    [​IMG]

    6. Click on the palette line to the appropriate one for these graphics
    [​IMG]

    You should have this:
    [​IMG]

    6. From here, you can edit the graphics how you please. It is possible to copy pixels from another place and paste them into YY-CHR, and you can directly edit the pixels on the right side. In the case of these graphics, you'll want to stick to the colors in the palette line, since the game assigns it (although, you can change which palette line each tile uses in SonLVL).

    To go to the other frame, just click on the top left tile of it
    [​IMG]

    Here's a quick sample edit I did:
    [​IMG]

    7. When you are done, you just save it and then build a new ROM, and your changes will be in.
    [​IMG] [​IMG]

    Hope this helped!
     
  3. lavagaming1

    lavagaming1 Newcomer Trialist

    Joined:
    Jul 24, 2017
    Messages:
    9
    Location:
    united states
    i have a question how many object ram slots does scattered rings actually use in all sonic games ? is it $23 slots ?
     
  4. Devon

    Devon A̸ ̴S̴ ̵C̵ ̷E̶ ̸N̸ ̴D̶ ̵E̶ ̸D̶ Member

    Joined:
    Aug 26, 2013
    Messages:
    1,380
    Location:
    your mom
    Each ring takes an individual object slot, and when the scattered rings object get spawned, it will spawn up to 32 ($20) individual rings. That won't stop you from continuing to spawn another set while the previous set is still loaded in, though.
     
  5. lavagaming1

    lavagaming1 Newcomer Trialist

    Joined:
    Jul 24, 2017
    Messages:
    9
    Location:
    united states
    thanks
     
  6. lavagaming1

    lavagaming1 Newcomer Trialist

    Joined:
    Jul 24, 2017
    Messages:
    9
    Location:
    united states
    thanks
     
  7. MemeMaster9000

    MemeMaster9000 Newcomer Member

    Joined:
    Feb 12, 2023
    Messages:
    21
    Location:
    Ice Cap Zone
    Might be a stupid question, but where can I find the code that starts a level after Start is pressed on the title screen? I'm using the GitHub disassembly.
     
  8. Devon

    Devon A̸ ̴S̴ ̵C̵ ̷E̶ ̸N̸ ̴D̶ ̵E̶ ̸D̶ Member

    Joined:
    Aug 26, 2013
    Messages:
    1,380
    Location:
    your mom
    The check for the start button being pressed is at loc_3230, which leads into Tit_ChkLevSel, which checks whether it should go into a level or the level select. If going into a level, it branches off to PlayLevel, which resets some variables and sets the game mode to "level". From there, it'll end up going to GM_Level, which is the main level routine.
     
    MemeMaster9000 likes this.
  9. MemeMaster9000

    MemeMaster9000 Newcomer Member

    Joined:
    Feb 12, 2023
    Messages:
    21
    Location:
    Ice Cap Zone
    Thank you!
     
  10. FeroTheInugami

    FeroTheInugami It's in the Blockchain Member

    Joined:
    Jul 10, 2023
    Messages:
    36
    Ok, for some reason, when I ported the Sonic 3 sprites to my Hivebrain Sonic 1 Disassembly, and later ported the Spin Dash, occurred some bugs with the PLC on sprites. In Gens, it works normally. In Fusion (on the screenshot below), a piece of bugged sprites are shown. I didn't tested in BlastEm, but in Clownacy's debugger emulator, it gets worse, getting Sonic's entire hand. I don't know what happened, if was a problem in Sonic's DPLC or in DMA Queue. Can someone explain what happened and how I can fix it? s1built000.jpg
     
  11. That-One-Mega-Man

    That-One-Mega-Man Doofus Maximus Member

    Joined:
    Jun 18, 2023
    Messages:
    40
    Location:
    Right behind you
    while it's a bit of a stupid question, have you tried fixing the sprites and mappings via a sprite or mappings editor? (i.e. sonmaped, flex 2)
     
  12. FeroTheInugami

    FeroTheInugami It's in the Blockchain Member

    Joined:
    Jul 10, 2023
    Messages:
    36
    Forget it. While porting the insta-shield, the sprites finally worked correctly (for now).
     
  13. That-One-Mega-Man

    That-One-Mega-Man Doofus Maximus Member

    Joined:
    Jun 18, 2023
    Messages:
    40
    Location:
    Right behind you
    that's good to hear!
     
    FeroTheInugami likes this.
  14. peachy

    peachy Newcomer Trialist

    Joined:
    May 31, 2023
    Messages:
    7
    Location:
    Australia
    How feasible is it to port a Mega Drive hack to Mega CD? Some hacks have already done this so obviously it's possible, but idk if it's a massive/convoluted process or not. It'd be cool to have actual music files in a hack, but it's not necessary or anything.
     
    Last edited: Apr 9, 2024
  15. Devon

    Devon A̸ ̴S̴ ̵C̵ ̷E̶ ̸N̸ ̴D̶ ̵E̶ ̸D̶ Member

    Joined:
    Aug 26, 2013
    Messages:
    1,380
    Location:
    your mom
    Making a Mega CD game works quite differently from making a Mega Drive game.

    ROM is a type of random access chip, which means that every bit can individually accessed easily. It can be directly mapped into the memory space and have code stored on it directly executed by the CPU. It's pretty easy to get code set up and going with this.

    CDs are not random access. It requires a drive/controller to manually seek to whatever sector you need to read from, and then have it transferred over to a random access memory that the processor can easily access. This basically makes it so that you will need to work with disc and memory management before you can get started on actually making a game. The Mega CD adds an additional CPU and memory to get the job done.

    There is a way for you to get cartridge games to activate the Mega CD. If you can detect that a Mega CD is plugged in, you can load a program to the Mega CD's memory, where it then can control the CD drive and the rest of its hardware (including CD audio, 8 channel PCM audio and graphics operations like scaling/rotating or bitmap conversion). This is ultimately the easier option, since you can just have your game run from ROM, while you just load a program to the Mega CD and control its hardware from there.

    I do have some samples if you wanna take a look, but, you overall, you'll need to understand how the Mega CD hardware works, and how to manage memory and files if you want to do a disc based game.
    You can also read the official documentation here.
     
    Last edited: Jul 12, 2023
    peachy, Pacca, Crimson Neo and 4 others like this.
  16. FeroTheInugami

    FeroTheInugami It's in the Blockchain Member

    Joined:
    Jul 10, 2023
    Messages:
    36
    I've been trying to port fluid ring animation, and I used as reference and base the source code of Sonic 1 Complete by RetroKoH, but for some reason, the rings are glitched and the signpost, with the points and the giant ring, also too. If someone can help, i'll be thankful.
     

    Attached Files:

  17. Devon

    Devon A̸ ̴S̴ ̵C̵ ̷E̶ ̸N̸ ̴D̶ ̵E̶ ̸D̶ Member

    Joined:
    Aug 26, 2013
    Messages:
    1,380
    Location:
    your mom
    The problem with the rings is that there's not enough space in the spot that it gets loaded into to hold the extra frames. You'll need to figure out a way to either find a spot where you can, or implement a system where only 1 ring frame is in VRAM at a time (well, one for the regular rings, and another for lost rings).

    The signpost issue just seems to be the graphics not being loaded at all. The signpost takes the same VRAM space as the monitors, since monitors don't appear in the signpost areas. With the signpost art not loading, the monitor graphics remain.
     
    giovanni.gen likes this.
  18. Dapperblook

    Dapperblook Newcomer Trialist

    Joined:
    Feb 20, 2023
    Messages:
    5
    Hey! So im trying to follow the Spindash Part 2 guide made by Puto on a GitHub disassembly, and I have gotten really far! but im having some issues implementing the spindash sound effect.
    First, some sounds got a little messed up, the ones i noticed were BE (Roll) CF (Signpost) and D1 (Spindash).
    Second, sfx_Waterfall on Constants.asm is using the spindash sound. If anyone needs some of the code to help me, I can do it. Because I differed A LOT from the original guide because of how github handles things and the little fix that its included in the code
    Code:
            ; DANGER! Special SFXes end at $D0, yet this checks until $DF; attempting to
            ; play sounds $D1-$DF will cause a crash! Remove the '+$10' and change the 'blo' to a 'bls'
            ; and uncomment the two lines below to fix this.
    But I dont want to include it here because I don't know if it's necessary + it would make this post kinda ugly lol.
    Thanks in advance! (also .bin included)
     

    Attached Files:

  19. FeroTheInugami

    FeroTheInugami It's in the Blockchain Member

    Joined:
    Jul 10, 2023
    Messages:
    36
  20. Devon

    Devon A̸ ̴S̴ ̵C̵ ̷E̶ ̸N̸ ̴D̶ ̵E̶ ̸D̶ Member

    Joined:
    Aug 26, 2013
    Messages:
    1,380
    Location:
    your mom
    Yeah, the spindash guide is ancient and only works for the 2005 disassembly, and hasn't been fully updated to work with the current version.
     
    DeltaW likes this.