<?xml version="1.0" encoding="windows-1251"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<atom:link href="https://ussrteamipboardinfo.youbb.ru/export.php?type=rss" rel="self" type="application/rss+xml" />
		<title>Информационный форум USSR Team</title>
		<link>http://ussrteamipboardinfo.youbb.ru/</link>
		<description>Информационный форум USSR Team</description>
		<language>ru-ru</language>
		<lastBuildDate>Thu, 10 Mar 2011 00:35:12 +0300</lastBuildDate>
		<generator>MyBB/mybb.ru</generator>
		<item>
			<title>MuOnline Favorite</title>
			<link>http://ussrteamipboardinfo.youbb.ru/viewtopic.php?pid=15#p15</link>
			<description>&lt;p&gt;Информация Сервера :: MuFavorite :&lt;/p&gt;
						&lt;p&gt;&lt;a href=&quot;http://s1.ipicture.ru/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;img class=&quot;postimg&quot; loading=&quot;lazy&quot; src=&quot;http://s1.ipicture.ru/uploads/20110225/AV2yn9SS.jpg&quot; alt=&quot;http://s1.ipicture.ru/uploads/20110225/AV2yn9SS.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
						&lt;p&gt;Наверное многие приходя на сервер задумываются о его будущем, у сервера есть будущее только в том случае если есть администрация с интересными идеями и головой на плечах. К сожалению, сейчас множество серверов попусту настроены по &#039;дефолту&#039;, и игроков такие сервера не впечатляют, каждый игрок ищет что-то интересное для себя, нету не единого сервера который бы понравился всем игрокам с разных точек земли. &amp;quot;на вкус и цвет - товарищей нет&amp;quot; - правдивые слова.&lt;br /&gt;Сервер разрабатывался около 4 месяцев, было переписано не мало всего важного, начиная от формулы на скиллы заканчивая банками HP.&lt;br /&gt;Мы заинтересованы в будущем нашего сервера, по этому мы адекватно принимаем ваши идеи, предложения по улучшению нашего сервера.&lt;br /&gt;Ладно, хватит &amp;quot;демагогии&amp;quot;.&lt;br /&gt;&lt;br /&gt; &lt;/p&gt;
						&lt;p&gt;И так, мы постараемся как можно понятнее описать информацию о нашем сервере, возможно то, что будет сделано и то что уже есть.&lt;/p&gt;
						&lt;p&gt;• Система:&lt;br /&gt;- Сервер расположен в одном из лучших дата-центров украины, интернет канал - 100Мбит/с.&lt;br /&gt;- Круглосуточная тех.поддержка, выявление неисправностей и исправление в любое время суток.&lt;/p&gt;
						&lt;p&gt;----------------------------------------------------------//&lt;/p&gt;
						&lt;p&gt;• Информация касаемая настроек сервера:&lt;/p&gt;
						&lt;p&gt;- Главная &amp;quot;фича&amp;quot; нашего сервера - это полное отсутствие кнопки &amp;quot;m&amp;quot; и комманды &amp;quot;/move&amp;quot;, у нас установлена уникальная система телепортов через NPC.&lt;br /&gt;- Версия: Season IV (Favorite Remake - что означает что сервер частично сильно переделан нами и программистами которые для нас работали над ним).&lt;br /&gt;- Experience &amp;amp; Drop: 10%&amp;amp;30%. (На значимые праздники повышения).&lt;br /&gt;- У нас не бывает вайпов(полной очистки базы).&lt;br /&gt;- Максимальный уровень: 400.&lt;br /&gt;- Очки за уровень для обычных рас: 5&lt;br /&gt;- Очки за уровень для MG и DL: 7&lt;br /&gt;- Встроенная анти-чит система не позволит использовать программы и баги для взлома игры, что гарантирует честный игровой процесс для всех.&lt;br /&gt;&lt;a href=&quot;http://forum.mufavorite.ru/index.php?/topic/3-quest-%D0%BA%D0%B2%D0%B5%D1%81%D1%82-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0new/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;- Уникальная квестовая система в игре!&lt;/a&gt; . Теперь играть стало еще интересней. Пора размять ноги и побегать по просторам континента MuOnline. Испытайте свою удачу и обгоните время. Убейте необходимое кол-во монстров для выполнения квеста и получите отличные призы!&lt;br /&gt;- Создание гильдии: с 300 левела.&lt;br /&gt;- Ограничение статов: 32,000.&lt;br /&gt;- Уровень ресета: 400.&lt;br /&gt;&lt;a href=&quot;http://mufavorite.ru/reset.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;- Уникальная система ресета.&lt;/a&gt;&lt;br /&gt;- Elf Soldier Buff: до 180 уровня.&lt;br /&gt;- Заточки камнями: стандартные&lt;br /&gt;- Заточки в Chaos Machine: стандартные&lt;br /&gt;- Обмен Rena на CashShop Points в игре!&lt;br /&gt;&lt;a href=&quot;http://forum.mufavorite.ru/index.php?/topic/23-event-asterios-eventnew/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;- Новый Event (Asterios).&lt;/a&gt;&lt;/p&gt;
						&lt;p&gt;----------------------------------------------------------//&lt;/p&gt;
						&lt;p&gt;&lt;a href=&quot;http://forum.mufavorite.ru/index.php?/topic/401-time-%D1%80%D0%B0%D1%81%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B8%D0%B2%D0%B5%D0%BD%D1%82%D0%BE%D0%B2-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;• Расписание ивентов.&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://forum.mufavorite.ru/index.php?/topic/400-info-s4-golden-invasion/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;• Golden Invasion Event.&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://forum.mufavorite.ru/index.php?/topic/402-info-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0-%D1%81%D0%B2%D0%B0%D0%B4%D0%B5%D0%B1new/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;• Система свадеб в игре.&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://forum.mufavorite.ru/index.php?/topic/403-info-golden-archer/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;• Golden Archer.&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://forum.mufavorite.ru/index.php?/topic/88-info-cashshop/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;• CashShop Information.&lt;/a&gt;&lt;/p&gt;
						&lt;p&gt;&lt;span style=&quot;font-size: 20px&quot;&gt;Web: &lt;a href=&quot;http://mufavorite.ru/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://mufavorite.ru/&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 20px&quot;&gt;Forum: &lt;a href=&quot;http://forum.mufavorite.ru/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://forum.mufavorite.ru/&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
						&lt;p&gt;* Информация не полная, в любой момент может быть дополнена. &lt;/p&gt;
						&lt;p&gt;&lt;a href=&quot;http://mufavorite.ru/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;mu&lt;/a&gt; &lt;a href=&quot;http://mufavorite.ru/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;muonline&lt;/a&gt; &lt;a href=&quot;http://mufavorite.ru/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;MU&lt;/a&gt; &lt;a href=&quot;http://mufavorite.ru/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;MUONLINE&lt;/a&gt; &lt;a href=&quot;http://mufavorite.ru/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Season 4&lt;/a&gt; &lt;a href=&quot;http://mufavorite.ru/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Summoner&lt;/a&gt; &lt;a href=&quot;http://mufavorite.ru/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;muonline server&lt;/a&gt; &lt;a href=&quot;http://mufavorite.ru/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;best muonline&lt;/a&gt; &lt;a href=&quot;http://mufavorite.ru/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;mu favorite&lt;/a&gt; &lt;a href=&quot;http://mufavorite.ru/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;socket system&lt;/a&gt;&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Favorite)</author>
			<pubDate>Thu, 10 Mar 2011 00:35:12 +0300</pubDate>
			<guid>http://ussrteamipboardinfo.youbb.ru/viewtopic.php?pid=15#p15</guid>
		</item>
		<item>
			<title>Еще один баг.</title>
			<link>http://ussrteamipboardinfo.youbb.ru/viewtopic.php?pid=14#p14</link>
			<description>&lt;p&gt;В Сонике,есть такой объект как красная эмблема.Так вот одна из них (которая дает 100 очков) дает 10.Надо поправить.Открываем код.Переходим к лейблу Obj7D.Удалем весь вплоть до лейбла Map_obj7D включительно.И ставим в это пустое место этот код:&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 35em&quot;&gt;&lt;pre&gt;; ===========================================================================
; ---------------------------------------------------------------------------
; Object 7D - hidden points at the end of a level
; ---------------------------------------------------------------------------
 
Obj7D:        	; XREF: Obj_Index
    moveq	#0,d0
    move.b	$24(a0),d0
    move.w	Obj7D_Index(pc,d0.w),d1
    jmp	Obj7D_Index(pc,d1.w)
; ===========================================================================
Obj7D_Index:	dc.w Obj7D_Main-Obj7D_Index
    dc.w Obj7D_DelayDel-Obj7D_Index
; ===========================================================================
 
Obj7D_Main:        ; XREF: Obj7D_Index
    moveq	#$10,d2
    move.w	d2,d3
    add.w	d3,d3
    lea	($FFFFD000).w,a1
    move.w	8(a1),d0
    sub.w	8(a0),d0
    add.w	d2,d0
    cmp.w	d3,d0
    bcc.s	Obj7D_ChkDel
    move.w	$C(a1),d1
    sub.w	$C(a0),d1
    add.w	d2,d1
    cmp.w	d3,d1
    bcc.s	Obj7D_ChkDel
    tst.w	($FFFFFE08).w
    bne.s	Obj7D_ChkDel
    tst.b	($FFFFF7CD).w
    bne.s	Obj7D_ChkDel
    addq.b	#2,$24(a0)
    move.l	#Map_obj7D,4(a0)
    move.w	#$84B6,2(a0)
    ori.b	#4,1(a0)
    move.b	#0,$18(a0)
    move.b	#$10,$19(a0)
    move.b	$28(a0),$1A(a0)
    move.w	#119,$30(a0)	; set display time to 2	seconds
    move.w	#$C9,d0
    jsr	(PlaySound_Special).l ;	play bonus sound
    moveq	#0,d0
    move.b	$28(a0),d0
    add.w	d0,d0
    move.w	Obj7D_Points(pc,d0.w),d0 ; load	bonus points array
    jsr	AddPoints
 
Obj7D_ChkDel:
    move.w	8(a0),d0
    andi.w	#$FF80,d0
    move.w	($FFFFF700).w,d1
    subi.w	#$80,d1
    andi.w	#$FF80,d1
    sub.w	d1,d0
    cmpi.w	#$280,d0
    bhi.s	Obj7D_Delete
    rts	
; ===========================================================================
 
Obj7D_Delete:
    jmp	DeleteObject
; ===========================================================================
Obj7D_Points:	dc.w 0    	; Bonus	points array
    dc.w 1000
    dc.w 100
    dc.w 10
; ===========================================================================
 
Obj7D_DelayDel:        ; XREF: Obj7D_Index
    subq.w	#1,$30(a0)	; subtract 1 from display time
    bmi.s	Obj7D_Delete2	; if time is zero, branch
    move.w	8(a0),d0
    andi.w	#-$80,d0
    move.w	($FFFFF700).w,d1
    subi.w	#$80,d1
    andi.w	#-$80,d1
    sub.w	d1,d0
    cmpi.w	#$280,d0
    bhi.s	Obj7D_Delete2
    jmp	DisplaySprite
; ===========================================================================
 
Obj7D_Delete2:
    jmp	DeleteObject
; ===========================================================================
; ---------------------------------------------------------------------------
; Sprite mappings - hidden points at the end of	a level
; ---------------------------------------------------------------------------
Map_obj7D:
	include &amp;quot;_maps\obj7D.asm&amp;quot;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Гид на инглише &lt;a href=&quot;http://info.sonicretro.org/SCHG_How-to:Fix_the_Hidden_Points_bug_in_Sonic_1&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;тут&lt;/a&gt;&lt;br /&gt;Автор 1337Rooster&lt;/p&gt;</description>
			<author>mybb@mybb.ru (KameKAgZZe)</author>
			<pubDate>Mon, 07 Mar 2011 15:52:56 +0300</pubDate>
			<guid>http://ussrteamipboardinfo.youbb.ru/viewtopic.php?pid=14#p14</guid>
		</item>
		<item>
			<title>Гид для читеров</title>
			<link>http://ussrteamipboardinfo.youbb.ru/viewtopic.php?pid=13#p13</link>
			<description>&lt;p&gt;Вы наверно не раз водили код на левел селект.Если хотите укоротить его до А+Старт.Действуем так.&lt;br /&gt;Открываем код.Ищем&amp;#160; &amp;quot;Title_EnterCheat&amp;quot;.И просто изменяем на:&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 35em&quot;&gt;&lt;pre&gt;Title_EnterCheat:    	; XREF: Title_ChkRegion
    move.w	($FFFFFFE4).w,d0
    adda.w	d0,a0
    ;move.b	($FFFFF605).w,d0 ; get button press
    ;andi.b	#$F,d0    ; read only up/down/left/right buttons
    ;cmp.b	(a0),d0    ; does button press match the cheat code?
    ;bne.s	loc_3210	; if not, branch
    addq.w	#1,($FFFFFFE4).w ; next	button press
    tst.b	d0
    bne.s	Title_CountC
    lea	($FFFFFFE0).w,a0
    move.w	($FFFFFFE6).w,d1
    lsr.w	#1,d1
    andi.w	#3,d1
    beq.s	Title_PlayRing
    tst.b	($FFFFFFF8).w
    bpl.s	Title_PlayRing
    moveq	#1,d1
    move.b	d1,1(a0,d1.w)

