Перейти к содержимому
Alexey383

Туториалы по хакингу Sonic (Genesis/Mega Drive)

Рекомендуемые сообщения

Почему при появлении на экране любых обьектов кроме Соника, которые я редактировал в SonMapED, появляется синий или фиолетовый экран

Поделиться сообщением


Ссылка на сообщение

Люди если в этой теме хоть кто нить будет помогите плиз. в каком фаиле находится цифры показывающие сколько жизней осталось заранее спасибо. :)

Поделиться сообщением


Ссылка на сообщение
Люди если в этой теме хоть кто нить будет помогите плиз. в каком фаиле находится цифры показывающие сколько жизней осталось заранее спасибо. :)

artunc\livescnt.bin. Арт несжат, можно сразу открывать в тайловом редакторе и творить.

Поделиться сообщением


Ссылка на сообщение
artunc\livescnt.bin. Арт несжат, можно сразу открывать в тайловом редакторе и творить.

Спасибо буду дальше пробовать творить!

=)

 

И еще можно вопрос? В S1HackingStudio есть встроеный дизасэмблер как я понял. переделал много тайтлов но ни получается сделать мониторы. можно их как-нить переделать? а то нихочу качать дизасемблер. заранее спасибо!

:)

Изменено пользователем KameKAgZZe

Поделиться сообщением


Ссылка на сообщение
В S1HackingStudio есть встроеный дизасэмблер как я понял.

???

Никакого дизассемблера в программу не встроено.

переделал много тайтлов но ни получается сделать мониторы. можно их как-нить переделать? а то нихочу качать дизасемблер. заранее спасибо!

А как ты сможешь их переделать, скачав дизассемблер?

Плакать хочется...

Поделиться сообщением


Ссылка на сообщение
???

Никакого дизассемблера в программу не встроено.

 

А как ты сможешь их переделать, скачав дизассемблер?

Плакать хочется...

Look-Tops а что по твоему тогда в папке с програмой делает папка SourceCode и что в ней

а нащет второго ответа скажу так просто если не получится сделать мониторы в этой програме придется качать дизасемблер и там переделавать мониторы. И если не сложно в каком фаиле ноходится шар первого босса?Заранее спасибо!

Изменено пользователем KameKAgZZe

Поделиться сообщением


Ссылка на сообщение

После вставки Jump Dash у меня при запуске рома чёрный экран!!!Что делать?

Поделиться сообщением


Ссылка на сообщение
Look-Tops а что по твоему тогда в папке с програмой делает папка SourceCode и что в ней

В ней находится ДИЗАССЕМБЛ. А дизассемблер - программа, которая открывает РОМ-файл и показывает асм-код игры.

а нащет второго ответа скажу так просто если не получится сделать мониторы в этой програме придется качать дизасемблер и там переделавать мониторы.

Хочу тебя разочаровать, но, скачав дизассемблер, ты сможешь только копаться в беспорядочно расположенном асм-коде игры, да и то, без комментариев ты ничего не поймешь (да и с комментариями тоже).

 

Вся графика игры в дизассембле первого соника находится в папках artnem, artkos, artunc. В папке artnem все файлы пожаты Nemesis'ом, в папке artkos - Kosinski, а в папке artunc ничего не пожато и их можно спокойно перерисовывать в тайловых редакторах. Пожатую же графику можно декомпрессировать программой Sega Data Compressor или SonMapEd'ом.

 

После вставки Jump Dash у меня при запуске рома чёрный экран!!!Что делать?

А вы темой случаем не ошиблись?

По-видимому испортилась чексумма, это можно поправить прогой FixCheckSum.

Изменено пользователем Look-Tops

Поделиться сообщением


Ссылка на сообщение
В ней находится ДИЗАССЕМБЛ. А дизассемблер - программа, которая открывает РОМ-файл и показывает асм-код игры.

 

Хочу тебя разочаровать, но, скачав дизассемблер, ты сможешь только копаться в беспорядочно расположенном асм-коде игры, да и то, без комментариев ты ничего не поймешь (да и с комментариями тоже).

 

Вся графика игры в дизассембле первого соника находится в папках artnem, artkos, artunc. В папке artnem все файлы пожаты Nemesis'ом, в папке artkos - Kosinski, а в папке artunc ничего не пожато и их можно спокойно перерисовывать в тайловых редакторах. Пожатую же графику можно декомпрессировать программой Sega Data Compressor или SonMapEd'ом.

.

Извини ошибся. насчет графики я знаю что она пожата и я просто создаю папку artnem_u и запускаю derecmp_decompress.bat отредактировал и запустил derecmp_compress.bat все)))

Изменено пользователем KameKAgZZe

