Abrir Menu...
NETO (C) 2000-2024

Sonic the Hedgehog
Manual de Programação
Neto (e-Mail)


      Utilizando um editor de hexadecimal é possível modificar o jogo, editando-o byte a byte. Sabendo onde fica cada instrução e alterando-a corretamente você pode personalizar o jogo. Você pode desenhar outro personagem no lugar do Sonic mas isto não é fácil já que tem que se feito ponto a ponto. Alterar o nome das fases no menu de seleção e no titulo das fases. Mas para poder programar o jogo é necessário que ele esteja no formato binário, não é muito difícil converter o jogo para binário, você pode utilizar um programa de conversão ou o emulador Genecyst que tem a opção DUMP ROM, que faz a conversão.
 

Menu de Seleção de Fases


      O Menu de seleção de fases do Sonic 1 usa um formato de texto plano de 26 caracteres por linha. todas as linhas podem ser digitados textos de até 26 caracteres inclusive as linhas que mostram somente STAGE 2 e 3. O primeiro espaço começa na letra G da palavra GREEN HILL e o ultimo espaço termina no numero 1 do STAGE 1, o primeiro espaço começa onde termina o espaço da primeira linha e assim até o fim da tela de seleção de fases. veja abaixo a lista das fases e os respectivos endereços no editor hexadecimal. Obs: No editor você verá endereços em hexadecimal por exemplo no seguinte formato 000035B9. Mas na página você verá esse mesmo endereço representado por 3B59.
 
FASE ENDEREÇO
GREEN HILL ZONE STAGE 1 35A2 á 35B9
STAGE 2 35BA á 35D1
STAGE 3 35D2 á 35E9
LABYRINTH ZONE STAGE 1 35EA á 3601
STAGE 2 3602 á 3619
STAGE 3 361A á 3631
MARBLE ZONE STAGE 1 3632 á 3649
STAGE 2 364A á 3661
STAGE 3 3662 á 3679
STAR LIGHT ZONE STAGE 1 367A á 3691
STAGE 2 3692 á 36A9
STAGE 3 36AA á 36C1
SPRING YARD ZONE STAGE 1 36C2 á 36D9
STAGE 2 36DA á 36F1
STAGE 3 36F2 á 3709
SCRAP BRAIN ZONE STAGE 1 370A á 3721
STAGE 2 3722 á 3739
STAGE 3 373A á 3751
FINAL ZONE 3752 á 3769
SPECIAL STAGE 376A á 3781
SOUND TEST 3782 á 3799

      O nome das fases usa um conjunto de caracteres NÃO-ASCII. É necessário saber a equivalência das letras para poder modificar o nome. Observe a tabela abaixo e modifique os nomes. Rode o jogo e acesse o menu de seleção de fases e veja os nomes que você colocou.
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 =  

 

Títulos das fases


      Você também pode alterar os titulo das fases. Mas ao contrário do menu de seleção de fases existe restrições quanto ao número de caracteres que se pode colocar. Há também algo interessante na fonte dos títulos das fases não existem as letras J-Q-V-W-X, ou seja palavras que usam estas letras não poderão ser usadas. Também a modificação dos títulos das fases não é muito simples pois você terá que especificar as distancia das letras para que estas não se sobreponham. Mas não se desespere veja abaixo a tabela de caracteres usada nos títulos das fases e logo em seguida uma explicação de como modificar os textos sem problemas.
 