Title_PlayRing:
    move.b	#1,(a0,d1.w)	; activate cheat
    ;move.b	#$B5,d0    ; play ring sound when code is entered&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Не работает на S1HS2.Позже напишу для него.&lt;br /&gt;Автор KameKAgZZe&lt;/p&gt;</description>
			<author>mybb@mybb.ru (KameKAgZZe)</author>
			<pubDate>Mon, 07 Mar 2011 15:36:12 +0300</pubDate>
			<guid>http://ussrteamipboardinfo.youbb.ru/viewtopic.php?pid=13#p13</guid>
		</item>
		<item>
			<title>Как добавлять новых персонажей</title>
			<link>http://ussrteamipboardinfo.youbb.ru/viewtopic.php?pid=12#p12</link>
			<description>&lt;p&gt;&lt;strong&gt;Оригинальный гид&lt;/strong&gt; - Sonic 65. &lt;/p&gt;
						&lt;p&gt;Итак, для начала закинем арт нашего нового перса в папку artunc (графика должна быть не пожата, как вы уже, наверное знаете). Назовем его, к примеру, &lt;span style=&quot;font-style: italic&quot;&gt;newplayer.bin&lt;/span&gt;. &lt;/p&gt;
						&lt;p&gt;Теперь приступим к программной части. Идите к &lt;span style=&quot;font-style: italic&quot;&gt;Art_Sonic&lt;/span&gt;, там будет это: &lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 10.5em&quot;&gt;&lt;pre&gt; ; --------------------------------------------------------------------------- 
 ; Uncompressed graphics - Sonic 
 ; --------------------------------------------------------------------------- 
 Art_Sonic: incbin artunc\sonic.bin; Sonic 
  even&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Ниже добавьте следующие строки: &lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 10.5em&quot;&gt;&lt;pre&gt;; --------------------------------------------------------------------------- 
 ; Uncompressed graphics - Player 
 ; --------------------------------------------------------------------------- 
 Art_NewPlayer: incbin artunc\newplayer.bin; New Player 
  even&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Теперь давайте сделаем так, чтобы игра загружала арт нашего нового персонажа после нажатия кнопки &lt;span style=&quot;font-style: italic&quot;&gt;&amp;quot;В&amp;quot;&lt;/span&gt; на &lt;span style=&quot;font-style: italic&quot;&gt;Title Screen&#039;e&lt;/span&gt;. Найдем &lt;span style=&quot;font-style: italic&quot;&gt;loc_3230&lt;/span&gt; там будет: &lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 10.5em&quot;&gt;&lt;pre&gt;  loc_3230: 
  tst.w ($FFFFF614).w 
  beq.w Demo 
  andi.b #$80,($FFFFF605).w; нажата кнопка Start? 
  beq.w loc_317C; если нет, переходим&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;После &lt;span style=&quot;font-style: italic&quot;&gt;beq.w &lt;/span&gt;Demo вставьте следующие строки: &lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 18em&quot;&gt;&lt;pre&gt; 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:&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Этот код проверяет нажатие кнопки &lt;span style=&quot;font-style: italic&quot;&gt;&amp;quot;B&amp;quot;&lt;/span&gt; на титульнике и устанавливает флаг &lt;span style=&quot;font-style: italic&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-style: italic&quot;&gt;FFFFFFFE&lt;/span&gt;, если она нажата. После нажатия на кнопку &lt;span style=&quot;font-style: italic&quot;&gt;&amp;quot;В&amp;quot;&lt;/span&gt; проигрывается звук поднятия кольца, вы можете самостоятельно изменить проигрываемый звук на любой, просто посмотрев его значение в &lt;span style=&quot;font-style: italic&quot;&gt;Sound Test&#039;e&lt;/span&gt; и заменить $B5 этим значением. &lt;/p&gt;
						&lt;p&gt;Теперь идем к суброутине &lt;span style=&quot;font-style: italic&quot;&gt;LoadSonicDynPLC &lt;/span&gt;и найдем там следующую строку: &lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 4.5em&quot;&gt;&lt;pre&gt; lea (Art_Sonic).l,a1&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Заменим ее этим: &lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 16.5em&quot;&gt;&lt;pre&gt; cmpi.b #$01, ($FFFFFFFE).w ; Флаг персонажей установлен на $01? 
  bne.s SonicArtLoad ; Если нет, загружаем арт Соника 
  lea (Art_NewPlayer).l,a1 ; Загружаем арт нового персонажа 
  bra.s ContLoadPLC ; Переходим 
   
 SonicArtLoad: 
  lea (Art_Sonic).l, a1 ; Загружаем арт Соника 
   
 ContLoadPLC:&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Код проверяет, установлен ли флаг &lt;span style=&quot;font-style: italic&quot;&gt;$FFFFFFFE&lt;/span&gt; (который устанавливается на &lt;span style=&quot;font-style: italic&quot;&gt;$01&lt;/span&gt; при нажатии &lt;span style=&quot;font-style: italic&quot;&gt;&amp;quot;В&amp;quot;&lt;/span&gt; на титл скрине) на &lt;span style=&quot;font-style: italic&quot;&gt;$01&lt;/span&gt;. Если флаг не установлен, загружается обычный арт Соника. Если же он установлен, то загружается арт нового перса. &lt;/p&gt;
						&lt;p&gt; Все! Компилим ром, проверяем и радуемся!&lt;/p&gt;</description>
			<author>mybb@mybb.ru (Cool-Spot)</author>
			<pubDate>Mon, 07 Mar 2011 15:22:30 +0300</pubDate>
			<guid>http://ussrteamipboardinfo.youbb.ru/viewtopic.php?pid=12#p12</guid>
		</item>
		<item>
			<title>Правим физику прыжка в Специальном этапе.</title>
			<link>http://ussrteamipboardinfo.youbb.ru/viewtopic.php?pid=11#p11</link>
			<description>&lt;p&gt;Прыжок в оригинале чувствовался как-то не очень отзывчево.Надо поправить.&lt;br /&gt;Откроем АСМ код.Перейдем к Obj09_InAir.&lt;br /&gt;Заменим строку:&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 4.5em&quot;&gt;&lt;pre&gt;BSR . W	nullsub_2&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;на:&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 4.5em&quot;&gt;&lt;pre&gt;BSR . W	       Obj09_JumpHeight&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Если в данный момент скомпилировать,то компилятор нам выдаст ошибку.&lt;br /&gt;Потому что в коде нет Obj09_JumpHeight.&lt;br /&gt;Надо найти nullsub_2.Там код примерно такой:&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 30em&quot;&gt;&lt;pre&gt;nullsub_2:        ; XREF: Obj09_InAir
    rts	
; End of function nullsub_2
 
; ===========================================================================
; ---------------------------------------------------------------------------
; unused subroutine to limit Sonic&#039;s upward vertical speed
; ---------------------------------------------------------------------------
    move.w	#-$400,d1
    cmp.w	$12(a0),d1
    ble.s	locret_1BBB4
    move.b	($FFFFF602).w,d0
    andi.b	#$70,d0
    bne.s	locret_1BBB4
    move.w	d1,$12(a0)
 
locret_1BBB4:
    rts&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Так как у нас нет ссылки больше на эту процедуру,заменим её на:&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 35em&quot;&gt;&lt;pre&gt;; ===========================================================================
; ---------------------------------------------------------------------------
; Subroutine to limit Sonic&#039;s upward vertical speed
; ---------------------------------------------------------------------------
 
Obj09_JumpHeight:    	; XREF: Obj09_InAir
    move.b	($FFFFF602).w,d0	; Кнопка прыжка нажата?
    andi.b	#$70,d0
    bne.s	locret_1BBB4    ; Если нет,переходим
    btst	#7,$22(a0)    ; did Sonic jump or is he just falling or hit by a bumper?
    beq.s	locret_1BBB4    ; if not, branch to return
    move.b	($FFFFF780).w,d0	; get SS angle
    andi.b	#$FC,d0
    neg.b	d0
    subi.b	#$40,d0
    jsr	(CalcSine).l    	
    move.w	$12(a0),d2    ; Y скорость
    muls.w	d2,d0    	; multiply Y speed by sin
    asr.l	#8,d0    	; find the new Y speed
    move.w	$10(a0),d2    ; X скорость
    muls.w	d2,d1    	; multiply X speed by cos
    asr.l	#8,d1    	; find the new X speed
    add.w	d0,d1    	; combine the two speeds
    cmpi.w	#$400,d1    ; compare the combined speed with the jump release speed
    ble.s	locret_1BBB4    ; if it&#039;s less, branch to return
    move.b	($FFFFF780).w,d0
    andi.b	#$FC,d0
    neg.b	d0
    subi.b	#$40,d0
    jsr	(CalcSine).l
    muls.w	#$400,d1
    asr.l	#8,d1
    move.w	d1,$10(a0)
    muls.w	#$400,d0
    asr.l	#8,d0
    move.w	d0,$12(a0)    ; set the speed to the jump release speed
    bclr	#7,$22(a0)    ; Очистить флаг &amp;quot;Соник прыгнул&amp;quot;
 
locret_1BBB4:
    rts&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Теперь подправим баги.Для этого найдем Obj09_OnWall.СРАЗУ после этой строки добавим эту:&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 4.5em&quot;&gt;&lt;pre&gt;bclr	#7,$22(a0)	; clear &amp;quot;Sonic has jumped&amp;quot; flag&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Также пройдем на Obj09_Jump.Найдем строку : &lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 4.5em&quot;&gt;&lt;pre&gt;bset	#1,$22(a0)&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;добавим после неё:&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 4.5em&quot;&gt;&lt;pre&gt;bset	#7,$22(a0)	; set &amp;quot;Sonic has jumped&amp;quot; flag&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;.&lt;br /&gt;И наконец последнее.Перейдем на Obj09_ChkBumper.Найдем строку : &lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 4.5em&quot;&gt;&lt;pre&gt;bset	#1,$22(a0)&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;добавим после неё:&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 4.5em&quot;&gt;&lt;pre&gt;bclr	#7,$22(a0)	; set &amp;quot;Sonic has jumped&amp;quot; flag&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;.&lt;br /&gt;Все физика изменена.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (KameKAgZZe)</author>
			<pubDate>Mon, 07 Mar 2011 14:51:49 +0300</pubDate>
			<guid>http://ussrteamipboardinfo.youbb.ru/viewtopic.php?pid=11#p11</guid>
		</item>
		<item>
			<title>Минус один баг оригинальной игры</title>
			<link>http://ussrteamipboardinfo.youbb.ru/viewtopic.php?pid=10#p10</link>
			<description>&lt;p&gt;Вы скорее всего замечали что если у Соника есть щит,и он упадет в пропасть(или его раздавят),он умирает прямо с щитом.Так вот исправить это очень легко.&lt;br /&gt;Откроем АСМ код.Найдем лейбл KillSonic.После этого:&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 6em&quot;&gt;&lt;pre&gt;bne.s	Kill_NoDeath	; if yes, branch
    move.b	#0,($FFFFFE2D).w ; Убрать неуязвимость&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;напишим:&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 4.5em&quot;&gt;&lt;pre&gt; move.b      #0,($FFFFFE2C).w; убрать щит&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Все баг устранен.&lt;br /&gt;Автор гида KameKAgZZe&lt;/p&gt;</description>
			<author>mybb@mybb.ru (KameKAgZZe)</author>
			<pubDate>Mon, 07 Mar 2011 14:30:14 +0300</pubDate>
			<guid>http://ussrteamipboardinfo.youbb.ru/viewtopic.php?pid=10#p10</guid>
		</item>
		<item>
			<title>Перенесение колец с акта до акта в Соник 1</title>
			<link>http://ussrteamipboardinfo.youbb.ru/viewtopic.php?pid=9#p9</link>
			<description>&lt;p&gt;У вас было что вы насобирали много колец на уровне,прошли его и заново их собирать?Если вы хотите положить этому конец, то этот гид для вас.Для начала откроем АСМ код. Найдем там лейбл Level_LoadObj.В этом лейбле найдите и удалите строку :&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 4.5em&quot;&gt;&lt;pre&gt;move.w	d0,($FFFFFE20).w ; clear rings&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Затем найдите KillSonic.Добавьте эту строку &lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 4.5em&quot;&gt;&lt;pre&gt;move.w	d0,($FFFFFE20).w ; clear rings&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Между этими двумя : &lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 6em&quot;&gt;&lt;pre&gt;bne.s 	Kill_NoDeath	         ; if yes, branch
    move.b	#0,($FFFFFE2D).w ; remove invincibility&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Вот в принцепи и все.Но так как возможность собрать больше колец не дает нам получить жизнь за 300, 400, 500, т.д.Можно это исправить.Найдите CollectRing.Вот здесь видно что жизнь даеться за только за сто и двести колец:&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 13.5em&quot;&gt;&lt;pre&gt;cmpi.w	#100,($FFFFFE20).w ; Есть ли сто колец у Соника
    bcs.s	Obj25_PlaySnd	; Если да воспроизводим музыку
    bset	#1,($FFFFFE1B).w ; Увеличиваем жизнь на 1
    beq.s	loc_9CA4
    cmpi.w	#200,($FFFFFE20).w ; Есть ли двести колец у Соника
    bcs.s	Obj25_PlaySnd	; Если да воспроизводим музыку
    bset	#2,($FFFFFE1B).w ; Увеличиваем жизнь на 1&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Просто добавьте: &lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 16.5em&quot;&gt;&lt;pre&gt;cmpi.w	#300,($FFFFFE20).w ; Есть ли 300 колец у Соника
    bcs.s	Obj25_PlaySnd	; Если да воспроизводим музыку
    bset	#3,($FFFFFE1B).w ; Увеличиваем жизнь на 1
    cmpi.w	#400,($FFFFFE20).w ; Есть ли двести колец у Соника
    bcs.s	Obj25_PlaySnd	; Если да воспроизводим музыку
    bset	#4,($FFFFFE1B).w ; Увеличиваем жизнь на 
                cmpi.w	#500,($FFFFFE20).w ; Есть ли сто колец у Соника
    bcs.s	Obj25_PlaySnd	; Если да воспроизводим музыку
    bset	#5,($FFFFFE1B).w ; Увеличиваем жизнь на 1&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Гид лежит &lt;a href=&quot;http://info.sonicretro.org/SCHG_How-to:Retain_Rings_Between_Acts_in_Sonic_1&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;тут&lt;/a&gt;&lt;br /&gt;Автор гида Afti.Дополнял KameKAgZZe&lt;/p&gt;</description>
			<author>mybb@mybb.ru (KameKAgZZe)</author>
			<pubDate>Mon, 07 Mar 2011 14:23:41 +0300</pubDate>
			<guid>http://ussrteamipboardinfo.youbb.ru/viewtopic.php?pid=9#p9</guid>
		</item>
		<item>
			<title>Портирование REV01 эффектов бэкграунда</title>
			<link>http://ussrteamipboardinfo.youbb.ru/viewtopic.php?pid=8#p8</link>
			<description>&lt;p&gt;Посмотрите на Sonic the Hedgehog REV01.Что вы видите?Вы видите эффекты бэкграунда,типо летящих облаков в Green Hill,искажения в воде в Labyrinth Zone и т.д.В этом гиде расскажется,как портировать эти эффекты.&lt;br /&gt;Шаг1.&lt;br /&gt;Идём к Obj0A_WobbleData в Hivebrain&#039;s 2005 disassembly и заменяем на это:&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 31.5em&quot;&gt;&lt;pre&gt;Obj0A_WobbleData:
    dc.b 0, 0, 0, 0, 0, 0,	1, 1, 1, 1, 1, 2, 2, 2,	2, 2, 2
    dc.b 2,	3, 3, 3, 3, 3, 3, 3, 3,	3, 3, 3, 3, 3, 3, 4, 3
    dc.b 3,	3, 3, 3, 3, 3, 3, 3, 3,	3, 3, 3, 3, 2, 2, 2, 2
    dc.b 2,	2, 2, 1, 1, 1, 1, 1, 0,	0, 0, 0, 0, 0, -1, -1
    dc.b -1, -1, -1, -2, -2, -2, -2, -2, -3, -3, -3, -3, -3
    dc.b -3, -3, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4
    dc.b -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4
    dc.b -4, -4, -4, -4, -4, -3, -3, -3, -3, -3, -3, -3, -2
    dc.b -2, -2, -2, -2, -1, -1, -1, -1, -1
    dc.b 0, 0, 0, 0, 0, 0,	1, 1, 1, 1, 1, 2, 2, 2,	2, 2, 2
    dc.b 2,	3, 3, 3, 3, 3, 3, 3, 3,	3, 3, 3, 3, 3, 3, 4, 3
    dc.b 3,	3, 3, 3, 3, 3, 3, 3, 3,	3, 3, 3, 3, 2, 2, 2, 2
    dc.b 2,	2, 2, 1, 1, 1, 1, 1, 0,	0, 0, 0, 0, 0, -1, -1
    dc.b -1, -1, -1, -2, -2, -2, -2, -2, -3, -3, -3, -3, -3
    dc.b -3, -3, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4
    dc.b -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4
    dc.b -4, -4, -4, -4, -4, -3, -3, -3, -3, -3, -3, -3, -2
    dc.b -2, -2, -2, -2, -1, -1, -1, -1, -1&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Шаг2:&lt;br /&gt;Идем к BGScroll_GHZ и всё до конца BGScroll_End заменяем на это:&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 35em&quot;&gt;&lt;pre&gt;BgScroll_GHZ:        ; XREF: BgScroll_Index
    clr.l	($FFFFF708).w
    clr.l	($FFFFF70C).w
    clr.l	($FFFFF714).w
    clr.l	($FFFFF71C).w
    lea	($FFFFA800).w,a2
    clr.l	(a2)+
    clr.l	(a2)+
    clr.l	(a2)+
    rts 
