Basic Questions and Answers Thread

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

  1. Fadhil2314

    Fadhil2314 Newcomer Member

    Joined:
    Apr 14, 2020
    Messages:
    13
  2. DeltaWooloo

    DeltaWooloo The noob next door Member

    Joined:
    Aug 7, 2019
    Messages:
    373
  3. Devon

    Devon Down you're going... down you're going... Member

    Joined:
    Aug 26, 2013
    Messages:
    1,372
    Location:
    your mom
    Not just that, but also the code that loads Sonic's sprite frame into VRAM is hardcoded to a specific size. You can either extend the amount of RAM needed to hold the extra data, or just use the Sonic 3K disassembly's DMA queue (what I would recommend), which takes up less RAM, and in that specific disassembly, it also handles a bug with DMA regarding memory boundaries, too. The spindash tutorial on Sonic Retro goes over porting Sonic 2's DMA queue into Sonic 1 in part 3, but it shouldn't be too difficult to port over the Sonic 3K disasssembly specific code.

    Also, the points graphics would need to be relocated to another section of VRAM, or it'll get overwritten by the extra Sonic art.
     
    TheInvisibleSun and MarkeyJester like this.
  4. Fadhil2314

    Fadhil2314 Newcomer Member

    Joined:
    Apr 14, 2020
    Messages:
    13
    So, To fix it I either extend the amount of RAM needed to hold extra data, or use the Sonic 3K/Sonic 2 disassembly's DMA queue correct?
     
  5. DeltaWooloo

    DeltaWooloo The noob next door Member

    Joined:
    Aug 7, 2019
    Messages:
    373
  6. MarkeyJester

    MarkeyJester ♡ ! Member

    Joined:
    Jun 27, 2009
    Messages:
    2,867
    If you wish to expand the RAM, then you can relocate the star trail positions from $FFFFCB00 to $FFFFA900, and this will expand the amount of RAM for Sonic's art from 300 to 400 (you look as though you need about 3A0 from that screenshot), but you'll also need to change the DMA transfers in V-blank so that they transfer 400 bytes instead of 2E0.

    But the DMA queue system would be preferred as it'd save you space and speed altogether.

    A bit of short history into why Sonic 1 does the art transfer the way it did (in case you were wondering/interested):

    The cartridge/ROM design for Sonic 1 in 1991 was not exactly an efficient design compared to later titles (which makes sense, the company didn't exactly have mass finances at the time), so it was not encouraged to perform a DMA (Direct Memory Access) transfer directly from ROM to VRAM, instead, the art would have to be transferred manually using the 68k. However, transferring manually from ROM to VRAM during V-blank is somewhat foolish as V-blank time is critical, so instead, they sacrifice some overall game time to manually transfer the art frame from ROM to RAM, and then during V-blank they DMA transfer it from RAM to VRAM. By Sonic 2 the cartridge/ROM designs were improved and DMA transfers could be performed directly from ROM without ramifications.
     
    Chainspike and DeltaWooloo like this.
  7. Kurk

    Kurk Oh Yeah Member

    Joined:
    Jul 30, 2016
    Messages:
    99
    Location:
    Kurkistan
  8. Fadhil2314

    Fadhil2314 Newcomer Member

    Joined:
    Apr 14, 2020
    Messages:
    13
    Yeah I already add the DMA queue but thanks, But I have a question: Do you change the anim file or make a new anim file
    Because when I check the anim file for sonic, it looks the same.
    [​IMG]
     
  9. Kurk

    Kurk Oh Yeah Member

    Joined:
    Jul 30, 2016
    Messages:
    99
    Location:
    Kurkistan
    I included the animations for sonic inside of the main sonic1.asm file. The Sonic.asm file in the _anim folder does nothing. Sorry for the confusion!
     
  10. Fadhil2314

    Fadhil2314 Newcomer Member

    Joined:
    Apr 14, 2020
    Messages:
    13
    I see, Can you show me where you put the animation for sonic?

    Edit: Nevermind, I already found it
     
    Last edited: May 10, 2020
  11. ProjectFM

    ProjectFM Optimistic and self-dependent Member

    Joined:
    Oct 4, 2014
    Messages:
    912
    Location:
    Orono, Maine
    In Sonic 2, how are the solid object routines such as SlopedSolid able to set bits 3 and 4 of the object's status SST? I ported the routines over to Sonic 1 and I'm trying to use SlopedSolid with the diagonal spring, but the routine doesn't seem to set bit 3 of the object's status SST, resulting in it not launching Sonic.

    Edit: Again, I figured it out myself. It eventually gets to RideObject_SetRide, where the single line which sets the status to d6 is. My issue was I was using the wrong SST for the horizontal width.
     
    Last edited: May 13, 2020
  12. Fadhil2314

    Fadhil2314 Newcomer Member

    Joined:
    Apr 14, 2020
    Messages:
    13
    Hey, How do I recompress files to like example Nemesis to Kosinski

    Do I just need to compress it or I need to decompress the files and then compress it?
     
  13. Devon

    Devon Down you're going... down you're going... Member

    Joined:
    Aug 26, 2013
    Messages:
    1,372
    Location:
    your mom
    Yeah, you'll need to decompress it first, and then recompress it in the method you like. The compression tools don't know/care if the file is already compressed in something else, so applying compression to an already compressed file will just result in an extra layer of compression.
     
  14. Fadhil2314

    Fadhil2314 Newcomer Member

    Joined:
    Apr 14, 2020
    Messages:
    13
    I see, Thanks
     
  15. DeltaWooloo

    DeltaWooloo The noob next door Member

    Joined:
    Aug 7, 2019
    Messages:
    373
    The best tools I would recommend for decompression is KENSSharp Frontend as that is the most stable app when it comes to compression and decompression. If you are following Sonic 2's level art loader to Sonic 1, after doing all the steps, go jump here:

    https://forums.sonicretro.org/index...mdec-considerably-faster-decompression.32235/

    SonicRetro and SSRG user, vladikcomper, designed this tool to optimize and speed up art loading for Nemesis, Kosinski and even Comper. Go onto the links provided on the thread and it'll take you to the PasteBin code. If you are doing Nemesis, replace the entire NemDec in the disassembly with the new code, you won't see a difference when playing the game but art will optimize quicker and better. Do it for the Kosinski also. Assuming you will make level loading faster, the new Kosinski code is faster than the normal code. Cool, right?
     
  16. Devon

    Devon Down you're going... down you're going... Member

    Joined:
    Aug 26, 2013
    Messages:
    1,372
    Location:
    your mom
    In that case, I would personally like to recommend the FW-KENSC Windows Shell Extension, too, as it is the most convenient to use IMO and I haven't really had any issues with it so far.

    I think it should be worth noting that on page 2 of the improved KosDec thread, Flamewing provided his own improvements to the KosDec, alongside improved KosM functions.
     
    Last edited: May 16, 2020
  17. Fadhil2314

    Fadhil2314 Newcomer Member

    Joined:
    Apr 14, 2020
    Messages:
    13
    Oh yeah, I have a question about this guide for porting sonic 2 level art loader to sonic 1

    http://info.sonicretro.org/SCHG_How-to:Port_Sonic_2's_Level_Art_Loader_to_Sonic_1

    I already have done some steps, until I stop in this part:
    Go to Pattern Load Cues.asm and delete the entries for the level art. GHZ and the ending have two, the other levels have only the one.

    I'm confused on this part, Do I have to delete the entries for the level art like this:
    Code:
    PLC_GHZ:    dc.w $B
            dc.l Nem_Stalk        ; flower stalk
            dc.w $6B00
            dc.l Nem_PplRock    ; purple rock
            dc.w $7A00
    
    Or Changing the level art like this:
    Code:
    PLC_GHZ:    dc.w $B
            dc.l Kos_GHZ    ; GHZ secondary    patterns
            dc.w $39A0
            dc.l Nem_Stalk        ; flower stalk
            dc.w $6B00
            dc.l Nem_PplRock    ; purple rock
            dc.w $7A00
    
     
  18. Devon

    Devon Down you're going... down you're going... Member

    Joined:
    Aug 26, 2013
    Messages:
    1,372
    Location:
    your mom
    You remove it and change the "dc.w $B" to a "dc.w $A" in that particular PLC list's case (the latter change is because the first dc.w in every PLC list is the number of entries minus 1, you have to do the same kind of change for the other level PLC lists).

    PLCs are only equipped to handle Nemesis compressed art. The Sonic 2 level art loader already takes care of loading the level art outside of PLCs, so you don't need it in there anyways.
     
    ProjectFM likes this.
  19. Fadhil2314

    Fadhil2314 Newcomer Member

    Joined:
    Apr 14, 2020
    Messages:
    13
    I test it, But the whole level is a mess, Here's the list of it:
    • GHZ: Crashed the game
    • MZ: The whole level is completely gone (except for some rings)
    • SYZ: An Garbled mess
    • LZ: An Complete Garbled mess, Water is still the same
    • SLZ: Another Garbled mess
    • SBZ: Also another garbled mess
    • FZ: The whole level is also completely gone
    I also notice that the color of the rings is also different

    Screenshot:
    https://imgur.com/a/ObZwApJ
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
     
  20. Chron Dafter

    Chron Dafter Newcomer Member

    Joined:
    May 8, 2020
    Messages:
    16
    Hello. I am just trying to figure out if the SMPS sound drivers work in Logic Pro X. I am trying to make SMPS but can seem to figure it out. If anyone could help me out there, that would be greatly appreciated.

    EDIT: How do I find the sound drivers. I think I have them, but I I'm unsure.
     
    Last edited: May 19, 2020