Оригинальный гид - Sonic 65.

Итак, для начала закинем арт нашего нового перса в папку artunc (графика должна быть не пожата, как вы уже, наверное знаете). Назовем его, к примеру, newplayer.bin.

Теперь приступим к программной части. Идите к Art_Sonic, там будет это:

Код:
 ; --------------------------------------------------------------------------- 
 ; Uncompressed graphics - Sonic 
 ; --------------------------------------------------------------------------- 
 Art_Sonic: incbin artunc\sonic.bin; Sonic 
  even

Ниже добавьте следующие строки:

Код:
; --------------------------------------------------------------------------- 
 ; Uncompressed graphics - Player 
 ; --------------------------------------------------------------------------- 
 Art_NewPlayer: incbin artunc\newplayer.bin; New Player 
  even

Теперь давайте сделаем так, чтобы игра загружала арт нашего нового персонажа после нажатия кнопки "В" на Title Screen'e. Найдем loc_3230 там будет:

Код:
  loc_3230: 
  tst.w ($FFFFF614).w 
  beq.w Demo 
  andi.b #$80,($FFFFF605).w; нажата кнопка Start? 
  beq.w loc_317C; если нет, переходим

После beq.w Demo вставьте следующие строки:

Код:
 Title_CheckForB: 
  cmpi.b #$10, ($FFFFF605).w ; кнопка В нажата? 
  bne.s StartCheck ; если нет, переходим на проверку Start 
   
 Title_SecondCharacter: 
  move.b #$01, ($FFFFFFFE).w ; устанавливаем флаг персонажа на$01 
  move.b #$B5,d0 ; закладываем значение звука колец в d0 
  bsr.w PlaySound_Special ; переходим на суброутину, которая проигрывает этот звук ($B5) 
   
 StartCheck:

Этот код проверяет нажатие кнопки "B" на титульнике и устанавливает флаг $FFFFFFFE, если она нажата. После нажатия на кнопку "В" проигрывается звук поднятия кольца, вы можете самостоятельно изменить проигрываемый звук на любой, просто посмотрев его значение в Sound Test'e и заменить $B5 этим значением.

Теперь идем к суброутине LoadSonicDynPLC и найдем там следующую строку:

Код:
 lea (Art_Sonic).l,a1

Заменим ее этим:

Код:
 cmpi.b #$01, ($FFFFFFFE).w ; Флаг персонажей установлен на $01? 
  bne.s SonicArtLoad ; Если нет, загружаем арт Соника 
  lea (Art_NewPlayer).l,a1 ; Загружаем арт нового персонажа 
  bra.s ContLoadPLC ; Переходим 
   
 SonicArtLoad: 
  lea (Art_Sonic).l, a1 ; Загружаем арт Соника 
   
 ContLoadPLC:

Код проверяет, установлен ли флаг $FFFFFFFE (который устанавливается на $01 при нажатии "В" на титл скрине) на $01. Если флаг не установлен, загружается обычный арт Соника. Если же он установлен, то загружается арт нового перса.

Все! Компилим ром, проверяем и радуемся!