; ===========================================================================
 
BgScroll_LZ:        ; XREF: BgScroll_Index
    asr.l	#1,d0
    move.w	d0,($FFFFF70C).w
    rts	
; ===========================================================================
 
BgScroll_MZ:        ; XREF: BgScroll_Index
    rts	
; ===========================================================================
 
BgScroll_SLZ:        ; XREF: BgScroll_Index
    asr.l	#1,d0
    addi.w	#$C0,d0
    move.w	d0,($FFFFF70C).w
    clr.l	($FFFFF708).w
    rts	
; ===========================================================================
 
BgScroll_SYZ:        ; XREF: BgScroll_Index
    asl.l	#4,d0
    move.l	d0,d2
    asl.l	#1,d0
    add.l	d2,d0
    asr.l	#8,d0
    addq.w	#1,d0
    move.w	d0,($FFFFF70C).w
    clr.l	($FFFFF708).w
    rts	
; ===========================================================================
 
BgScroll_SBZ:        ; XREF: BgScroll_Index
    andi.w	#$7F8,d0
    asr.w	#3,d0
    addq.w	#1,d0
    move.w	d0,($FFFFF70C).w
    rts	
; ===========================================================================
 
BgScroll_End:        ; XREF: BgScroll_Index
    move.w	($FFFFF700).w,d0
    asr.w	#1,d0
    move.w	d0,($FFFFF708).w
    move.w	d0,($FFFFF710).w
    asr.w	#2,d0
    move.w	d0,d1
    add.w	d0,d0
    add.w	d1,d0
    move.w	d0,($FFFFF718).w
    clr.l	($FFFFF70C).w
    clr.l	($FFFFF714).w
    clr.l	($FFFFF71C).w
    lea	($FFFFA800).w,a2
    clr.l	(a2)+
    clr.l	(a2)+
    clr.l	(a2)+
    rts&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Шаг3:&lt;br /&gt;Идём к Deform_GHZ и заменяем всё до конца Deform_SBZ на это:&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 35em&quot;&gt;&lt;pre&gt;Deform_GHZ:
    move.w	($FFFFF73A).w,d4
    ext.l	d4
    asl.l	#5,d4
    move.l	d4,d1
    asl.l	#1,d4
    add.l	d1,d4
    moveq	#0,d6
    bsr.w	ScrollBlock6
    move.w	($FFFFF73A).w,d4
    ext.l	d4
    asl.l	#7,d4
    moveq	#0,d6
    bsr.w	ScrollBlock5
    lea	($FFFFCC00).w,a1
    move.w	($FFFFF704).w,d0
    andi.w	#$7FF,d0
    lsr.w	#5,d0
    neg.w	d0
    addi.w	#$20,d0	; &#039; &#039;
    bpl.s	Deform_GHZ_1
    moveq	#0,d0
 
Deform_GHZ_1:        ; XREF: Deform_GHZ
    move.w	d0,d4
    move.w	d0,($FFFFF618).w
    move.w	($FFFFF700).w,d0
    cmpi.b	#4,($FFFFF600).w
    bne.s	Deform_GHZ_2
    moveq	#0,d0
 
Deform_GHZ_2:        ; XREF: Deform_GHZ
    neg.w	d0
    swap	d0
    lea	($FFFFA800).w,a2
    addi.l	#$10000,(a2)+
    addi.l	#$C000,(a2)+
    addi.l	#$8000,(a2)+
    move.w	($FFFFA800).w,d0
    add.w	($FFFFF718).w,d0
    neg.w	d0
    move.w	#$1F,d1
    sub.w	d4,d1
    bcs.s	Deform_GHZ_4
 
Deform_GHZ_3:        ; XREF: Deform_GHZ
    move.l	d0,(a1)+
    dbf	d1,Deform_GHZ_3
 
Deform_GHZ_4:        ; XREF: Deform_GHZ
    move.w	($FFFFA804).w,d0
    add.w	($FFFFF718).w,d0
    neg.w	d0
    move.w	#$F,d1
 
Deform_GHZ_5:        ; XREF: Deform_GHZ
    move.l	d0,(a1)+
    dbf	d1,Deform_GHZ_5
    move.w	($FFFFA808).w,d0
    add.w	($FFFFF718).w,d0
    neg.w	d0
    move.w	#$F,d1
 
Deform_GHZ_6:        ; XREF: Deform_GHZ
    move.l	d0,(a1)+
    dbf	d1,Deform_GHZ_6
    move.w	#$2F,d1	; &#039;/&#039;
    move.w	($FFFFF718).w,d0
    neg.w	d0
 
Deform_GHZ_7:        ; XREF: Deform_GHZ
    move.l	d0,(a1)+
    dbf	d1,Deform_GHZ_7
    move.w	#$27,d1	; &#039;&#039;&#039;
    move.w	($FFFFF710).w,d0
    neg.w	d0
 
Deform_GHZ_8:        ; XREF: Deform_GHZ
    move.l	d0,(a1)+
    dbf	d1,Deform_GHZ_8
    move.w	($FFFFF710).w,d0
    move.w	($FFFFF700).w,d2
    sub.w	d0,d2
    ext.l	d2
    asl.l	#8,d2
    divs.w	#$68,d2	; &#039;h&#039;
    ext.l	d2
    asl.l	#8,d2
    moveq	#0,d3
    move.w	d0,d3
    move.w	#$47,d1	; &#039;G&#039;
    add.w	d4,d1
 
Deform_GHZ_9:        ; XREF: Deform_GHZ
    move.w	d3,d0
    neg.w	d0
    move.l	d0,(a1)+
    swap	d3
    add.l	d2,d3
    swap	d3
    dbf	d1,Deform_GHZ_9
    rts	
; End of function Deform_GHZ
 
 
; ||||||||||||||| S U B	R O U T	I N E |||||||||||||||||||||||||||||||||||||||
 
 
Deform_LZ:
    move.w	($FFFFF73A).w,d4
    ext.l	d4
    asl.l	#7,d4
    move.w	($FFFFF73C).w,d5
    ext.l	d5
    asl.l	#7,d5
    bsr.w	ScrollBlock1
    move.w	($FFFFF70C).w,($FFFFF618).w
    lea	(LZ_Wave_Data).l,a3
    lea	(Obj0A_WobbleData).l,a2
    move.b	($FFFFF7D8).w,d2
    move.b	d2,d3
    addi.w	#$80,($FFFFF7D8).w ; &#039;€&#039;
    add.w	($FFFFF70C).w,d2
    andi.w	#$FF,d2
    add.w	($FFFFF704).w,d3
    andi.w	#$FF,d3
    lea	($FFFFCC00).w,a1
    move.w	#$DF,d1	; &#039;&amp;#223;&#039;
    move.w	($FFFFF700).w,d0
    neg.w	d0
    move.w	d0,d6
    swap	d0
    move.w	($FFFFF708).w,d0
    neg.w	d0
    move.w	($FFFFF646).w,d4
    move.w	($FFFFF704).w,d5
 
Deform_LZ_1:        ; XREF: Deform_LZ
    cmp.w	d4,d5
    bge.s	Deform_LZ_2
    move.l	d0,(a1)+
    addq.w	#1,d5
    addq.b	#1,d2
    addq.b	#1,d3
    dbf	d1,Deform_LZ_1
    rts	
; ===========================================================================
 
Deform_LZ_2:        ; XREF: Deform_LZ
    move.b	(a3,d3.w),d4
    ext.w	d4
    add.w	d6,d4
    move.w	d4,(a1)+
    move.b	(a2,d2.w),d4
    ext.w	d4
    add.w	d0,d4
    move.w	d4,(a1)+
    addq.b	#1,d2
    addq.b	#1,d3
    dbf	d1,Deform_LZ_2
    rts	
; End of function Deform_LZ
 
; ===========================================================================
LZ_Wave_Data:	dc.b   1,  1,  2,  2,  3,  3,  3,  3,  2,  2,  1,  1,  0,  0,  0,  0
    dc.b   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0
    dc.b   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0
    dc.b   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0
    dc.b   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0
    dc.b   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0
    dc.b   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0
    dc.b   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0
    dc.b $FF,$FF,$FE,$FE,$FD,$FD,$FD,$FD,$FE,$FE,$FF,$FF,  0,  0,  0,  0
    dc.b   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0
    dc.b   1,  1,  2,  2,  3,  3,  3,  3,  2,  2,  1,  1,  0,  0,  0,  0
    dc.b   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0
    dc.b   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0
    dc.b   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0
    dc.b   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0
    dc.b   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0
 
; ||||||||||||||| S U B	R O U T	I N E |||||||||||||||||||||||||||||||||||||||
 
 
Deform_MZ:
    move.w	($FFFFF73A).w,d4
    ext.l	d4
    asl.l	#6,d4
    move.l	d4,d1
    asl.l	#1,d4
    add.l	d1,d4
    moveq	#2,d6
    bsr.w	ScrollBlock4
    move.w	($FFFFF73A).w,d4
    ext.l	d4
    asl.l	#6,d4
    moveq	#6,d6
    bsr.w	ScrollBlock6
    move.w	($FFFFF73A).w,d4
    ext.l	d4
    asl.l	#7,d4
    moveq	#4,d6
    bsr.w	ScrollBlock5
    move.w	#$200,d0
    move.w	($FFFFF704).w,d1
    subi.w	#$1C8,d1
    bcs.s	Deform_MZ_1
    move.w	d1,d2
    add.w	d1,d1
    add.w	d2,d1
    asr.w	#2,d1
    add.w	d1,d0
 
Deform_MZ_1:        ; XREF: Deform_MZ
    move.w	d0,($FFFFF714).w
    move.w	d0,($FFFFF71C).w
    bsr.w	ScrollBlock3
    move.w	($FFFFF70C).w,($FFFFF618).w
    move.b	($FFFFF756).w,d0
    or.b	($FFFFF758).w,d0
    or.b	d0,($FFFFF75A).w
    clr.b	($FFFFF756).w
    clr.b	($FFFFF758).w
    lea	($FFFFA800).w,a1
    move.w	($FFFFF700).w,d2
    neg.w	d2
    move.w	d2,d0
    asr.w	#2,d0
    sub.w	d2,d0
    ext.l	d0
    asl.l	#3,d0
    divs.w	#5,d0
    ext.l	d0
    asl.l	#4,d0
    asl.l	#8,d0
    moveq	#0,d3
    move.w	d2,d3
    asr.w	#1,d3
    move.w	#4,d1
 
