Как отобразить текст Press Start Button — различия между версиями
Quantum (обсуждение | вклад) |
Quantum (обсуждение | вклад) м |
||
Строка 1: | Строка 1: | ||
{{GuideBy|[[Quickman]]}} | {{GuideBy|[[Quickman]]}} | ||
− | В игре [[Sonic the Hedgehog (16-bit)|Sonic 1]] | + | В игре [[Sonic the Hedgehog (16-bit)|Sonic 1]] есть объект сообщения PRESS START BUTTON (PSB) на титульном экране. Однако, в окончательной версии его нет. Ну, не совсем. Он есть, но он невидим. Чтобы исправить это вы должны найти в коде игры '''Title_LoadText:'''. Теперь найдите этот кусок кода: |
<asm> lea ($FFFFD080).w,a1 | <asm> lea ($FFFFD080).w,a1 | ||
moveq #0,d0 | moveq #0,d0 | ||
Строка 28: | Строка 28: | ||
Original statement by [[Quickman]] : | Original statement by [[Quickman]] : | ||
− | {{quote|Я наконец-то точно разобрался, почему PRESS START BUTTON (PSB) текст не появляется на титульном экране Sonic 1. Я | + | {{quote|Я наконец-то точно разобрался, почему PRESS START BUTTON (PSB) текст не появляется на титульном экране Sonic 1. Я предполагаю, что это ошибка в оригинальном коде [[Sonic Team]]. (Вы можете теперь быть потрясены.) |
Теперь, объект PSB калибруется в $D080 слот RAM объекта на линии 3237 из разборки, которую я в настоящее время использую (измененный Pu7o, чтобы работать на Linux; это находится только под лейблом Title_ClrObjRam2, в случае, если это не та же самая линия в неизмененной Sonic 1 разборке). Тот, тот же самый кусок RAM ранее используется для SONIC TEAM PRESENTS (STP) объект ранее в рутине TitleScreen (линия 3162, отрегулируйте по мере необходимости). | Теперь, объект PSB калибруется в $D080 слот RAM объекта на линии 3237 из разборки, которую я в настоящее время использую (измененный Pu7o, чтобы работать на Linux; это находится только под лейблом Title_ClrObjRam2, в случае, если это не та же самая линия в неизмененной Sonic 1 разборке). Тот, тот же самый кусок RAM ранее используется для SONIC TEAM PRESENTS (STP) объект ранее в рутине TitleScreen (линия 3162, отрегулируйте по мере необходимости). |
Версия 21:29, 17 марта 2010
В игре Sonic 1 есть объект сообщения PRESS START BUTTON (PSB) на титульном экране. Однако, в окончательной версии его нет. Ну, не совсем. Он есть, но он невидим. Чтобы исправить это вы должны найти в коде игры Title_LoadText:. Теперь найдите этот кусок кода: <asm> 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</asm> И просто замените его этим: <asm> 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 "Press Start Button" object move.b #$E,($FFFFD040).w ; load big Sonic object</asm>
И теперь вы можете увидеть это:
Original statement by Quickman :
« | Я наконец-то точно разобрался, почему PRESS START BUTTON (PSB) текст не появляется на титульном экране Sonic 1. Я предполагаю, что это ошибка в оригинальном коде Sonic Team. (Вы можете теперь быть потрясены.)
Теперь, объект PSB калибруется в $D080 слот RAM объекта на линии 3237 из разборки, которую я в настоящее время использую (измененный Pu7o, чтобы работать на Linux; это находится только под лейблом Title_ClrObjRam2, в случае, если это не та же самая линия в неизмененной Sonic 1 разборке). Тот, тот же самый кусок RAM ранее используется для SONIC TEAM PRESENTS (STP) объект ранее в рутине TitleScreen (линия 3162, отрегулируйте по мере необходимости). Причина не появления текста PSB , состоит в том, что каракули объекта STP в RAM объекта, но обычно TitleScreen очищает только вверхние 1$ C байты. Любые данные между $D09C и $D0A0, ранее затронутым объектом STB, немодифицированы. Исправление достаточно простое; удалите RAM объекта для объекта в $D080 более тщательно. |
» |
—Quickman |