TABELA COM AS FONTES DOS TÍTULOS

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 00-00-56 =(espaço)

      Agora veja como funciona a programação dos nomes das fases. Observe a imagem do editor hexadecimal abaixo. O editor hexadecimal usado foi o Hexpose, você pode usar qualquer editor de sua preferência, eu uso este editor porque você pode criar um arquivo fonte para ele, ou seja ao invés de ele lhe mostrar os valores em ASCII padrão ele lhe mostrará o texto baseado na fonte fornecida. Observe a figura abaixo: Nome das fases no Hexpose
      Para você entender como funciona eu destaquei algumas instruções com cores diferenciadas, note que juntando as letras, que estão destacadas do lado direito do programa você monta o nome das fases. Agora veja como funciona as instruções. Cada letra na tela usa 5  bytes para ser mostrada Observe: F8-05-00-3A-CA. O 1o. byte (F8) indica a posição vertical da letra na tela, este byte normalmente não será necessário se modificar . Do 2o. ao 4o. byte (05-00-3A) são os bytes que indicam que letra deve ser mostrada na tela no caso seria a letra "R". O 5o. byte (CA) indica a posição horizontal na tela, este é  um dos mais importantes bytes pois é ele quem determina os espaços das letras e caso não seja colocado corretamente pode haver sobreposição das letras, mas isto não é muito difícil, já que o espaço ente uma letra e outra é de 10h (observe na figura abaixo o byte que segue os números em amarelo e note que aumentam de 10h em 10h) esta medida é a mesma usada nas palavras compostas, mas como toda regra tem exceção a 1a. letra que for digitada após a letra "I" utiliza um espaço menor ou seja 8h. Você pode utilizar o espaço padrão 10h, mas na hora em que for exibido o texto você verá que a letra que sucede o "I" ficará longe. Preste muito atenção nos 5 bytes na hora de editar pois se você editar o nome de uma fase que contém a letra "I" e não aumentar o espaço entre as letras, estas ficarão sobrepostas. As únicas restrições são: 1o. O limite de letras por fases é o numero de letras da fase atual, 2o. você não poderá escrever palavras que usem as letras "J","Q","V","W","X", pois não existem estas letras na fonte dos títulos. Veja a localização de cada texto e faça suas alterações.
TEXTO LOCALIZAÇÃO
GREEN HILL C9FE á CA2B
LABYRINTH CA2C á CA59
MARBLE CA5A á CA79
STAR LIGHT CA7A á CAA7
SPRING YARD CAA8 á CADA
SCRAP BRAIN CADB á CB0E
FINAL CB8B á CBA3
ZONE CB0F á CB24
SONIC HAS PASSED CBEA á CC31
CHAOS EMERALD CCAD á CCE8
SPECIAL STAGE CD6C á CDA7
SONIC GOT THEM ALL CDA8 á CDF3

     

VEJA ABAIXO O NOME DE ALGUMAS FASES QUE EU MODIFIQUEI

A Fase abaixo lado é a SCRAP BRAIN modificada.
Sonic 1 CLOCK ORK
 
A fase abaixo é a SPRING YARD modificada.
Sonic 1 SPARKLING
      Obs:  No byte de espaçamento de caractere o canto esquerdo da tela é 80h e canto direito é 7Fh. Ou seja um possível texto pode ser escrito com espaço de 80h, 90h, A0h, B0h, C0h, D0h, E0h, F0h, 00h, 10h, 20h, 30h, 40h, 50h, 60h, 70h. Este seria os espaços que você colocaria nas letras caso desejasse começar do inicio da tela.

Configuração dos títulos das telas


      Esta área do jogo diz ao game como deverá ser exibido os títulos de inicialização do jogo, ou seja posição na tela por onde entrar ou sair. Cada fase utiliza 16 bytes para configuração dos títulos. Como exemplo eu vou pegar os bytes que configuram o texto da fase Green Hill que é : 00000120FEFC013C0414015402140154.  Agora entenda o que esses bytes querem dizer. Os 4 primeiros bytes, ou seja, 00-00-01-20 são do texto da fase, no exemplo GREEN HILL, do 5 ao 8 bytes, ou seja, FE-FC-01-3C são os bytes do texto ZONE, do 9 ao 12 byte, ou seja, 04-14-01-54 são os bytes do ACT x (x é o numero da fase), e por ultimo, ou seja, 02-14-01-54 são os bytes do plano de fundo azul dos títulos (Aquela bolinha oval inclinada que aparece por trás do texto "ACT x"). Tendo as informações acima podemos ainda separar os bytes em grupos de dois, Todos os grupos terão o mesmo efeito. Vamos pegar o grupo do nome da fase que é 00-00-01-20, os 2 primeiros bytes, ou seja, 00-00 indicam a posição de entrada do texto na tela, os dois últimos bytes, ou seja, 01-20 indicam a posição horizontal do texto na tela, nestes bytes geralmente se aumenta de 10h em 10h, Esta configuração vale para todo o conjunto de bytes da fase ou seja o primeiro e o segundo grupo de 2 bytes sempre farão o mesmo efeito do explicado acima. Veja a figura do editor e logo abaixo a lista de fases e seu endereço correspondente
  Hexpose - configurações dos títulos