Deform_MZ_2:        ; XREF: Deform_MZ
    move.w	d3,(a1)+
    swap	d3
    add.l	d0,d3
    swap	d3
    dbf	d1,Deform_MZ_2
    move.w	($FFFFF718).w,d0
    neg.w	d0
    move.w	#1,d1
 
Deform_MZ_3:        ; XREF: Deform_MZ
    move.w	d0,(a1)+
    dbf	d1,Deform_MZ_3
    move.w	($FFFFF710).w,d0
    neg.w	d0
    move.w	#8,d1
 
Deform_MZ_4:        ; XREF: Deform_MZ
    move.w	d0,(a1)+
    dbf	d1,Deform_MZ_4
    move.w	($FFFFF708).w,d0
    neg.w	d0
    move.w	#$F,d1
 
Deform_MZ_5:        ; XREF: Deform_MZ
    move.w	d0,(a1)+
    dbf	d1,Deform_MZ_5
    lea	($FFFFA800).w,a2
    move.w	($FFFFF70C).w,d0
    subi.w	#$200,d0
    move.w	d0,d2
    cmpi.w	#$100,d0
    bcs.s	Deform_MZ_6
    move.w	#$100,d0
 
Deform_MZ_6:        ; XREF: Deform_MZ
    andi.w	#$1F0,d0
    lsr.w	#3,d0
    lea	(a2,d0.w),a2
    bra.w	Deform_All
; ===========================================================================
 
Deform_SLZ:
    move.w	($FFFFF73C).w,d5
    ext.l	d5
    asl.l	#7,d5
    bsr.w	ScrollBlock2
    move.w	($FFFFF70C).w,($FFFFF618).w
    lea	($FFFFA800).w,a1
    move.w	($FFFFF700).w,d2
    neg.w	d2
    move.w	d2,d0
    asr.w	#3,d0
    sub.w	d2,d0
    ext.l	d0
    asl.l	#4,d0
    divs.w	#$1C,d0
    ext.l	d0
    asl.l	#4,d0
    asl.l	#8,d0
    moveq	#0,d3
    move.w	d2,d3
    move.w	#$1B,d1
 
Deform_SLZ_1:        ; XREF: Deform_MZ
    move.w	d3,(a1)+
    swap	d3
    add.l	d0,d3
    swap	d3
    dbf	d1,Deform_SLZ_1
    move.w	d2,d0
    asr.w	#3,d0
    move.w	d0,d1
    asr.w	#1,d1
    add.w	d1,d0
    move.w	#4,d1
 
Deform_SLZ_2:        ; XREF: Deform_MZ
    move.w	d0,(a1)+
    dbf	d1,Deform_SLZ_2
    move.w	d2,d0
    asr.w	#2,d0
    move.w	#4,d1
 
Deform_SLZ_3:        ; XREF: Deform_MZ
    move.w	d0,(a1)+
    dbf	d1,Deform_SLZ_3
    move.w	d2,d0
    asr.w	#1,d0
    move.w	#$1D,d1
 
Deform_SLZ_4:        ; XREF: Deform_MZ
    move.w	d0,(a1)+
    dbf	d1,Deform_SLZ_4
    lea	($FFFFA800).w,a2
    move.w	($FFFFF70C).w,d0
    move.w	d0,d2
    subi.w	#$C0,d0	; &#039;&amp;#192;&#039;
    andi.w	#$3F0,d0
    lsr.w	#3,d0
    lea	(a2,d0.w),a2
 
Deform_All:        ; XREF: Deform_MZ, Deform_SYZ, ...
    lea	($FFFFCC00).w,a1
    move.w	#$E,d1
    move.w	($FFFFF700).w,d0
    neg.w	d0
    swap	d0
    andi.w	#$F,d2
    add.w	d2,d2
    move.w	(a2)+,d0
    jmp	Deform_All_2(pc,d2.w)
; End of function Deform_MZ
 
; ===========================================================================
 
Deform_All_1:        ; XREF: Deform_All
    move.w	(a2)+,d0
 
Deform_All_2:
    move.l	d0,(a1)+
    move.l	d0,(a1)+
    move.l	d0,(a1)+
    move.l	d0,(a1)+
    move.l	d0,(a1)+
    move.l	d0,(a1)+
    move.l	d0,(a1)+
    move.l	d0,(a1)+
    move.l	d0,(a1)+
    move.l	d0,(a1)+
    move.l	d0,(a1)+
    move.l	d0,(a1)+
    move.l	d0,(a1)+
    move.l	d0,(a1)+
    move.l	d0,(a1)+
    move.l	d0,(a1)+
    dbf	d1,Deform_All_1
    rts	
 
; ||||||||||||||| S U B	R O U T	I N E |||||||||||||||||||||||||||||||||||||||
 
 
Deform_SYZ:
    move.w	($FFFFF73C).w,d5
    ext.l	d5
    asl.l	#4,d5
    move.l	d5,d1
    asl.l	#1,d5
    add.l	d1,d5
    bsr.w	ScrollBlock2
    move.w	($FFFFF70C).w,($FFFFF618).w
    lea	($FFFFA800).w,a1
    move.w	($FFFFF700).w,d2
    neg.w	d2
    move.w	d2,d0
    asr.w	#3,d0
    sub.w	d2,d0
    ext.l	d0
    asl.l	#3,d0
    divs.w	#8,d0
    ext.l	d0
    asl.l	#4,d0
    asl.l	#8,d0
    moveq	#0,d3
    move.w	d2,d3
    asr.w	#1,d3
    move.w	#7,d1
 
Deform_SYZ_1:        ; XREF: Deform_SYZ
    move.w	d3,(a1)+
    swap	d3
    add.l	d0,d3
    swap	d3
    dbf	d1,Deform_SYZ_1
    move.w	d2,d0
    asr.w	#3,d0
    move.w	#4,d1
 
Deform_SYZ_2:        ; XREF: Deform_SYZ
    move.w	d0,(a1)+
    dbf	d1,Deform_SYZ_2
    move.w	d2,d0
    asr.w	#2,d0
    move.w	#5,d1
 
Deform_SYZ_3:        ; XREF: Deform_SYZ
    move.w	d0,(a1)+
    dbf	d1,Deform_SYZ_3
    move.w	d2,d0
    move.w	d2,d1
    asr.w	#1,d1
    sub.w	d1,d0
    ext.l	d0
    asl.l	#4,d0
    divs.w	#$E,d0
    ext.l	d0
    asl.l	#4,d0
    asl.l	#8,d0
    moveq	#0,d3
    move.w	d2,d3
    asr.w	#1,d3
    move.w	#$D,d1
 
Deform_SYZ_4:        ; XREF: Deform_SYZ
    move.w	d3,(a1)+
    swap	d3
    add.l	d0,d3
    swap	d3
    dbf	d1,Deform_SYZ_4
    lea	($FFFFA800).w,a2
    move.w	($FFFFF70C).w,d0
    move.w	d0,d2
    andi.w	#$1F0,d0
    lsr.w	#3,d0
    lea	(a2,d0.w),a2
    bra.w	Deform_All
; End of function Deform_SYZ
 
 
; ||||||||||||||| S U B	R O U T	I N E |||||||||||||||||||||||||||||||||||||||
 
 
Deform_SBZ:
    tst.b	($FFFFFE11).w
    bne.w	Deform_SBZ_Act2
    move.w	($FFFFF73A).w,d4
    ext.l	d4
    asl.l	#7,d4
    moveq	#2,d6
    bsr.w	ScrollBlock4
    move.w	($FFFFF73A).w,d4
    ext.l	d4
    asl.l	#6,d4
    moveq	#6,d6
    bsr.w	ScrollBlock6
    move.w	($FFFFF73A).w,d4
    ext.l	d4
    asl.l	#5,d4
    move.l	d4,d1
    asl.l	#1,d4
    add.l	d1,d4
    moveq	#4,d6
    bsr.w	ScrollBlock5
    moveq	#0,d4
    move.w	($FFFFF73C).w,d5
    ext.l	d5
    asl.l	#5,d5
    bsr.w	ScrollBlock1_2
    move.w	($FFFFF70C).w,d0
    move.w	d0,($FFFFF714).w
    move.w	d0,($FFFFF71C).w
    move.w	d0,($FFFFF618).w
    move.b	($FFFFF756).w,d0
    or.b	($FFFFF75A).w,d0
    or.b	d0,($FFFFF758).w
    clr.b	($FFFFF756).w
    clr.b	($FFFFF75A).w
    lea	($FFFFA800).w,a1
    move.w	($FFFFF700).w,d2
    neg.w	d2
    asr.w	#2,d2
    move.w	d2,d0
    asr.w	#1,d0
    sub.w	d2,d0
    ext.l	d0
    asl.l	#3,d0
    divs.w	#4,d0
    ext.l	d0
    asl.l	#4,d0
    asl.l	#8,d0
    moveq	#0,d3
    move.w	d2,d3
    move.w	#3,d1
 
Deform_SBZ_1:        ; XREF: Deform_SBZ
    move.w	d3,(a1)+
    swap	d3
    add.l	d0,d3
    swap	d3
    dbf	d1,Deform_SBZ_1
    move.w	($FFFFF718).w,d0
    neg.w	d0
    move.w	#9,d1
 
Deform_SBZ_2:        ; XREF: Deform_SBZ
    move.w	d0,(a1)+
    dbf	d1,Deform_SBZ_2
    move.w	($FFFFF710).w,d0
    neg.w	d0
    move.w	#6,d1
 
Deform_SBZ_3:        ; XREF: Deform_SBZ
    move.w	d0,(a1)+
    dbf	d1,Deform_SBZ_3
    move.w	($FFFFF708).w,d0
    neg.w	d0
    move.w	#$A,d1
 
Deform_SBZ_4:        ; XREF: Deform_SBZ
    move.w	d0,(a1)+
    dbf	d1,Deform_SBZ_4
    lea	($FFFFA800).w,a2
    move.w	($FFFFF70C).w,d0
    move.w	d0,d2
    andi.w	#$1F0,d0
    lsr.w	#3,d0
    lea	(a2,d0.w),a2
    bra.w	Deform_All
; ===========================================================================
 
Deform_SBZ_Act2:    	; XREF: Deform_SBZ
    move.w	($FFFFF73A).w,d4
    ext.l	d4
    asl.l	#6,d4
    move.w	($FFFFF73C).w,d5
    ext.l	d5
    asl.l	#5,d5
    bsr.w	ScrollBlock1
    move.w	($FFFFF70C).w,($FFFFF618).w
    lea	($FFFFCC00).w,a1
    move.w	#$DF,d1	; &#039;&amp;#223;&#039;
    move.w	($FFFFF700).w,d0
    neg.w	d0
    swap	d0
    move.w	($FFFFF708).w,d0
    neg.w	d0
 
Deform_SBZ_Act2_1:    	; XREF: Deform_SBZ
    move.l	d0,(a1)+
    dbf	d1,Deform_SBZ_Act2_1
    rts	
; End of function Deform_SBZ&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Шаг4:&lt;br /&gt;Идём к ScrollBlock1 и заменяем всё до конца ScrollBlock4 на этот код:&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 35em&quot;&gt;&lt;pre&gt;ScrollBlock1:        ; XREF: Deform_LZ, Deform_SBZ
    move.l	($FFFFF708).w,d2
    move.l	d2,d0
    add.l	d4,d0
    move.l	d0,($FFFFF708).w
    move.l	d0,d1
    swap	d1
    andi.w	#$10,d1
    move.b	($FFFFF74C).w,d3
    eor.b	d3,d1
    bne.s	ScrollBlock1_2
    eori.b	#$10,($FFFFF74C).w
    sub.l	d2,d0
    bpl.s	ScrollBlock1_1
    bset	#2,($FFFFF756).w
    bra.s	ScrollBlock1_2
; ===========================================================================
 
ScrollBlock1_1:        ; XREF: ScrollBlock1
    bset	#3,($FFFFF756).w
 
ScrollBlock1_2:        ; XREF: ScrollBlock1, Deform_SBZ, ...
    move.l	($FFFFF70C).w,d3
    move.l	d3,d0
    add.l	d5,d0
    move.l	d0,($FFFFF70C).w
    move.l	d0,d1
    swap	d1
    andi.w	#$10,d1
    move.b	($FFFFF74D).w,d2
    eor.b	d2,d1
    bne.s	ScrollBlock1_End
    eori.b	#$10,($FFFFF74D).w
    sub.l	d3,d0
    bpl.s	ScrollBlock1_3
    bset	#0,($FFFFF756).w
    rts	
; ===========================================================================
 
ScrollBlock1_3:        ; XREF: ScrollBlock1
    bset	#1,($FFFFF756).w
 
ScrollBlock1_End:    	; XREF: ScrollBlock1
    rts	
; End of function ScrollBlock1
 
 
; ||||||||||||||| S U B	R O U T	I N E |||||||||||||||||||||||||||||||||||||||
 
 
ScrollBlock2:        ; XREF: Deform_MZ, Deform_SYZ
    move.l	($FFFFF70C).w,d3
    move.l	d3,d0
    add.l	d5,d0
    move.l	d0,($FFFFF70C).w
    move.l	d0,d1
    swap	d1
    andi.w	#$10,d1
    move.b	($FFFFF74D).w,d2
    eor.b	d2,d1
    bne.s	ScrollBlock2_End
    eori.b	#$10,($FFFFF74D).w
    sub.l	d3,d0
    bpl.s	ScrollBlock2_1
    bset	#4,($FFFFF756).w
    rts	
; ===========================================================================
 
ScrollBlock2_1:        ; XREF: ScrollBlock2
    bset	#5,($FFFFF756).w
 
ScrollBlock2_End:    	; XREF: ScrollBlock2
    rts	