Поделиться сообщением


Ссылка на сообщение

Ну раз разобрался с компрессией-декомпрессией, думаю, труда не составит найти в этих файлах "шар первого босса".

Поделиться сообщением


Ссылка на сообщение
Ну раз разобрался с компрессией-декомпрессией, думаю, труда не составит найти в этих файлах "шар первого босса".

так и не получается найти сам бос запросто а шар нет! :tomato:

Поделиться сообщением


Ссылка на сообщение

Эта темка предназначена для выкладывания гидов, а не рандомных вопросов по хакингу. Давайте не будем ее засорять. Если есть замечания или отзывы по выложенным гидам - пишите, пожалуйста.

А вот для остальных вопросов есть "Ваши хаки" и "S1 Hacking Studio".

ADDED: а еще есть прекрасная молодая темка для вопросов по SonMapED, если у кого они есть.

Изменено пользователем vladikcomper

Поделиться сообщением


Ссылка на сообщение

у кого есть музыки для вставки в игру соник?у кого есть дайте плиз!мне они нужны для игры.а то игра будет без музык.

  • Дизлайк 1

Поделиться сообщением


Ссылка на сообщение

Я решил перевести гид по добавлению персонажа в sonic1. Оригинальный гид лежит на ретро(by sonic 65) http://info.sonicretro.org/SCHG_How-to:Add_Extra_Characters .

Сначала подготовьте спрайты второго персонажа и поместите в artunc.Фаил назовите как хотите я назвал dark.bin

Затем откройте АСМ код игры и найдите Art_Sonic.У вас должно быть что то типо этого:

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

ниже этого вставте примерно так:

Art_dark:	incbin	artunc\dark.bin; Спрайты вашего персонажа
	even

Далее вы должны выбрать каким образом ваш персонаж будет выбиратся.В примере он будет выбиратся нажатием В на титульнике(level select не в счет).

Для этого надо найти loc_3230. У вас должно получится что то типо этого:

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

После beq.w Demo поставте это:

Title_CheckForB:
	cmpi.b	#$10, ($FFFFF605).w; has B been pressed?
	bne.s	StartCheck	; if not, branch

Title_SecondCharacter:
	move.b	#$01, ($FFFFFFFE).w; Устанавливается флаг.
	move.b	#$B5,d0		; Проигрывать звук кольца
	bsr.w	PlaySound_Special	

StartCheck:

Это проверяется нажата ли В на титульнике если то устанавливается флаг персонажа.

Теперь перейдите к LoadSonicDynPLC.Найдите что то типо этого move.l #Art_Sonic,d6 или этого lea (Art_Sonic).l,a1 .

Удалите эту строчку а заместо неё вставте:

				cmpi.b	#$01, ($FFFFFFFE).w; Установлен ли флаг?
	bne.s	SonicArtLoad	; Если нет грузим арт sonicа
	lea	(Art_dark).l,a1; Грузим арт  darkа

			bra.s   ContLoadPLC


SonicArtLoad:		  
			lea	(Art_Sonic).l, a1; Грузим арт  sonica
			move.l	#Art_Sonic,d6

ContLoadPLC:

У вас должно получится:

LoadSonicDynPLC:		; XREF: Obj01_Control; et al

			moveq	#0,d0
	move.b	$1A(a0),d0; load frame number
			move.l	#Art_dark
	cmp.b	($FFFFF766).w,d0
			lea	(SonicDynPLC).l,a2
	beq.s	locret_13C96
	move.b	d0,($FFFFF766)
			cmpi.b	#$01, ($FFFFFFFE).w; Установлен ли флаг?
	bne.s	SonicArtLoad	; Если нет грузим арт соника
	lea	(Art_dark).l,a1; Грузим арт darka
							bra.s   ContLoadPLC


SonicArtLoad:		  
			lea	(Art_Sonic).l, a1; load Sonic's art
			move.l	#Art_Sonic,d6

ContLoadPLC:		
	add.w	d0,d0
	adda.w	(a2,d0.w),a2
	moveq	#0,d5
	move.b	(a2)+,d5
	subq.w	#1,d5
	bmi.s	locret_13C96
	move.w	#$F000,d4
							 move.l	#Art_Sonic,d6



SPLC_ReadEntry:

Уберите move.l #Art_Sonic,d6 . И все персонаж готов.Способности придумывайте сами)))

Гид я чуть-чуть редактировал.

  • Лайк 2

Поделиться сообщением


Ссылка на сообщение
Я решил перевести гид по добавлению персонажа в sonic1. Оригинальный гид лежит на ретро(by sonic 65) http://info.sonicretro.org/SCHG_How-to:Add_Extra_Characters .

