Actions

SCHG

Esrael s1

From Sonic Retro

Revision as of 21:20, 24 December 2006 by Hivebrain (talk | contribs) (cleanup required)
Sonicretro-round.svg This article needs cleanup.

This article needs to be edited to conform to a higher standard of article quality.
After the article has been cleaned up, you may remove this message. See How to Edit a Page for help.

Hello. I’ve translated the notes and I put some things that Esrael didn’t see at the time he published this guide. (Sanderson Hk.)

Using a hex editor is possible to modify the game, editing it byte-by-byte. Knowing where is each function and modyfing it correctly, you and customize the game. You can draw another character in Sonic's place, but it's not too easy, because it needs to be made point-to-point. You can change the levels' name in the Level Select Menu and in the Level Title Cards. But, to program the game, it needs to be in the binary format. It isn't hard to convert the game to the binary form. You can use a conversion program or the Genecyst emulator, which has the option DUMP ROM, which does the conversion.

Level Select Menu

Sonic 1 Level Select Menu uses a 26-char per line plain-text format. In all the lines, you can type texts which length is 26-char, including the lines that shows only STAGE 2 and STAGE 3. The first space starts at the letter G of the phrase GREEN HILL and the final space finishes at the number 1 of the text STAGE 1. The first space of the next line starts where the previous line ends. See below the offset location for these texts.

Warning: in a hex editor, you'll see the addresses indicated by 0000ADC8, for example. In the page you'll see the same address indicated by ADC8, simply.

LEVEL ADDRESS
GREEN HILL ZONE STAGE 1 35A2 to 35B9
STAGE 2 35BA to 35D1
STAGE 3 35D2 to 35E9
LABYRINTH ZONE STAGE 1 35EA to 3601
STAGE 2 3602 to 3619
STAGE 3 361A to 3631
MARBLE ZONE STAGE 1 3632 to 3649
STAGE 2 364A to 3661
STAGE 3 3662 to 3679
STAR LIGHT ZONE STAGE 1 367A to 3691
STAGE 2 3692 to 36A9
STAGE 3 36AA to 36C1
SPRING YARD ZONE STAGE 1 36C2 to 36D9
STAGE 2 36DA to 36F1
STAGE 3 36F2 to 3709
SCRAP BRAIN ZONE STAGE 1 370A to 3721
STAGE 2 3722 to 3739
STAGE 3 373A to 3751
FINAL ZONE 3752 to 3769
SPECIAL STAGE 376A to 3781
SOUND TEST 3782 to 3799

Levels' name uses non-ASCII character. You need to know the letter code to modify the name. See the table below and change the names. Run the game and access the Level Select Menu (I'll identify some things with abreviations, like L.S.M. for this), and see the names you put.

00 = 0

01 = 1

02 = 2

03 = 3

04 = 4

05 = 5

06 = 6

07 = 7

08 = 8

09 = 9

0A = $

0B = -

0C = =

0D = <-

0E = <-

0F = Y

10 = Z

11 = A

12 = B

13 = C

14 = D

15 = E

16 = F

17 = G

18 = H

19 = I

1A = J

1B = K

1C = L

1D = M

1E = N

1F = O

20 = P

21 = Q

22 = R

23 = S

24 = T

25 = U

26 = V

27 = W

28 = X

FF =

 

 

 

Level Title Cards

You also can change the level titles. But you have some restrictions by two things: the number of characters you can put and the letters available. In the level cards you CAN'T use the letters J-Q-V-W-X. It means that words which use these letters can't be used. Ah, the title modification isn't too easy like level select, because you need to specify the distance between the letters to avoid that they overput themselves. Don't enter in panic! See below the codes of the letters and, following, an explanation of how this works.

TITLE FONT TABLE

05-00-00 = A

05-00-22 = K

05-00-46 = U

05-00-04 = B

05-00-26 = L

05-00-4A = Y

05-00-08 = C

05-00-2A = M

05-00-4E = Z

05-00-0C = D

05-00-2E = N

00-00-52 = .

05-00-10 = E

05-00-32 = O

0C-00-53 = act

05-00-14 = F

05-00-36 = P

02-00-57 = 1

05-00-18 = G

05-00-3A = R

06-00-5A = 2

05-00-1C = H

05-00-3E = S

06-00-60 = 3

01-00-20 = I

05-00-42 = T

 

Now, trying to understand this: The level cards function like