; End of function ScrollBlock2
 
 
; ||||||||||||||| S U B	R O U T	I N E |||||||||||||||||||||||||||||||||||||||
 
 
ScrollBlock3:        ; XREF: Deform_MZ
    move.w	($FFFFF70C).w,d3
    move.w	d0,($FFFFF70C).w
    move.w	d0,d1
    andi.w	#$10,d1
    move.b	($FFFFF74D).w,d2
    eor.b	d2,d1
    bne.s	ScrollBlock3_End
    eori.b	#$10,($FFFFF74D).w
    sub.w	d3,d0
    bpl.s	ScrollBlock3_1
    bset	#0,($FFFFF756).w
    rts	
; ===========================================================================
 
ScrollBlock3_1:        ; XREF: ScrollBlock3
    bset	#1,($FFFFF756).w
 
ScrollBlock3_End:    	; XREF: ScrollBlock3
    rts	
; End of function ScrollBlock3
 
 
; ||||||||||||||| S U B	R O U T	I N E |||||||||||||||||||||||||||||||||||||||
 
 
ScrollBlock4:        ; XREF: Deform_MZ, Deform_SBZ
    move.l	($FFFFF708).w,d2
    move.l	d2,d0
    add.l	d4,d0
    move.l	d0,($FFFFF708).w
    move.l	d0,d1
    swap	d1
    andi.w	#$10,d1
    move.b	($FFFFF74C).w,d3
    eor.b	d3,d1
    bne.s	ScrollBlock4_End
    eori.b	#$10,($FFFFF74C).w
    sub.l	d2,d0
    bpl.s	ScrollBlock4_1
    bset	d6,($FFFFF756).w
    bra.s	ScrollBlock4_End
; ===========================================================================
 
ScrollBlock4_1:        ; XREF: ScrollBlock4
    addq.b	#1,d6
    bset	d6,($FFFFF756).w
 
ScrollBlock4_End:    	; XREF: ScrollBlock4
    rts	
; End of function ScrollBlock4
 
 
; ||||||||||||||| S U B	R O U T	I N E |||||||||||||||||||||||||||||||||||||||
 
 
ScrollBlock5:        ; XREF: Deform_GHZ, Deform_MZ, ...
    move.l	($FFFFF710).w,d2
    move.l	d2,d0
    add.l	d4,d0
    move.l	d0,($FFFFF710).w
    move.l	d0,d1
    swap	d1
    andi.w	#$10,d1
    move.b	($FFFFF74E).w,d3
    eor.b	d3,d1
    bne.s	ScrollBlock5_End
    eori.b	#$10,($FFFFF74E).w
    sub.l	d2,d0
    bpl.s	ScrollBlock5_1
    bset	d6,($FFFFF758).w
    bra.s	ScrollBlock5_End
; ===========================================================================
 
ScrollBlock5_1:        ; XREF: ScrollBlock5
    addq.b	#1,d6
    bset	d6,($FFFFF758).w
 
ScrollBlock5_End:    	; XREF: ScrollBlock5
    rts	
; End of function ScrollBlock5
 
 
; ||||||||||||||| S U B	R O U T	I N E |||||||||||||||||||||||||||||||||||||||
 
 
ScrollBlock6:        ; XREF: Deform_GHZ, Deform_MZ, ...
    move.l	($FFFFF718).w,d2
    move.l	d2,d0
    add.l	d4,d0
    move.l	d0,($FFFFF718).w
    move.l	d0,d1
    swap	d1
    andi.w	#$10,d1
    move.b	($FFFFF750).w,d3
    eor.b	d3,d1
    bne.s	ScrollBlock6_End
    eori.b	#$10,($FFFFF750).w
    sub.l	d2,d0
    bpl.s	ScrollBlock6_1
    bset	d6,($FFFFF75A).w
    bra.s	ScrollBlock6_End
; ===========================================================================
 
ScrollBlock6_1:        ; XREF: ScrollBlock6
    addq.b	#1,d6
    bset	d6,($FFFFF75A).w
 
ScrollBlock6_End:    	; XREF: ScrollBlock6
    rts	
; End of function ScrollBlock6&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Шаг5:&lt;br /&gt;Идём к sub_6886 и заменяем всё до конца LoadTilesFromStart2(это очень длинный путь) на это:&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 35em&quot;&gt;&lt;pre&gt;sub_6886:    
    lea	($C00004).l,a5
    lea	($C00000).l,a6
    lea	($FFFFF756).w,a2
    lea	($FFFFF708).w,a3
    lea	($FFFFA440).w,a4
    move.w	#$6000,d2
    bsr.w	sub_6D0A
    lea	($FFFFF758).w,a2
    lea	($FFFFF710).w,a3
    bra.w	sub_6DA6
; End of function sub_6886
 
; ---------------------------------------------------------------------------
; Subroutine to	display	correct	tiles as you move
; ---------------------------------------------------------------------------
 
; ||||||||||||||| S U B	R O U T	I N E |||||||||||||||||||||||||||||||||||||||
 
 
LoadTilesAsYouMove:    	; XREF: Demo_Time
    lea	($C00004).l,a5
    lea	($C00000).l,a6
    lea	($FFFFFF32).w,a2
    lea	($FFFFFF18).w,a3
    lea	($FFFFA440).w,a4
    move.w	#$6000,d2
    bsr.w	sub_6D0A
    lea	($FFFFFF34).w,a2
    lea	($FFFFFF20).w,a3
    bsr.w	sub_6DA6
    lea	($FFFFFF36).w,a2
    lea	($FFFFFF28).w,a3
    bsr.w	sub_6EA4
    lea	($FFFFFF30).w,a2
    lea	($FFFFFF10).w,a3
    lea	($FFFFA400).w,a4
    move.w	#$4000,d2
    tst.b	($FFFFF745).w
    beq.s	Draw_FG
    move.b	#0,($FFFFF745).w	;Reset the redraw flag
    moveq	#-$10,d4    	;Go to top line oflevel data relative camera position
    moveq	#$F,d6        ;
 
Draw_All:
    movem.l	d4-d6,-(sp)    	; This whole routine basically redraws the whole
    moveq	#-$10,d5    	; area instead of merely a line of tiles
    move.w	d4,d1
    bsr.w	Calc_VRAM_Pos
    move.w	d1,d4
    moveq	#-$10,d5
    bsr.w	DrawTiles_LR
    movem.l	(sp)+,d4-d6
    addi.w	#$10,d4
    dbf	d6,Draw_All
    rts	
 
Draw_FG:
    tst.b	(a2)
    beq.s	locret_6D08
    bclr	#0,(a2)
    beq.s	loc_6CBE
    moveq	#-$10,d4
    moveq	#-$10,d5
    bsr.w	Calc_VRAM_Pos
    moveq	#-$10,d4
    moveq	#-$10,d5
    bsr.w	DrawTiles_LR
 
loc_6CBE:
    bclr	#1,(a2)
    beq.s	loc_6CD8
    move.w	#$E0,d4	; &#039;&amp;#224;&#039;
    moveq	#-$10,d5
    bsr.w	Calc_VRAM_Pos
    move.w	#$E0,d4	; &#039;&amp;#224;&#039;
    moveq	#-$10,d5
    bsr.w	DrawTiles_LR
 
loc_6CD8:
    bclr	#2,(a2)
    beq.s	loc_6CEE
    moveq	#-$10,d4
    moveq	#-$10,d5
    bsr.w	Calc_VRAM_Pos
    moveq	#-$10,d4
    moveq	#-$10,d5
    bsr.w	DrawTiles_TB
 
loc_6CEE:
    bclr	#3,(a2)
    beq.s	locret_6D08
    moveq	#-$10,d4
    move.w	#$140,d5
    bsr.w	Calc_VRAM_Pos
    moveq	#-$10,d4
    move.w	#$140,d5
    bsr.w	DrawTiles_TB
 
locret_6D08:
    rts	
 
; End of function LoadTilesAsYouMove
 
 
; ||||||||||||||| S U B	R O U T	I N E |||||||||||||||||||||||||||||||||||||||
 
 
sub_6D0A:
    tst.b	(a2)
    beq.w	locret_6DA4
    bclr	#0,(a2)
    beq.s	loc_6D26
    moveq	#-$10,d4
    moveq	#-$10,d5
    bsr.w	Calc_VRAM_Pos
    moveq	#-$10,d4
    moveq	#-$10,d5
    bsr.w	DrawTiles_LR
 
loc_6D26:
    bclr	#1,(a2)
    beq.s	loc_6D40
    move.w	#$E0,d4	; &#039;&amp;#224;&#039;
    moveq	#-$10,d5
    bsr.w	Calc_VRAM_Pos
    move.w	#$E0,d4	; &#039;&amp;#224;&#039;
    moveq	#-$10,d5
    bsr.w	DrawTiles_LR
 
loc_6D40:
    bclr	#2,(a2)
    beq.s	loc_6D56
    moveq	#-$10,d4
    moveq	#-$10,d5
    bsr.w	Calc_VRAM_Pos
    moveq	#-$10,d4
    moveq	#-$10,d5
    bsr.w	DrawTiles_TB
 
loc_6D56:
    bclr	#3,(a2)
    beq.s	loc_6D70
    moveq	#-$10,d4
    move.w	#$140,d5
    bsr.w	Calc_VRAM_Pos
    moveq	#-$10,d4
    move.w	#$140,d5
    bsr.w	DrawTiles_TB
 
loc_6D70:
    bclr	#4,(a2)
    beq.s	loc_6D88
    moveq	#-$10,d4
    moveq	#0,d5
    bsr.w	loc_7176
    moveq	#-$10,d4
    moveq	#0,d5
    moveq	#$1F,d6
    bsr.w	DrawTiles_LR3
 
loc_6D88:
    bclr	#5,(a2)
    beq.s	locret_6DA4
    move.w	#$E0,d4	; &#039;&amp;#224;&#039;
    moveq	#0,d5
    bsr.w	loc_7176
    move.w	#$E0,d4	; &#039;&amp;#224;&#039;
    moveq	#0,d5
    moveq	#$1F,d6
    bsr.w	DrawTiles_LR3
 
locret_6DA4:
    rts	
; End of function sub_6D0A
 
 
; ||||||||||||||| S U B	R O U T	I N E |||||||||||||||||||||||||||||||||||||||
 
 
sub_6DA6:
    tst.b	(a2)
    beq.w	locret_6DF2
    cmpi.b	#5,($FFFFFE10).w
    beq.w	loc_6E16
    bclr	#0,(a2)
    beq.s	loc_6DD2
    move.w	#$70,d4	; &#039;p&#039;
    moveq	#-$10,d5
    bsr.w	Calc_VRAM_Pos
    move.w	#$70,d4	; &#039;p&#039;
    moveq	#-$10,d5
    moveq	#2,d6
    bsr.w	DrawTiles_TB2
 
loc_6DD2:
    bclr	#1,(a2)
    beq.s	locret_6DF2
    move.w	#$70,d4	; &#039;p&#039;
    move.w	#$140,d5
    bsr.w	Calc_VRAM_Pos
    move.w	#$70,d4	; &#039;p&#039;
    move.w	#$140,d5
    moveq	#2,d6
    bsr.w	DrawTiles_TB2
 
locret_6DF2:
    rts	
; ===========================================================================
unk_6DF4:	dc.b   0 ;	 
unk_6DF5:	dc.b   0 ;	 
    dc.b   0 ;  
    dc.b   0 ;  
    dc.b   0 ;  
    dc.b   6 ;  
    dc.b   6 ;  
    dc.b   6 ;  
    dc.b   6 ;  
    dc.b   6 ;  
    dc.b   6 ;  
    dc.b   6 ;  
    dc.b   6 ;  
    dc.b   6 ;  
    dc.b   6 ;  
    dc.b   4 ;  
    dc.b   4 ;  
    dc.b   4 ;  
    dc.b   4 ;  
    dc.b   4 ;  
    dc.b   4 ;  
    dc.b   4 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   0 ;  
; ===========================================================================
 
loc_6E16:
    moveq	#-$10,d4
    bclr	#0,(a2)
    bne.s	loc_6E28
    bclr	#1,(a2)
    beq.s	loc_6E72
    move.w	#$E0,d4	; &#039;&amp;#224;&#039;
 
loc_6E28:
    lea	(unk_6DF5).l,a0
    move.w	($FFFFF70C).w,d0
    add.w	d4,d0
    andi.w	#$1F0,d0
    lsr.w	#4,d0
    move.b	(a0,d0.w),d0
    lea	(unk_6FE4).l,a3
    movea.w	(a3,d0.w),a3
    beq.s	loc_6E5E
    moveq	#-$10,d5
    movem.l	d4-d5,-(sp)
    bsr.w	Calc_VRAM_Pos
    movem.l	(sp)+,d4-d5
    bsr.w	DrawTiles_LR
    bra.s	loc_6E72
; ===========================================================================
 
loc_6E5E:
    moveq	#0,d5
    movem.l	d4-d5,-(sp)
    bsr.w	loc_7176
    movem.l	(sp)+,d4-d5
    moveq	#$1F,d6
    bsr.w	DrawTiles_LR3
 
loc_6E72:
    tst.b	(a2)
    bne.s	loc_6E78
    rts	
; ===========================================================================
 
loc_6E78:
    moveq	#-$10,d4
    moveq	#-$10,d5
    move.b	(a2),d0
    andi.b	#-$58,d0
    beq.s	loc_6E8C
    lsr.b	#1,d0
    move.b	d0,(a2)
    move.w	#$140,d5
 
loc_6E8C:
    lea	(unk_6DF4).l,a0
    move.w	($FFFFF70C).w,d0
    andi.w	#$1F0,d0
    lsr.w	#4,d0
    lea	(a0,d0.w),a0
    bra.w	loc_6FEC