Сначала подготовьте спрайты второго персонажа и поместите в artunc.Фаил назовите как хотите я назвал dark.bin

Затем откройте АСМ код игры и найдите Art_Sonic.У вас должно быть что то типо этого:

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

ниже этого вставте примерно так:

Art_dark:	incbin	artunc\dark.bin; Спрайты вашего персонажа
	even

Далее вы должны выбрать каким образом ваш персонаж будет выбиратся.В примере он будет выбиратся нажатием В на титульнике(level select не в счет).

Для этого надо найти loc_3230. У вас должно получится что то типо этого:

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

После beq.w Demo поставте это:

Title_CheckForB:
	cmpi.b	#$10, ($FFFFF605).w; has B been pressed?
	bne.s	StartCheck; if not, branch

Title_SecondCharacter:
	move.b	#$01, ($FFFFFFFE).w; Устанавливается флаг.
	move.b	#$B5,d0	; Проигрывать звук кольца
	bsr.w	PlaySound_Special	

StartCheck:

Это проверяется нажата ли В на титульнике если то устанавливается флаг персонажа.

Теперь перейдите к LoadSonicDynPLC.Найдите что то типо этого move.l #Art_Sonic,d6 или этого lea (Art_Sonic).l,a1 .

Удалите эту строчку а заместо неё вставте:

				cmpi.b	#$01, ($FFFFFFFE).w; Установлен ли флаг?
	bne.s	SonicArtLoad; Если нет грузим арт sonicа
	lea	(Art_dark).l,a1; Грузим арт  darkа

			bra.s   ContLoadPLC


SonicArtLoad:		  
			lea	(Art_Sonic).l, a1; Грузим арт  sonica
			move.l	#Art_Sonic,d6

ContLoadPLC:

У вас должно получится:

LoadSonicDynPLC:	; XREF: Obj01_Control; et al

			moveq	#0,d0
	move.b	$1A(a0),d0; load frame number
			move.l	#Art_dark
	cmp.b	($FFFFF766).w,d0
			lea	(SonicDynPLC).l,a2
	beq.s	locret_13C96
	move.b	d0,($FFFFF766)
			cmpi.b	#$01, ($FFFFFFFE).w; Установлен ли флаг?
	bne.s	SonicArtLoad; Если нет грузим арт соника
	lea	(Art_dark).l,a1; Грузим арт darka
							bra.s   ContLoadPLC


SonicArtLoad:		  
			lea	(Art_Sonic).l, a1; load Sonic's art
			move.l	#Art_Sonic,d6

ContLoadPLC:		
	add.w	d0,d0
	adda.w	(a2,d0.w),a2
	moveq	#0,d5
	move.b	(a2)+,d5
	subq.w	#1,d5
	bmi.s	locret_13C96
	move.w	#$F000,d4
							 move.l	#Art_Sonic,d6



SPLC_ReadEntry:

Уберите move.l #Art_Sonic,d6 . И все персонаж готов.Способности придумывайте сами)))

Гид я чуть-чуть редактировал.

Отлично :blush2: Теперь с гидом с ретро не париться, не переводить :blush2:

Поделиться сообщением


Ссылка на сообщение
Я решил перевести гид по добавлению персонажа в sonic1. Оригинальный гид лежит на ретро(by sonic 65) http://info.sonicretro.org/SCHG_How-to:Add_Extra_Characters .

Сначала подготовьте спрайты второго персонажа и поместите в artunc.Фаил назовите как хотите я назвал dark.bin

Затем откройте АСМ код игры и найдите Art_Sonic.У вас должно быть что то типо этого:

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

ниже этого вставте примерно так:

Art_dark:	incbin	artunc\dark.bin; Спрайты вашего персонажа
	even

Далее вы должны выбрать каким образом ваш персонаж будет выбиратся.В примере он будет выбиратся нажатием В на титульнике(level select не в счет).

Для этого надо найти loc_3230. У вас должно получится что то типо этого:

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

После beq.w Demo поставте это:

Title_CheckForB:
	cmpi.b	#$10, ($FFFFF605).w; has B been pressed?
	bne.s	StartCheck; if not, branch

Title_SecondCharacter:
	move.b	#$01, ($FFFFFFFE).w; Устанавливается флаг.
	move.b	#$B5,d0	; Проигрывать звук кольца
	bsr.w	PlaySound_Special	

StartCheck:

Это проверяется нажата ли В на титульнике если то устанавливается флаг персонажа.

Теперь перейдите к LoadSonicDynPLC.Найдите что то типо этого move.l #Art_Sonic,d6 или этого lea (Art_Sonic).l,a1 .