LC-VS-(LV-CO-DE)-HS-VS-(LV... until the final -VS, where:

LC is the quantity of characters that you allow to be shown; VS is the vertical screen position of the letter; LV-CO-DE is one of the values above and HS is the horizontal screen position of the letter. An example is welcome to understand this. So, I'll take GREEN HILL title for example:

The code is of the type above, right? So,

09-F8-05-00-18-B4-F8-05-00-3A-C4... the 09 is the letters allowed to be shown. The another bytes are the letter configuration.

The space between letters are these, informed like: LETTER1 +X = YOU CAN PUT LETTER2. I'll talk about this X.

Particularities, first:

I: X=8h; M: X=Fh; ".": X=8h.

For the another, X=10h. Note that the value is added in HEX format, not in decimal. Below, you have the offset locations of the title cards:

TEXT </td>

<p class="MsoNormal" align="center" style="text-align:center">ADDRESS

GREEN HILL

C9FE to CA2B

LABYRINTH

CA2C to CA59

MARBLE

CA5A to CA79

STAR LIGHT

CA7A to CAA7

SPRING YARD

CAA8 to CADA

SCRAP BRAIN

CADB to CB0E

FINAL

CB8B to CBA3

ZONE

CB0F to CB24

SONIC HAS PASSED

CBEA to CC31

CHAOS EMERALD

CCAD to CCE8

SPECIAL STAGE

CD6C to CDA7

SONIC GOT THEM ALL

CDA8 to CDF3

Observation: the minimum position is 80h (080) and the maximum is 70h (170).

Title Card Configuration

This game area tells the game how the text must be shown when the level starts, it means, where to enter or to quit. Each level use 16 bytes to configure the titles. By an example, I'll take the Green Hill Configuration: 00000120FEFC013C0414015402140154. Separating this sequence in 4-byte group, we have:

00.00.01.20 - about the text;

FE.FC.01.3C - about the "ZONE" title;

04.14.01.54 - about the "ACT X" title, where X is 1,2 or 3; and

02.14.01.54 - about the blue background.

Separating these lists in groups of 2, we have that the 2 first bytes are the enter position of the text and the 2 last are the exit position of the text, in all the 4-byte group.

See the table below and start changing.

LEVEL

ADDRESS

GREEN HILL

C448 to C457

LABYRINTH

C458 to C467

MARBLE

C468 to C477

STAR LIGHT

C478 to C487

SPRING YARD

C488 to C497

SCRAP BRAIN

C498 to C4A7

FINAL

C4A8 to C4B7

You can show the message "PRESS START BUTTON" in the title screen. To do this, go to the address indicated below.

ROM VERSION

ADDRESS

NORTH-AMERICAN (U)

17271

JAPANESE (J)

17A1D

Credits and Presentation Screen

To edit the credits, simply refer to the explanation in the title cards. Is the same format. But the letter particularities change and you have another restrictions, shown below.

TEXT

ADDRESS

SONIC TEAM STAFF

172F8 to 1733E

GAME PLAN CAROL YAS

1733F to 1738F

PROGRAM YU 2

17390 to 173C2

CHARACTER DESIGN BIGISLAND

173C3 to 1743B

DESIGN JINYA PHENIX RIE

1743C to 174A0

SOUND PRODUCE MASATO NAKAMURA

174A1 to 17523

SOUND PROGRAM JIMITA MACKY

17524 to 17597

SPECIAL TANKS FUJIO MINEGISHI PAPA

17598 to 17633

PRESENTED BY SEGA

17634 to 1767F

TRY AGAIN

17680 to 176A8

SONIC TEAM PRESENTS

176A9 to 176FE

See below the new codes for editing

05-00-04 = A

05-00-3A = H

05-00-12 = P

05-00-48 = B

01-00-46 = I

05-00-22 = R

05-00-1E = C

05-00-4C = J

05-00-2E = S

05-00-42 = D

05-00-58 = K

05-00-3E = T

05-00-50 = X

05-00-16 = L

05-00-32 = U

05-00-0E = E

09-00-08 = M

00-00-2A = Y

05-00-5C = F

05-00-1A = N

0C-00-36 = 2

05-00-00 = G

05-00-26 = O

 

As I said, the configuration is the same of the title cards. Now, you have the following restrictions: you can't use the letters Q-V-W-Z.

Particularities: I: X= 8h; M=14h. For the another, X= 10h.

I won't translate the MUSIC section of Esrael's notes because it works while you haven't defeated the boss. After the boss, the music turns back to the original level music. Starting from here, I'll put my notes.

Master Playlist Music Changing Method

First thing you need to understand the this playlist is the playlist shown at the L.S.M., and it's the better method for changing music playlist. So, to do this, you need the following table:

71A9C Midi pointers
745DC Green Hill
74D44 Labyrinth
75194 Marble
755F2 Star Light
75A60 Spring Yard
75EAC Scrap Brain
763FC Invincibility
766D0 Special Stage
76E42 Zone Boss
7705E Final

Where 71A9C is an offset index, it is, the bytes are put like offset addresses.

The order of the playlist is:

80-NONE 81-Green Hill 82-Labyrinth 83-Marble 84-Star Light 85-Spring Yard 86-Scrap Brain 89-Special Stage
Location 71A9C 71AA0 71AA4 71AA8 71AAC 71AB0 71ABC
  8C-Zone Boss 8D-Final          
  71AC8 71ACC          

So, only put one of the addresses above, except 71A9C, and then see the music working.

If I have anything about the game to say, I'll put it starting by there.

Translation to U.S. English did and published by Sanderson Hk.