; End of function sub_6DA6
 
 
; ||||||||||||||| S U B	R O U T	I N E |||||||||||||||||||||||||||||||||||||||
 
 
sub_6EA4:
    tst.b	(a2)
    beq.w	locret_6EF0
    cmpi.b	#2,($FFFFFE10).w
    beq.w	loc_6F54
    bclr	#0,(a2)
    beq.s	loc_6ED0_2
    move.w	#$40,d4	; &#039;@&#039;
    moveq	#-$10,d5
    bsr.w	Calc_VRAM_Pos
    move.w	#$40,d4	; &#039;@&#039;
    moveq	#-$10,d5
    moveq	#2,d6
    bsr.w	DrawTiles_TB2
 
loc_6ED0_2:
    bclr	#1,(a2)
    beq.s	locret_6EF0
    move.w	#$40,d4	; &#039;@&#039;
    move.w	#$140,d5
    bsr.w	Calc_VRAM_Pos
    move.w	#$40,d4	; &#039;@&#039;
    move.w	#$140,d5
    moveq	#2,d6
    bsr.w	DrawTiles_TB2
 
locret_6EF0:
    rts	
; ===========================================================================
unk_6EF2:	dc.b   0 ;	 
unk_6EF3:	dc.b   0 ;	 
    dc.b   0 ;  
    dc.b   0 ;  
    dc.b   0 ;  
    dc.b   0 ;  
    dc.b   6 ;  
    dc.b   6 ;  
    dc.b   4 ;  
    dc.b   4 ;  
    dc.b   4 ;  
    dc.b   4 ;  
    dc.b   4 ;  
    dc.b   4 ;  
    dc.b   4 ;  
    dc.b   4 ;  
    dc.b   4 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   2 ;  
    dc.b   0 ;  
; ===========================================================================
 
loc_6F54:
    moveq	#-$10,d4
    bclr	#0,(a2)
    bne.s	loc_6F66
    bclr	#1,(a2)
    beq.s	loc_6FAE
    move.w	#$E0,d4	; &#039;&amp;#224;&#039;
 
loc_6F66:
    lea	(unk_6EF3).l,a0
    move.w	($FFFFF70C).w,d0
    subi.w	#$200,d0
    add.w	d4,d0
    andi.w	#$7F0,d0
    lsr.w	#4,d0
    move.b	(a0,d0.w),d0
    movea.w	unk_6FE4(pc,d0.w),a3
    beq.s	loc_6F9A
    moveq	#-$10,d5
    movem.l	d4-d5,-(sp)
    bsr.w	Calc_VRAM_Pos
    movem.l	(sp)+,d4-d5
    bsr.w	DrawTiles_LR
    bra.s	loc_6FAE
; ===========================================================================
 
loc_6F9A:
    moveq	#0,d5
    movem.l	d4-d5,-(sp)
    bsr.w	loc_7176
    movem.l	(sp)+,d4-d5
    moveq	#$1F,d6
    bsr.w	DrawTiles_LR3
 
loc_6FAE:
    tst.b	(a2)
    bne.s	loc_6FB4
    rts	
; ===========================================================================
 
loc_6FB4:
    moveq	#-$10,d4
    moveq	#-$10,d5
    move.b	(a2),d0
    andi.b	#-$58,d0
    beq.s	loc_6FC8
    lsr.b	#1,d0
    move.b	d0,(a2)
    move.w	#$140,d5
 
loc_6FC8:
    lea	(unk_6EF2).l,a0
    move.w	($FFFFF70C).w,d0
    subi.w	#$200,d0
    andi.w	#$7F0,d0
    lsr.w	#4,d0
    lea	(a0,d0.w),a0
    bra.w	loc_6FEC