FASE LOCALIZAÇÃO
GREEN HILL C448 á C457
LABYRINTH C458 á C467
MARBLE C468 á C477
STAR LIGHT C478 á C487
SPRING YARD C488 á C497
SCRAP BRAIN C498 á C4A7
FINAL C4A8 á C4B7

      Habilite a frase "PRESS START BUTTON" na tela título. Para isso com um editor hexadecimal  mude o byte de 02 para 00. De acordo com a sua versão do jogo os bytes estão em locais diferentes, Veja abaixo as possíveis localizações.
 
VERSÃO ENDEREÇO
AMERICANA 17271
JAPONESA 17A1D

      Feito isto rode o jogo e veja aparecer a mensagem "PRESS START BUTTON" durante a tela de apresentação.
 
Veja abaixo a mensagem press start button na tela título
Mensagem "PRESS START BUTTON" na tela de apresentação
 

CRÉDITOS E TELA INICIAL

Créditos do Sonic 1
      Esta parte é muito interessante pois você pode se pode editar todos os créditos do jogo. Alem da tela inicial "SONIC TEAM PRESENTS".
TEXTO ENDEREÇO
SONIC TEAM STAFF 172F8 á 1733E
GAME PLAN
CAROL YAS
1733F á 1738F
PROGRAM YU 2 17390 á 173C2
CHARACTER DESIGN
BIGISLAND
173C3 á 1743B
DESIGN
JINYA PHENIX RIE
1743C á 174A0
SOUND PRODUCE
MASATO NAKAMURA
174A1 á 17523
SOUND PROGRAM
JIMITA MACKY
17524 á 17597
SPECIAL TANKS
FUJIO MINEGISHI PAPA
17598 á 17633
PRESENTED BY SEGA 17634 á 1767F
TRY AGAIN 17680 á 176A8
SONIC TEAM PRESENTS 176A9 á 176FE
Veja a fonte dos créditos
(letras ausentes: Q, V, W, X, Z)
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-54 = D 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  

      A configuração de exibição é semelhante ao dos cartões de títulos (title cards). ex: 11-E8-05-00-3E-B4 onde o primeiro byte indica o número de caracteres a serem exibidos na tela. O segundo byte indica a posição vertical na tela. Do terceiro ao quinto são as letras propriamente ditas. O último indica a posição horizontal na tela, é este byte que define o espaçamento entre uma letra e outra.

MÚSICA DAS FASES


      Você também pode escolher a música a ser tocada nas fases. O formato é de apenas um byte por fase e é muito simples. Para colocar outra música de sua preferência, toque os sons no sound test, anote o número da música e coloque no byte que representa a fase escolhida. Veja na tabela abaixo a localização da seleção de músicas. Observe também que para o funcionamento correto será necessário alterar os bytes nos três endereços listados abaixo. As Fases listadas com (----) Usam somente os endereços listados e não necessitam de mais de uma ou duas mudanças para funcionar. A fase Labirinth e Scrap Brain 3 necessitam da alteração nos 3 endereços listados abaixo para funcionarem corretamente.
Fase
 
Música
 
Endereço
1
Endereço
2
Endereço
3
GREEN HILL 81 379A 12CC8 -----
LABYRINTH 82 379B 12CC9 14099
MARBLE 83 379C 12CCA -----
STAR LIGHT 84 379D 12CCB -----
SPRING YARD 85 379E 12CCC -----
SCRAP BRAIN 86 379F 12CCD 140A5
FINAL 8D 3780 ------- -----