Удалите эту строчку а заместо неё вставте:

				cmpi.b	#$01, ($FFFFFFFE).w; Установлен ли флаг?
	bne.s	SonicArtLoad; Если нет грузим арт sonicа
	lea	(Art_dark).l,a1; Грузим арт  darkа

			bra.s   ContLoadPLC


SonicArtLoad:		  
			lea	(Art_Sonic).l, a1; Грузим арт  sonica
			move.l	#Art_Sonic,d6

ContLoadPLC:

У вас должно получится:

LoadSonicDynPLC:	; XREF: Obj01_Control; et al

			moveq	#0,d0
	move.b	$1A(a0),d0; load frame number
			move.l	#Art_dark
	cmp.b	($FFFFF766).w,d0
			lea	(SonicDynPLC).l,a2
	beq.s	locret_13C96
	move.b	d0,($FFFFF766)
			cmpi.b	#$01, ($FFFFFFFE).w; Установлен ли флаг?
	bne.s	SonicArtLoad; Если нет грузим арт соника
	lea	(Art_dark).l,a1; Грузим арт darka
							bra.s   ContLoadPLC


SonicArtLoad:		  
			lea	(Art_Sonic).l, a1; load Sonic's art
			move.l	#Art_Sonic,d6

ContLoadPLC:		
	add.w	d0,d0
	adda.w	(a2,d0.w),a2
	moveq	#0,d5
	move.b	(a2)+,d5
	subq.w	#1,d5
	bmi.s	locret_13C96
	move.w	#$F000,d4
							 move.l	#Art_Sonic,d6



SPLC_ReadEntry:

Уберите move.l #Art_Sonic,d6 . И все персонаж готов.Способности придумывайте сами)))

Гид я чуть-чуть редактировал.

Я про тупил поэтому этот гид кривой. Кому надо обрашайтесь помогу.

Поделиться сообщением


Ссылка на сообщение

а нету дисасамблера для соник 2

ну похожий на дисасамблер для соник 1

Поделиться сообщением


Ссылка на сообщение
а нету дисасамблера для соник 2

ну похожий на дисасамблер для соник 1

Есть смотри на Ретро t^_^

Поделиться сообщением


Ссылка на сообщение

Sonic 2 Split and Text by Xenowhirl

Вот.

дизаемблер

Дизасcемблер - Программа,открывающая ром и показывающая исходный код рома.

Дизасембл - Исходный код игры.

 

Различай пожалуйста эти две вещи и пиши без ошибок.

Сам надеюсь на то,что не допустил ошибок в слове Дизассемблер.

Поделиться сообщением


Ссылка на сообщение

Вообще-то исходный код игры - Source Code)))

Ведь не факт, что игра писалась именно на ассемблере.

Поделиться сообщением


Ссылка на сообщение
Ведь не факт, что игра писалась именно на ассемблере.

Факт. Сишных игр было относительно немного, и их легко отличить по обильному использованию стека для записи переменных и множеству бранчей.

Во всех Сониках код игры хорошо структуризирован и продуман, компилятор Си не смог бы сгенерировать такой код.

Плюс, процессор M68K относительно слаб, а игры, написанные на Си работают намного медленее. Вот пример - Rockman Megaworld, игра написана на Си, устройство движка в разы проще Сониковского. А игра начинает серьезно лагать уже при 10+ объектов на экране. А теперь представь, что бы было с Соником, написанном на Си...

Поделиться сообщением


Ссылка на сообщение

Да, я знаю, что игры про соника писались именно на ассемблере, но это же не означает то, что любой исходный код игры мы называем дизассемблом t:D

Поделиться сообщением


Ссылка на сообщение

Если тебе нужен дизассемблер, юзай IDA Pro с сеговским лоадером.

Поделиться сообщением


Ссылка на сообщение

дай ссылку

а он файлы с картинками вытаскивает(в формате bin естественно)

Поделиться сообщением


Ссылка на сообщение

IDA с лоадером для сеговских игр.

а он файлы с картинками вытаскивает(в формате bin естественно)

Нет, не вытаскивает, и, знаете ли, разрешение здесь никакой роли не играет, к примеру, можете изменить разрешение в файле "music.mp3" на "music.vasya", но содержимое файла при этом не изменится, и этот файл спокойно скушает почти любой аудиоплеер.

Изменено пользователем Dexspot

Поделиться сообщением


Ссылка на сообщение

Тут где-то есть гид по добавлению джампдеша в Соник 3 и указана суброутина инста-щита.

Поделиться сообщением


Ссылка на сообщение

Наконец стал доступен нормальный хакинг Sonic & Knuckles:

Sonic & Knuckles Split Disassembly V1.0

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×