Pixel central is a forum dedicated to gamers. While we mainly focus on classic retro games, we welcome all types of gamers. Come check us out!


    [SMS] Sonic 2 Guide: Edit Title Cards

    Share
    avatar
    Sonikku1011
    Admin

    Posts : 35
    Join date : 2016-05-31
    Age : 27

    [SMS] Sonic 2 Guide: Edit Title Cards

    Post by Sonikku1011 on Wed Jun 01, 2016 6:45 pm

    Note: This guide was originally posted on my Sonic forum. The host has been down for sometime now, so I'm not sure if it'll be back up unfortunately... Anyways editing the title cards in the game can be a major pain in the butt. Since the title cards aren't labeled in the disassembly, you'd have to do some experimenting to figure out which text belonged with what level title cards. I did that, and constructed a guide for those needing to edit the title card text. Please give me credit, either credit me as "Ravenfreak" or "Sonikku1011", as I'm know as "Ravenfreak" in the Sonic Community, thank you. Smile

    Spoiler:

    Code:
    Each 8x8 tile is given a 2-byte, little endian value based on where it appears in the VRAM. This guide will help you edit the title card letters, since the hacking guide
    doesn't go into great detail on how to do so... You also have to use a hex editor to change the letters since Aspect Edit cannot edit these mappings. Also most mappings
    seem to be 70 bytes long, and from what I can tell you can use every 2-bytes for a letter, so you can have up to 28 letters appear. This may affect the "ZONE" mappings though...
    For example, let's look at Green Hills mappings. When opened in a hex editor it looks like this:
    70 11 70 11 70 11 70 11 03 11 08 11 03 11 1C 11 03 11 07
    11 03 11 07 11 03 11 1A 11 70 11 70 11 03 11 09 11 0A 11
    0B 11 03 11 17 11 03 11 17 11 1D 11 1E 11 70 11 70 11 70
    11 70 11 70 11 70 11 0C 11 12 11 0C 11 25 11 0C 11 11 11
    0C 11 11 11 0C 11 22 11 70 11 70 11 0C 11 13 11 14 11 15
    11 0C 11 20 11 0C 11 20 11 26 11 27 11 70 11 70 11

    The mappings can be very tricky to edit. The way the mappings are set up may be confusing to some... But I'm going to break it down for you.  So let's take a look at this hex
    array.

    08 11 03 11 1C 11 03 11 07
    11 03 11 07 11 03 11 1A 11
    This is actually the first half of the letters in the word "Green". Specifically $08, $1C, $07, $07, $1A represent the the top of each letter. Changing these values will make
    the mappings look strange, because you also need to change another set of values but I'll get to those later. Take a look at this next array.

    70 11 03 11 09 11 0A 11 0B
    11 03 11 17 11 03 11 17 11 1D 11 1E

    This right here represents the first half of the word "Hills". Specifically $09, $0B, $17, $17, $1E represents the top of each letter in the word "Hills." See how I mean it may
    confuse you? Likewise if you were to change these values without changing the last half of the letters your mappings are going to look strange.

    11 0C 11 12 11 0C 11 25 11 0C
    11 11 11 0C 11 11 11 0C 11 22 11 70

    This is the bottom half of the word "Green". Specifically $12, $25, $11, $11, $22 represents the last half of the word "green." Please note that the actual letters are four
    bytes apart each, so from $12 the next mapping is 4 bytes away and so on. You need to also change these values to make the mappings appear correctly. Needless to say, the title cards
    are probably the most complicated piece of data to edit in Sonic 2. Also spaces not containing any letters are represented with $70 $11. Also some letters you cannot use. V for example
    cannot be used since there's no mappings data for that letter... Same with the letter J.

    So to break it down to make it easier for you to understand look bellow.  Gt= G top, Rt= R top, Et= E top, sp= space, VR= Vram,
     Ht= H top, It= I top, Lt= L top Gb=G bottom, Rb= R bottom Eb= E bottom, Nb= N bottom, Hb= H bottom, Ib= I bottom Lb= L bottom, Sb= S bottom.
    Get it now? The letter values are listed bellow the example.

                            VR    Gt    VR    Rt
    70 11 70 11 70 11 70 11 03 11 08 11 03 11 1C 11
    VR    Et    VR    Et    VR    Nt    sp    sp
    03 11 07 11 03 11 07 11 03 11 1A 11 70 11 70 11
    VR    Ht    VR    It    VR    Lt    VR    Lt
    03 11 09 11 0A 11 0B 11 03 11 17 11 03 11 17 11
    VR    St    sp    sp    sp    sp    sp    sp  
    1D 11 1E 11 70 11 70 11 70 11 70 11 70 11 70 11
    VR    Gb    VR    Rb    VR    Eb    VR    Eb
    0C 11 12 11 0C 11 25 11 0C 11 11 11 0C 11 11 11
    VR    Nb    sp   sp     VR    Hb    VR    Ib
    0C 11 22 11 70 11 70 11 0C 11 13 11 14 11 15 11
    VR    Lb    VR    Lb    VR    Sb
    0C 11 20 11 0C 11 20 11 26 11 27 11 70 11 70 11

    $01 $02- top of the letter "A"
    $03 $04- top of the letter "B"
    $03 $05- top of the letter "C"
    $03 $06- top of the letter "D"
    $03 $07- top of the letter "E" and "F"
    $03 $08- top of the letter "G"
    $03 $09- top of the letter "H"
    $0A $0B- top of the letter "I"
    $0C $0D- bottom of the letter "A"
    $0C $0F- bottom of the letter "C"
    $0C $10- bottom of the letter "U" and "D"
    $0C $11- bottom of the letter "E"
    $0C $12- bottom of the letter "G"
    $0C $13- bottom of the letter "H"
    $14 $15- bottom of the letter "I" & "T"
    $35 $15- bottom of the letter "Y"
    $03 $1A- top of the letter "N"
    $03 $1B- top of the letter "Q" and "O"
    $0C $22- bottom of the letter "N"
    $0C $25- bottom of the letter "R"
    $03 $2A- top of the letter "U"
    $2B $2C- top of the letter "Y"
    $03 $17- top of the letter "L"
    $03 $16- top of the letter "K"
    $23 $24- bottom of the letter "Q"
    $2D $2E- top of the letter "Z"
    $36 $37- bottom of the letter "Z"
    $18 $19- top of the letter "M"
    $03 $1C- top of the letter "R" and "P"
    $1D $1E- top of the letter "S"
    $0C $20- bottom of the letter "L"
    $0C $21- bottom of the letter "M"
    $26 $27- bottom of the letter "S"
    $28 $29- top of the letter "T"
    $86 $86- "."

      Current date/time is Sat Jun 24, 2017 1:58 am