; ===========================================================================
unk_6FE4:	dc.b $FF ;  
    dc.b $18 ;  
    dc.b $FF ;  
    dc.b $18 ;  
    dc.b $FF ;  
    dc.b $20 ;  
    dc.b $FF ;  
    dc.b $28 ; (
; ===========================================================================
 
loc_6FEC:
    moveq	#$F,d6
    move.l	#$800000,d7
 
loc_6FF4:
    moveq	#0,d0
    move.b	(a0)+,d0
    btst	d0,(a2)
    beq.s	loc_701C
    movea.w	unk_6FE4(pc,d0.w),a3
    movem.l	d4-d5/a0,-(sp)
    movem.l	d4-d5,-(sp)
    bsr.w	sub_712A
    movem.l	(sp)+,d4-d5
    bsr.w	Calc_VRAM_Pos
    bsr.w	sub_70AC
    movem.l	(sp)+,d4-d5/a0
 
loc_701C:
    addi.w	#$10,d4
    dbf	d6,loc_6FF4
    clr.b	(a2)
    rts	
; End of function sub_6EA4
 
 
; ||||||||||||||| S U B	R O U T	I N E |||||||||||||||||||||||||||||||||||||||
 
 
DrawTiles_LR:
    moveq	#$15,d6
; End of function DrawTiles_LR
 
 
; ||||||||||||||| S U B	R O U T	I N E |||||||||||||||||||||||||||||||||||||||
 
 
DrawTiles_LR2:
    move.l	#$800000,d7
    move.l	d0,d1
 
loc_7032:
    movem.l	d4-d5,-(sp)
    bsr.w	sub_712A
    move.l	d1,d0
    bsr.w	sub_70AC
    addq.b	#4,d1
    andi.b	#$7F,d1	; &#039;&#039;
    movem.l	(sp)+,d4-d5
    addi.w	#$10,d5
    dbf	d6,loc_7032
    rts	
; End of function DrawTiles_LR2
 
 
; ||||||||||||||| S U B	R O U T	I N E |||||||||||||||||||||||||||||||||||||||
 
 
DrawTiles_LR3:
    move.l	#$800000,d7
    move.l	d0,d1
 
loc_705C:
    movem.l	d4-d5,-(sp)
    bsr.w	loc_712C
    move.l	d1,d0
    bsr.w	sub_70AC
    addq.b	#4,d1
    andi.b	#$7F,d1	; &#039;&#039;
    movem.l	(sp)+,d4-d5
    addi.w	#$10,d5
    dbf	d6,loc_705C
    rts	
; End of function DrawTiles_LR3
 
 
; ||||||||||||||| S U B	R O U T	I N E |||||||||||||||||||||||||||||||||||||||
 
 
DrawTiles_TB:
    moveq	#$F,d6
; End of function DrawTiles_TB
 
 
; ||||||||||||||| S U B	R O U T	I N E |||||||||||||||||||||||||||||||||||||||
 
 
DrawTiles_TB2:
    move.l	#$800000,d7
    move.l	d0,d1
 
loc_7088:
    movem.l	d4-d5,-(sp)
    bsr.w	sub_712A
    move.l	d1,d0
    bsr.w	sub_70AC
    addi.w	#$100,d1
    andi.w	#$FFF,d1
    movem.l	(sp)+,d4-d5
    addi.w	#$10,d4
    dbf	d6,loc_7088
    rts	
; End of function DrawTiles_TB2
 
 
; ||||||||||||||| S U B	R O U T	I N E |||||||||||||||||||||||||||||||||||||||
 
 
sub_70AC:
    or.w	d2,d0
    swap	d0
    btst	#4,(a0)
    bne.s	loc_70E8
    btst	#3,(a0)
    bne.s	loc_70C8
    move.l	d0,(a5)
    move.l	(a1)+,(a6)
    add.l	d7,d0
    move.l	d0,(a5)
    move.l	(a1)+,(a6)
    rts	
; ===========================================================================
 
loc_70C8:
    move.l	d0,(a5)
    move.l	(a1)+,d4
    eori.l	#$8000800,d4
    swap	d4
    move.l	d4,(a6)
    add.l	d7,d0
    move.l	d0,(a5)
    move.l	(a1)+,d4
    eori.l	#$8000800,d4
    swap	d4
    move.l	d4,(a6)
    rts	
; ===========================================================================
 
loc_70E8:
    btst	#3,(a0)
    bne.s	loc_710A
    move.l	d0,(a5)
    move.l	(a1)+,d5
    move.l	(a1)+,d4
    eori.l	#$10001000,d4
    move.l	d4,(a6)
    add.l	d7,d0
    move.l	d0,(a5)
    eori.l	#$10001000,d5
    move.l	d5,(a6)
    rts	
; ===========================================================================
 
loc_710A:
    move.l	d0,(a5)
    move.l	(a1)+,d5
    move.l	(a1)+,d4
    eori.l	#$18001800,d4
    swap	d4
    move.l	d4,(a6)
    add.l	d7,d0
    move.l	d0,(a5)
    eori.l	#$18001800,d5
    swap	d5
    move.l	d5,(a6)
    rts	
; End of function sub_70AC
 
 
; ||||||||||||||| S U B	R O U T	I N E |||||||||||||||||||||||||||||||||||||||
 
 
sub_712A:
    add.w	(a3),d5
 
loc_712C:
    add.w	4(a3),d4
    lea	($FFFFB000).w,a1
    move.w	d4,d3
    lsr.w	#1,d3
    andi.w	#$380,d3
    lsr.w	#3,d5
    move.w	d5,d0
    lsr.w	#5,d0
    andi.w	#$7F,d0	; &#039;&#039;
    add.w	d3,d0
    moveq	#-1,d3
    move.b	(a4,d0.w),d3
    beq.s	locret_7172
    subq.b	#1,d3
    andi.w	#$7F,d3	; &#039;&#039;
    ror.w	#7,d3
    add.w	d4,d4
    andi.w	#$1E0,d4
    andi.w	#$1E,d5
    add.w	d4,d3
    add.w	d5,d3
    movea.l	d3,a0
    move.w	(a0),d3
    andi.w	#$3FF,d3
    lsl.w	#3,d3
    adda.w	d3,a1
 
locret_7172:
    rts	
; End of function sub_712A
 
 
; ||||||||||||||| S U B	R O U T	I N E |||||||||||||||||||||||||||||||||||||||
 
 
Calc_VRAM_Pos:
    add.w	(a3),d5
 
loc_7176:
    add.w	4(a3),d4
    andi.w	#$F0,d4	; &#039;&amp;#240;&#039;
    andi.w	#$1F0,d5
    lsl.w	#4,d4
    lsr.w	#2,d5
    add.w	d5,d4
    moveq	#3,d0
    swap	d0
    move.w	d4,d0
    rts	
; End of function Calc_VRAM_Pos
 
; ===========================================================================
    add.w	4(a3),d4
    add.w	(a3),d5
    andi.w	#$F0,d4	; &#039;&amp;#240;&#039;
    andi.w	#$1F0,d5
    lsl.w	#4,d4
    lsr.w	#2,d5
    add.w	d5,d4
    moveq	#2,d0
    swap	d0
    move.w	d4,d0
    rts	
 
; ||||||||||||||| S U B	R O U T	I N E |||||||||||||||||||||||||||||||||||||||
 
 
LoadTilesFromStart:
    lea	($C00004).l,a5
    lea	($C00000).l,a6
    lea	($FFFFF700).w,a3
    lea	($FFFFA400).w,a4
    move.w	#$4000,d2
    bsr.s	LoadTilesFromStart2
    lea	($FFFFF708).w,a3
    lea	($FFFFA440).w,a4
    move.w	#$6000,d2
    tst.b	($FFFFFE10).w
    beq.w	loc_7220
    cmpi.b	#2,($FFFFFE10).w
    beq.w	loc_725A
    cmpi.w	#$500,($FFFFFE10).w
    beq.w	loc_7288
    cmpi.b	#6,($FFFFFE10).w
    beq.w	loc_7220
; End of function LoadTilesFromStart
 
 
; ||||||||||||||| S U B	R O U T	I N E |||||||||||||||||||||||||||||||||||||||
 
 
LoadTilesFromStart2:
    moveq	#-$10,d4
    moveq	#$F,d6
 
loc_71FC:
    movem.l	d4-d6,-(sp)
    moveq	#0,d5
    move.w	d4,d1
    bsr.w	Calc_VRAM_Pos
    move.w	d1,d4
    moveq	#0,d5
    moveq	#$1F,d6
    bsr.w	DrawTiles_LR2
    movem.l	(sp)+,d4-d6
    addi.w	#$10,d4
    dbf	d6,loc_71FC
    rts	
; End of function LoadTilesFromStart2
 
; ===========================================================================
 
loc_7220:
    moveq	#0,d4
    moveq	#$F,d6
 
loc_7224:
    movem.l	d4-d6,-(sp)
    lea	(unk_724A).l,a0
    move.w	($FFFFF70C).w,d0
    add.w	d4,d0
    andi.w	#$F0,d0	; &#039;&amp;#240;&#039;
    bsr.w	sub_72BA
    movem.l	(sp)+,d4-d6
    addi.w	#$10,d4
    dbf	d6,loc_7224
    rts	
; ===========================================================================
unk_724A:	dc.b   0 ;	 
    dc.b   0 ;  
    dc.b   0 ;  
    dc.b   0 ;  
    dc.b   6 ;  
    dc.b   6 ;  
    dc.b   6 ;  
    dc.b   4 ;  
    dc.b   4 ;  
    dc.b   4 ;  
    dc.b   0 ;  
    dc.b   0 ;  
    dc.b   0 ;  
    dc.b   0 ;  
    dc.b   0 ;  
    dc.b   0 ;  
; ===========================================================================
 
loc_725A:
    moveq	#-$10,d4
    moveq	#$F,d6
 
loc_725E:
    movem.l	d4-d6,-(sp)
    lea	(unk_6EF3).l,a0
    move.w	($FFFFF70C).w,d0
    subi.w	#$200,d0
    add.w	d4,d0
    andi.w	#$7F0,d0
    bsr.w	sub_72BA
    movem.l	(sp)+,d4-d6
    addi.w	#$10,d4
    dbf	d6,loc_725E
    rts	
; ===========================================================================
 
loc_7288:
    moveq	#-$10,d4
    moveq	#$F,d6
 
loc_728C:
    movem.l	d4-d6,-(sp)
    lea	(unk_6DF5).l,a0
    move.w	($FFFFF70C).w,d0
    add.w	d4,d0
    andi.w	#$1F0,d0
    bsr.w	sub_72BA
    movem.l	(sp)+,d4-d6
    addi.w	#$10,d4
    dbf	d6,loc_728C
    rts	
; ===========================================================================
unk_72B2:	dc.b $F7 ; &amp;#247;
    dc.b   8 ;  
    dc.b $F7 ; &amp;#247;
    dc.b   8 ;  
    dc.b $F7 ; &amp;#247;
    dc.b $10 ;  
    dc.b $F7 ; &amp;#247;
    dc.b $18 ;  
 
; ||||||||||||||| S U B	R O U T	I N E |||||||||||||||||||||||||||||||||||||||
 
 
sub_72BA:
    lsr.w	#4,d0
    move.b	(a0,d0.w),d0
    movea.w	unk_72B2(pc,d0.w),a3
    beq.s	loc_72DA
    moveq	#-$10,d5
    movem.l	d4-d5,-(sp)
    bsr.w	Calc_VRAM_Pos
    movem.l	(sp)+,d4-d5
    bsr.w	DrawTiles_LR
    bra.s	locret_72EE
; ===========================================================================
 
loc_72DA:
    moveq	#0,d5
    movem.l	d4-d5,-(sp)
    bsr.w	loc_7176
    movem.l	(sp)+,d4-d5
    moveq	#$1F,d6
    bsr.w	DrawTiles_LR3
 
locret_72EE:
    rts	
; End of function sub_72BA&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Шаг6:&lt;br /&gt;Компилируем и вперёд,оценивать работу!&lt;br /&gt;Внимание!В коде возможено есть Юникод.Удалите его.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (TailsX-Doll)</author>
			<pubDate>Mon, 07 Mar 2011 14:16:38 +0300</pubDate>
			<guid>http://ussrteamipboardinfo.youbb.ru/viewtopic.php?pid=8#p8</guid>
		</item>
		<item>
			<title>Как добавить надпись Press start button в Соник 1</title>
			<link>http://ussrteamipboardinfo.youbb.ru/viewtopic.php?pid=7#p7</link>
			<description>&lt;p&gt;Открываем код(кто не помнит sonic1.asm) и ищем строку Title_LoadText(если вы делаете на второй версии S1 Hacking Studio, то она называеться @LoadText)Найдем этот кусок кода:&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 16.5em&quot;&gt;&lt;pre&gt;lea	($FFFFD080).w,a1
    moveq	#0,d0
    move.w	#7,d1
 
Title_ClrObjRam2:
    move.l	d0,(a1)+
    dbf	d1,Title_ClrObjRam2
 
    move.b	#$E,($FFFFD040).w ; load big Sonic object&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Просто закоментируйте пару строк(поставьте перед началом ; команды).Вот так должно получиться:&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 16.5em&quot;&gt;&lt;pre&gt;    lea	($FFFFD080).w,a1
;    moveq	#0,d0
;    move.w	#7,d1
 
;Title_ClrObjRam2:
;    move.l	d0,(a1)+
;    dbf	d1,Title_ClrObjRam2
    jsr	DeleteObject2	; clear object RAM to make room for the &amp;quot;Press Start Button&amp;quot; object
    move.b	#$E,($FFFFD040).w ; load big Sonic object&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Вот вам и надпись.Гид на инглише &lt;a href=&quot;http://info.sonicretro.org/SCHG_How-to:Display_the_Press_Start_Button_text&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;я тут&lt;/a&gt;.&lt;br /&gt;Автор гида Quickman&lt;/p&gt;</description>
			<author>mybb@mybb.ru (KameKAgZZe)</author>
			<pubDate>Mon, 07 Mar 2011 14:02:27 +0300</pubDate>
			<guid>http://ussrteamipboardinfo.youbb.ru/viewtopic.php?pid=7#p7</guid>
		</item>
		<item>
			<title>Новый монитор под названием &quot;Доктор Эггман&quot; к вашим услугам в Соник 1</title>
			<link>http://ussrteamipboardinfo.youbb.ru/viewtopic.php?pid=6#p6</link>
			<description>&lt;p&gt;Снова откроем АСМ код.Найдем лейбл &amp;quot;Obj2E_ChkEggman&amp;quot;.Его код примерно такой:&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 13.5em&quot;&gt;&lt;pre&gt;Obj2E_ChkEggman:    ; XREF: Obj2E_Move
        addq.b    #2,$24(a0)
        move.w    #29,$1E(a0)
        move.b    $1C(a0),d0
        cmpi.b    #1,d0; does monitor contain Eggman?
        bne.s    Obj2E_ChkSonic
        rts    ; Eggman monitor does nothing&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Заменим на это:&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 21em&quot;&gt;&lt;pre&gt;Obj2E_ChkEggman:    ; XREF: Obj2E_Move
        addq.b    #2,$24(a0)
        move.w    #29,$1E(a0)
        move.b    $1C(a0),d0
        cmpi.b    #1,d0; Это монитор &amp;quot;Доктор Эггман&amp;quot;?
        bne.s    Obj2E_ChkSonic ; Если нет, переходим к следущему  типу монитора (+1 жизнь)
        move.l    a0,a1 ;Запишим a0 в a1, потому что Touch_ChkHurt ждем повреждение объекта
        move.l    a0,-(sp) ; push a0 on the stack, and decrement stack pointer
        lea    ($FFFFD000).w,a0 ; put Sonic&#039;s ram address in a0, because Touch_ChkHurt wants the damaged object to be in a0
        jsr    Touch_ChkHurt ; run the Touch_ChkHurt routine
        move.l    (sp)+,a0 ; pop the previous value of a0 from the stack, and increment stack pointer
        rts ; Рабочий монитор &amp;quot;Доктор Эггман&amp;quot; у вас!!!&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Просто,не правда ли? сцылко на гид на английском &lt;a href=&quot;http://info.sonicretro.org/SCHG_How-to:Have_a_functional_Eggman_monitor_in_Sonic_1&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Тук&lt;/a&gt;&lt;br /&gt;Автор гида nineko.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (KameKAgZZe)</author>
			<pubDate>Mon, 07 Mar 2011 13:50:52 +0300</pubDate>
			<guid>http://ussrteamipboardinfo.youbb.ru/viewtopic.php?pid=6#p6</guid>
		</item>
		<item>
			<title>Делаем альтернативный титульный экран в Сонике 1</title>
			<link>http://ussrteamipboardinfo.youbb.ru/viewtopic.php?pid=5#p5</link>
			<description>&lt;p&gt;(опережаю это начало выделения-&lt;strong&gt; &lt;/strong&gt;-это конец(просто в Рамке &amp;quot;код&amp;quot; выделение не работает))Для начало всё таки откроем сам АСМ код(sonic.asm).Ищем строку &amp;quot;Nem_GHZ_1st:&amp;quot;.Созерцаем примерно такой код:&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 21em&quot;&gt;&lt;pre&gt;Blk16_GHZ:	incbin	map16\ghz.bin
    even
Nem_GHZ_1st:	incbin	artnem\8x8ghz1.bin; GHZ primary patterns
    even
Nem_GHZ_2nd:	incbin	artnem\8x8ghz2.bin; GHZ secondary patterns
    even
Blk256_GHZ:	incbin	map256\ghz.bin
    even
Blk16_LZ:	incbin	map16\lz.bin
    even
Nem_LZ:    incbin	artnem\8x8lz.bin; LZ primary patterns
    even&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Далее копируем лейблы &amp;quot;Blk16_GHZ&amp;quot;, &amp;quot;Blk256_GHZ&amp;quot;, и &amp;quot;Nem_GHZ_1st&amp;quot;, и переименуем выделеные слова&amp;#160; GHZ в TS(ниже).Должно появиться что-то типо этого:&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 31.5em&quot;&gt;&lt;pre&gt;; ---------------------------------------------------------------------------
; Compressed graphics - primary patterns and block mappings
; ---------------------------------------------------------------------------
Blk16_GHZ:	incbin	map16\ghz.bin
    even
Nem_GHZ_1st:	incbin	artnem\8x8ghz1.bin; GHZ primary patterns
    even
Nem_GHZ_2nd:	incbin	artnem\8x8ghz2.bin; GHZ secondary patterns
    even
Blk256_GHZ:	incbin	map256\ghz.bin
    even
[b]Blk16_TS:	incbin	map16\ts.bin                ;файл титульника
    even
Nem_TS_1st:	incbin	artnem\8x8ts1.bin; файл титульника
    even
Blk256_TS:	incbin	map256\ts.bin ;файл титульника
    even[/b]
Blk16_LZ:	incbin	map16\lz.bin
    even&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Это нужно для специальной графики для тайтл скрина.Если не поняли сейчас поймете потом.&lt;br /&gt;Но что-то мы отвлеклись.Ищем &amp;quot;Title_LoadText:&amp;quot;.Примерно такой код должен быть:&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 35em&quot;&gt;&lt;pre&gt;Title_LoadText:
    move.w	(a5)+,(a6)
    dbf	d1,Title_LoadText; load uncompressed text patterns
 
    move.b	#0,($FFFFFE30).w; clear lamppost counter
    move.w	#0,($FFFFFE08).w; disable debug item placement	mode
    move.w	#0,($FFFFFFF0).w; disable debug mode
    move.w	#0,($FFFFFFEA).w
    move.w	#0,($FFFFFE10).w; set level to	GHZ (00)
    move.w	#0,($FFFFF634).w; disable palette cycling
    bsr.w	LevelSizeLoad
    bsr.w	DeformBgLayer
    lea	($FFFFB000).w,a1
    [b]lea	(Blk16_GHZ).l,a0; load	GHZ 16x16 mappings[/b]
    move.w	#0,d0
    bsr.w	EniDec
    [b]lea	(Blk256_GHZ).l,a0; load GHZ 256x256 mappings[/b]
    lea	($FF0000).l,a1
    bsr.w	KosDec
    bsr.w	LevelLayoutLoad
    bsr.w	Pal_FadeFrom
    move	#$2700,sr
    bsr.w	ClearScreen
    lea	($C00004).l,a5
    lea	($C00000).l,a6
    lea	($FFFFF708).w,a3
    lea	($FFFFA440).w,a4
    move.w	#$6000,d2
    bsr.w	LoadTilesFromStart2
    lea	($FF0000).l,a1
    lea	(Eni_Title).l,a0; load	title screen mappings
    move.w	#0,d0
    bsr.w	EniDec
    lea	($FF0000).l,a1
    move.l	#$42060003,d0
    moveq	#$21,d1
    moveq	#$15,d2
    bsr.w	ShowVDPGraphics
    move.l	#$40000000,($C00004).l
    [b]lea	(Nem_GHZ_1st).l,a0; load GHZ patterns[/b]
    bsr.w	NemDec
    moveq	#1,d0; load title screen palette
    bsr.w	PalLoad1
    move.b	#$8A,d0; play title screen music
    bsr.w	PlaySound_Special
    move.b	#0,($FFFFFFFA).w; disable debug mode
    move.w	#$178,($FFFFF614).w; run title	screen for $178	frames
    lea	($FFFFD080).w,a1
    moveq	#0,d0
    move.w	#7,d1&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Надо скопировать переходы(в коде выделено) &amp;quot;Blk16_GHZ&amp;quot;, &amp;quot;Blk256_GHZ&amp;quot;, и &amp;quot;Nem_GHZ_1st&amp;quot; и заменить GHZ на наш &amp;quot;любимый&amp;quot; TS.&lt;br /&gt;Если все правильно сделали, то получите печеньку.Шучу.Получите такой примерно код:&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 35em&quot;&gt;&lt;pre&gt;Title_LoadText:
    move.w	(a5)+,(a6)
    dbf	d1,Title_LoadText; load uncompressed text patterns
 
    move.b	#0,($FFFFFE30).w; clear lamppost counter
    move.w	#0,($FFFFFE08).w; disable debug item placement	mode
    move.w	#0,($FFFFFFF0).w; disable debug mode
    move.w	#0,($FFFFFFEA).w
    move.w	#0,($FFFFFE10).w; set level to	GHZ (00)
    move.w	#0,($FFFFF634).w; disable palette cycling
    bsr.w	LevelSizeLoad
    bsr.w	DeformBgLayer
    lea	($FFFFB000).w,a1
    lea	(Blk16_TS).l,a0; load	GHZ 16x16 mappings
    move.w	#0,d0
    bsr.w	EniDec
    lea	(Blk256_TS).l,a0; load GHZ 256x256 mappings
    lea	($FF0000).l,a1
    bsr.w	KosDec
    bsr.w	LevelLayoutLoad
    bsr.w	Pal_FadeFrom
    move	#$2700,sr
    bsr.w	ClearScreen
    lea	($C00004).l,a5
    lea	($C00000).l,a6
    lea	($FFFFF708).w,a3
    lea	($FFFFA440).w,a4
    move.w	#$6000,d2
    bsr.w	LoadTilesFromStart2
    lea	($FF0000).l,a1
    lea	(Eni_Title).l,a0; load	title screen mappings
    move.w	#0,d0
    bsr.w	EniDec
    lea	($FF0000).l,a1
    move.l	#$42060003,d0
    moveq	#$21,d1
    moveq	#$15,d2
    bsr.w	ShowVDPGraphics
    move.l	#$40000000,($C00004).l
    lea	(Nem_TS_1st).l,a0; load GHZ patterns
    bsr.w	NemDec
    moveq	#1,d0; load title screen palette
    bsr.w	PalLoad1
    move.b	#$8A,d0; play title screen music
    bsr.w	PlaySound_Special
    move.b	#0,($FFFFFFFA).w; disable debug mode
    move.w	#$178,($FFFFF614).w; run title	screen for $178	frames
    lea	($FFFFD080).w,a1
    moveq	#0,d0
    move.w	#7,d1&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Если вы не поняли о чем я говорил вверху(а это все), то здесь должны понять.Мы поставили титульнику новые файлы.Если попробуете скомпилировать, у вас компилятор выдаст ошибку.Потому что в коде мы прописали файлы, а их нет.Исправим оплошность.В дизасембле найдем папку artnem.В той папке скопируем файлы &amp;quot;8x8ghz1.bin&amp;quot; и &amp;quot;8x8ghz2.bin&amp;quot; и назовем &amp;quot;8x8ts1.bin&amp;quot; и &amp;quot;8x8ts2.bin&amp;quot;.Сделали?Молодцы.Найдем еще две папки &amp;quot;map16&amp;quot; и &amp;quot;map256&amp;quot;.В каждой из них есть файлы &amp;quot;ghz.bin&amp;quot;,&amp;quot;ghz1.bin&amp;quot; и &amp;quot;ghz2.bin&amp;quot;.Соответственно скопируем и переименуем их в &amp;quot;ts.bin&amp;quot;,&amp;quot;ts1.bin&amp;quot; и &amp;quot;ts2.bin&amp;quot;&lt;br /&gt;Как вы поняли все эти TS файлы это и есть ваш новый фон(TS-title screen).Но есть одно НО.Ваш новый фон использует тот же макет что и GHZ.Поэтому вам надо использовать теже номера блоков.Если вам нужно изменить фон через SonED2 то вам нужен новый проект.Создайте копию любого проекта.Откройте его блокнотом(или другим текстовым редактором) и удалите все что там есть.Теперь надо вставить сам проект.Вот:&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 35em&quot;&gt;&lt;pre&gt;Type: 1	

Zone ID:	0
Act ID:	 0

Object Def: objdef\s1obj

8x8 Tiles: ..\artnem\8x8ts.bin

16x16 Tiles:   ..\map16\ts.bin

256x256 Tiles: ..\map256\ts.bin

FG Layout: ..\levels\blank.bin
BG Layout: ..\levels\ghzbg.bin

Objects:	   ..\objpos\blank.bin

Palettes-

 Number of files: 1

  Palette 1-

   Start index:	   0
   Number of entries: 64
   File:    	  ..\palette\title.bin

Angle Array:    	 ..\collide\anglemap.bin
Collision Array:     ..\collide\colarray_n.bin
Rotated Collision Array: ..\collide\colarray_r.bin

Collision Index 1: ..\collide\blank.bin

-EOF-&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Если у вас чОрный экран,то используйте этот проект:&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 35em&quot;&gt;&lt;pre&gt;Type: 1	

Zone ID:	0
Act ID:	 0

Object Def: objdef\s1obj

8x8 Tiles: ..\artnem\8x8ts.bin

16x16 Tiles:   ..\map16\ts.bin

256x256 Tiles: ..\map256\ts.bin

FG Layout: ..\levels\blank.bin
BG Layout: ..\levels\ghzbg.bin

Objects:	   ..\objpos\blank.bin

Palettes-

 Number of files: 2

  Palette 1-

   Start index:        0
   Number of entries: 16
   File:              ..\pallet\sonic.bin

  Palette 2-

   Start index:       16
   Number of entries: 48
   File:              ..\pallet\ghz.bin

Angle Array:             ..\collide\anglemap.bin
Collision Array:         ..\collide\carray_n.bin
Rotated Collision Array: ..\collide\carray_r.bin

Collision Index 1: ..\collide\blank.bin

-EOF-&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Гид на английском лежит по адресу &lt;a href=&quot;http://info.sonicretro.org/SCHG_How-to:Make_an_Alternative_Title_Screen&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Адрес&lt;/a&gt; .&lt;br /&gt;Автор гида JcFerggy.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (KameKAgZZe)</author>
			<pubDate>Mon, 07 Mar 2011 13:30:05 +0300</pubDate>
			<guid>http://ussrteamipboardinfo.youbb.ru/viewtopic.php?pid=5#p5</guid>
		</item>
		<item>
			<title>Как исправить Spike Bug</title>
			<link>http://ussrteamipboardinfo.youbb.ru/viewtopic.php?pid=4#p4</link>
			<description>&lt;p&gt;&lt;strong&gt;Hivebrain&#039;s Sonic 1 disassembly (2005)&lt;/strong&gt;&lt;br /&gt;Ищем Obj36_Hurt.Obj36 - это шипы.&lt;br /&gt;Заменяем это&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 10.5em&quot;&gt;&lt;pre&gt;Obj36_Hurt:        ; XREF: Obj36_SideWays; Obj36_Upright
    tst.b	($FFFFFE2D).w	; is Sonic invincible?
    bne.s	Obj36_Display	; if yes, branch
    move.l	a0,-(sp)
    ...&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;на это&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 13.5em&quot;&gt;&lt;pre&gt;Obj36_Hurt:        ; XREF: Obj36_SideWays; Obj36_Upright
    tst.b	($FFFFFE2D).w	; is Sonic invincible?
    bne.s	Obj36_Display	; if yes, branch
    tst.w	($FFFFD030).w	; +++ is Sonic invulnerable?
    bne.s	Obj36_Display	; +++ if yes, branch
    move.l	a0,-(sp)
    ...&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Sonic 1 disassembly (svn version)&lt;/strong&gt;&lt;br /&gt;Идём в _incObj\36 Spikes.asm.В этом файле ищем&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 9em&quot;&gt;&lt;pre&gt;Spik_Hurt:        ; XREF: Spik_SideWays; Spik_Upright
    tst.b	(v_invinc).w	; is Sonic invincible?
    bne.s	Spik_Display	; if yes, branch
    move.l	a0,-(sp)&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;и заменяем на это&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 12em&quot;&gt;&lt;pre&gt;Spik_Hurt:        ; XREF: Spik_SideWays; Spik_Upright
    tst.b	(v_invinc).w	; is Sonic invincible?
    bne.s	Spik_Display	; if yes, branch
    tst.w	(v_player+$30).w ; +++ is Sonic invulnerable?
    bne.s	Spik_Display	; +++ if yes, branch
    move.l	a0,-(sp)&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Компилируем и радуемся!&amp;#160; ^^&lt;/p&gt;</description>
			<author>mybb@mybb.ru (TailsX-Doll)</author>
			<pubDate>Mon, 07 Mar 2011 13:17:41 +0300</pubDate>
			<guid>http://ussrteamipboardinfo.youbb.ru/viewtopic.php?pid=4#p4</guid>
		</item>
		<item>
			<title>Замена оригинальных DAC сэмплов с помощью звукового драйвера jman&#039;а</title>
			<link>http://ussrteamipboardinfo.youbb.ru/viewtopic.php?pid=3#p3</link>
			<description>&lt;p&gt;Для начала нам потребуется:&lt;br /&gt; -Прямые руки,&lt;br /&gt; -Звуковой драйвер.&lt;a href=&quot;http://digilander.iol.it/projectchaos/NEW_KOSZ80.bin&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-size: 12px&quot;&gt;&lt;span style=&quot;font-family: Comic Sans Ms&quot;&gt;Скачать!&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt; -И самое главное,исходник.&lt;/p&gt;
						&lt;p&gt;Приступим!&lt;br /&gt;Качаем звуковой движок,&lt;a href=&quot;http://info.sonicretro.org/images/e/e7/The_Sega_Data_Compressor_v2.2.7z&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;The Sega Data Compressor&lt;/a&gt; и разжимаем драйвер в Kosinski.Разжали?Кидаем его в папку &lt;strong&gt;...sound/dac&lt;/strong&gt;.В эту же папку будем сохранять сэмплы...&lt;/p&gt;
						&lt;p&gt;Приступаем к редактированию кода:&lt;br /&gt;Ищем суброутину SoundDriverLoad.Заменяем в ней это:&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 9em&quot;&gt;&lt;pre&gt;	
                lea	(Kos_Z80).l,a0	; load sound driver
    lea	($A00000).l,a1
    bsr.w	KosDec    ; decompress&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;на это:&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 16.5em&quot;&gt;&lt;pre&gt;	        moveq	#0,d0
    lea	(Z80_Driver).l,a0	; load the sound driver
    lea	($A00000).l,a1    ; load the destiny offset
    move.w	(Z80_Size).l,d0    ; load the weight of the sound driver
    sub.w	#1,d0
 
SoundDriver_Z80:
    move.b	(a0)+,(a1)+
    dbf	d0,SoundDriver_Z80&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Далее ищем&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 12em&quot;&gt;&lt;pre&gt;Kos_Z80:	incbin	sound\z80_1.bin
    dc.w ((SegaPCM&amp;amp;$FF)&amp;lt;&amp;lt;8)+((SegaPCM&amp;amp;$FF00)&amp;gt;&amp;gt;8)
    dc.b $21
    dc.w (((EndOfRom-SegaPCM)&amp;amp;$FF)&amp;lt;&amp;lt;8)+(((EndOfRom-SegaPCM)&amp;amp;$FF00)&amp;gt;&amp;gt;8)
    incbin	sound\z80_2.bin
    even&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;на это:&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 35em&quot;&gt;&lt;pre&gt;Z80_Driver:	incbin	sound\dac\z80_new.bin
    even
; ===========================================================================
;	Definitions
; ===========================================================================
DacDef0:
    dc.w	((($8000+(DacPCM0-(DacPCM0&amp;amp;$FFFF8000)))&amp;amp;$FF)&amp;lt;&amp;lt;8)+((($8000+(DacPCM0-(DacPCM0&amp;amp;$FFFF8000)))&amp;amp;$FF00)&amp;gt;&amp;gt;8)
    dc.w	$5203
    dc.b	$80
    dc.w	(((DacPCM0/$100)&amp;amp;$FF)&amp;lt;&amp;lt;8)+(((DacPCM0/$100)&amp;amp;$FF00)&amp;gt;&amp;gt;8)
    dc.b	$00
 
DacDef1:
    dc.w	((($8000+(DacPCM1-(DacPCM1&amp;amp;$FFFF8000)))&amp;amp;$FF)&amp;lt;&amp;lt;8)+((($8000+(DacPCM1-(DacPCM1&amp;amp;$FFFF8000)))&amp;amp;$FF00)&amp;gt;&amp;gt;8)
    dc.w	$7007
    dc.b	$88
    dc.w	(((DacPCM1/$100)&amp;amp;$FF)&amp;lt;&amp;lt;8)+(((DacPCM1/$100)&amp;amp;$FF00)&amp;gt;&amp;gt;8)
    dc.b	$00
 
DacDef2:
    dc.w	((($8000+(DacPCM2-(DacPCM2&amp;amp;$FFFF8000)))&amp;amp;$FF)&amp;lt;&amp;lt;8)+((($8000+(DacPCM2-(DacPCM2&amp;amp;$FFFF8000)))&amp;amp;$FF00)&amp;gt;&amp;gt;8)
    dc.w	$1610
    dc.b	$81
    dc.w	(((DacPCM2/$100)&amp;amp;$FF)&amp;lt;&amp;lt;8)+(((DacPCM2/$100)&amp;amp;$FF00)&amp;gt;&amp;gt;8)
    dc.b	$00
 
DacDef3:
    dc.w	0
    dc.w	0
    dc.b	0
    dc.w	0
    dc.b	0
 
DacDef4:
    dc.w	0
    dc.w	0
    dc.b	0
    dc.w	0
    dc.b	0
 
DacDef5:
    dc.w	0
    dc.w	0
    dc.b	0
    dc.w	0
    dc.b	0
 
DacDef6:
    dc.w	0
    dc.w	0
    dc.b	0
    dc.w	0
    dc.b	0
 
DacDef7:
    dc.w	0
    dc.w	0
    dc.b	0
    dc.w	0
    dc.b	0
 
DacDef8:
    dc.w	0
    dc.w	0
    dc.b	0
    dc.w	0
    dc.b	0
 
DacDef9:
    dc.w	0
    dc.w	0
    dc.b	0
    dc.w	0
    dc.b	0
 
DacDefA:
    dc.w	0
    dc.w	0
    dc.b	0
    dc.w	0
    dc.b	0
 
DacDefB:
    dc.w	0
    dc.w	0
    dc.b	0
    dc.w	0
    dc.b	0
 
DacDefC:
    dc.w	0
    dc.w	0
    dc.b	0
    dc.w	0
    dc.b	0
 
DacDefD:
    dc.w	0
    dc.w	0
    dc.b	0
    dc.w	0
    dc.b	0
 
DacDefE:
    dc.w	0
    dc.w	0
    dc.b	0
    dc.w	0
    dc.b	0
; =============================================================
;	Samples
; =============================================================
DacPCM0:
    incbin	sound\dac\dac1d.bin
    even
DacPCM1:
    incbin	sound\dac\dac2d.bin
    even
DacPCM2:
    incbin	sound\dac\dac3d.bin
    even
 
Z80_Size:
    dc.w	DacPCM0-Z80_Driver&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Эта таблица на 14 слотов для сэмплов.Занято всего 3 слота.Если вам нужно больше слотов.Заполнять можно до тех пор,пока не дойдёте до 14 слота.Гдето на ретро есть гид по увеличению количества слотов.&lt;/p&gt;
						&lt;p&gt;Для каждого сэмпла конвертим семпл в&amp;#160; Waw 8bin 24khz Mono *помоему так*.Когда наконвертируете и добавите в игру сэмплов,настройте в этой таблице Pitch для каждого сэмпла.Потом компилируем и радуемся.&lt;/p&gt;
						&lt;p&gt;Гид будет редактироваться и возможно дополняться ресурсами.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (TailsX-Doll)</author>
			<pubDate>Mon, 07 Mar 2011 13:02:07 +0300</pubDate>
			<guid>http://ussrteamipboardinfo.youbb.ru/viewtopic.php?pid=3#p3</guid>
		</item>
	</channel>
</rss>
