Автор Тема: Исходные коды игр Sega  (Прочитано 2779 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Vlad666

  • Пользователь
  • Сообщений: 476
    • Просмотр профиля
Исходные коды игр Sega
« : 21 Сентябрь 2021, 10:08:46 »
Всегда интересовало как выглядят игры Sega внутри, но больше всего их исходный код. Выкладывайте сюда исходники любых игр, особенно игр Sonic.

Оффлайн Nemesis_c

  • Пользователь
  • Сообщений: 1342
  • Пол: Мужской
    • Youtube
    • Просмотр профиля
Исходные коды игр Sega
« Ответ #1 : 21 Сентябрь 2021, 13:11:45 »
Ну, допустим... https://shrigley.com/source_code_archive/
Посмотришь и что дальше?

Оффлайн Vlad666

  • Пользователь
  • Сообщений: 476
    • Просмотр профиля
Исходные коды игр Sega
« Ответ #2 : 22 Сентябрь 2021, 09:38:29 »
Ну, допустим... https://shrigley.com/source_code_archive/
Посмотришь и что дальше?

Ну прошел ты какую-нибудь игру Sega и что дальше? Вся наша жизнь - суета суета. Живем не ради какой-то вечной цели, а ради интереса.

Оффлайн trintel

  • Пользователь
  • Сообщений: 12
    • Просмотр профиля
Исходные коды игр Sega
« Ответ #3 : 22 Сентябрь 2021, 12:05:41 »
Всегда интересовало как выглядят игры Sega внутри, но больше всего их исходный код. Выкладывайте сюда исходники любых игр, особенно игр Sonic.

так можно через IDA открыть любой ром и увидеть исходники

Оффлайн hexdump

  • Пользователь
  • Сообщений: 36
    • Просмотр профиля
Исходные коды игр Sega
« Ответ #4 : 22 Сентябрь 2021, 13:56:11 »
Ну прошел ты какую-нибудь игру Sega и что дальше? Вся наша жизнь - суета суета. Живем не ради какой-то вечной цели, а ради интереса.
Суета сует, как сказал царь Соломон... Человек задействованный только в низкочастотных процессах, не требующих планирования больше, чем его собственная жизнь, действительно может быть закручен тремя шестёрками в замкнутую систему интересов, из которых не видно целей, привышающих приемственность например нескольких поколений и тем более вечных ценностей.  ;)
А по поводу самой темы поддерживаю автора. Сам хоть и имею опыт работы с современными языками программирования вроде JavaScript, но от исходного кода игр старых приставок голова идёт кругом, на сколько это сложней для освоения.

Оффлайн Yoti

  • Пользователь
  • Сообщений: 4475
  • Пол: Мужской
  • Не тро-гай ме-ня
    • Steam
    • Просмотр профиля
Исходные коды игр Sega
« Ответ #5 : 22 Сентябрь 2021, 16:01:39 »
опыт работы с современными языками программирования вроде JavaScript
Не, ну это просто лол. Тем более, с таким ником.

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24718
    • Просмотр профиля
Исходные коды игр Sega
« Ответ #6 : 22 Сентябрь 2021, 16:23:24 »
так можно через IDA открыть любой ром и увидеть исходники
Мне вот даже интересно стало: а что сейчас называется "исходниками"?

Оффлайн Werton

  • Пользователь
  • Сообщений: 884
  • Пол: Мужской
    • Youtube
    • Просмотр профиля
Исходные коды игр Sega
« Ответ #7 : 22 Сентябрь 2021, 18:56:38 »
а знание програмирования нужно,или нет.
Чтобы посмотреть - не нужно :D , а чтобы понять как работает - ещё и не достаточно :-\

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1297
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Исходные коды игр Sega
« Ответ #8 : 22 Сентябрь 2021, 19:11:07 »
Мне вот даже интересно стало: а что сейчас называется "исходниками"?
Не, ну, фактически, он прав: открыв что-то в иде ты видишь исходники. И, даже если их скомпилировать (пусть это будет сразу идеальный листинг), оно заработает, а значит то, что было скомпилировано - исходник.
А вот толку конечно от этого чуть меньше чем ноль. По сути, выйдет по принципу то же самое, что и обфусцированный исходник из этих ваших "современных языков программирования вроде JavaScript".

Оффлайн Werton

  • Пользователь
  • Сообщений: 884
  • Пол: Мужской
    • Youtube
    • Просмотр профиля
Исходные коды игр Sega
« Ответ #9 : 22 Сентябрь 2021, 19:32:32 »
а значит то, что было скомпилировано - исходник.
Спорное определение исходника. Объектный код тоже можно собрать в исполняемый файл, вряд ли его можно назвать при этом исходником, а у интерпретируемых языков исходник вообще нельзя скомпилировать, получается это не исходник? Все же исходник, наверное, это то что изначально писал человек :)

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5115
    • Просмотр профиля
Исходные коды игр Sega
« Ответ #10 : 22 Сентябрь 2021, 19:33:16 »
а что сейчас называется "исходниками"?
Можно разделить на исходники автора и disassembly разной степени разбора/описания.
ТС наверно хотел исходники авторов игры, но их не часто можно получить.

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24718
    • Просмотр профиля
Исходные коды игр Sega
« Ответ #11 : 22 Сентябрь 2021, 20:02:59 »
Мне всегда казалось, что дизассемблер - это именно дизассемблер, а не исходник.

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1297
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Исходные коды игр Sega
« Ответ #12 : 22 Сентябрь 2021, 20:16:17 »
А разве на ассемблере не пишут?) Пишут, конечно. Т.е. в данном случае мы имеем исходник, написанный ассемблер-разработчиком.
А дизассемблер показывает ассемблерный листинг. Примени к нему имена меток - и выйдет то же самое. Считать ли листинг без меток исходником - другой вопрос.

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Исходные коды игр Sega
« Ответ #13 : 22 Сентябрь 2021, 21:23:56 »
Моё мнение - только оригинальные исходники есть исходники.

Всё остальное стали называть так от безграмотности. Пример: один увидел какой-нить DASM, применил его к рому, второй выложил на свой сайт с названием source code, третий скачал и где-то написал мол опубликованы исходники такой то игры. Такого мусора навалом.
Обратный пример - тот же Соник в котором разобрали чуть ли не каждую строчку кода и все ресурсы всё равно назвали Disassembly.

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24718
    • Просмотр профиля
Исходные коды игр Sega
« Ответ #14 : 22 Сентябрь 2021, 21:45:29 »
На ассемблере пишут. По крайней мере писали. Но совершенно не факт, что полученный дизасм именно на нём был написан.
А вообще по нормальному Source Code отдельно, Disassembly отдельно (не буду повторять уже сказанное Ti_)

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1297
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Исходные коды игр Sega
« Ответ #15 : 23 Сентябрь 2021, 12:39:46 »
Окей, возьмём другой пример: декомпиляция C#, Java, Python. Не смотря на то, что это преобразование из собранного exe/pyc/class, мы на выходе всё равно получаем исходник практически в том же виде, в котором писал его автор. Считается ли это (т.е. декомпилированный, а не дизассемблированный листинг) исходником?

Оффлайн HayaoYokogawa

  • Пользователь
  • Сообщений: 2122
  • Пол: Мужской
  • большой и толстый розовый динозавр
    • Просмотр профиля
Исходные коды игр Sega
« Ответ #16 : 23 Сентябрь 2021, 12:43:14 »
Окей, возьмём другой пример: декомпиляция C#, Java, Python. Не смотря на то, что это преобразование из собранного exe/pyc/class, мы на выходе всё равно получаем исходник практически в том же виде, в котором писал его автор. Считается ли это (т.е. декомпилированный, а не дизассемблированный листинг) исходником?
имхо нет
исходник - это непосредственно то, что у девелопера
даже если реверс получается близкий к нему - это не исходник

иными словами то, что уже сказал Ti_ и Rumata

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1297
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Исходные коды игр Sega
« Ответ #17 : 23 Сентябрь 2021, 15:01:59 »
Например, я полностью восстановил исходник одного пакера. Он компилируется, я дал имена переменным, его можно менять. Я выложил его на гитхаб, для использования в других проектах - 100% это исходник. Пусть и восстановленный.

Оффлайн bugmenot

  • Пользователь
  • Сообщений: 607
  • Пол: Мужской
    • Просмотр профиля
Исходные коды игр Sega
« Ответ #18 : 23 Сентябрь 2021, 18:41:27 »
Нет, это не исходник. Это некоторый код, который при компиляции даёт результат, аналогичный компиляции исходного кода.
В исходном коде переменные и функции называются так, как решил автор, могут быть комментарии.
При компиляции в большинстве ситуаций эта информация не попадает в выходной исполняемый файл.
Сам смысл слова "исходный" - это то что было написано автором изначально, а не то что было восстановлено обратным процессом.
Декомпиляция даёт код программы, который можно скомпилировать, в нём могут быть новые написанные комментарии и осмысленные имена переменных, но этот код будет не исходный, а восстановленный.

Оффлайн yur

  • Пользователь
  • Сообщений: 306
  • Пол: Мужской
  • следи за метлой
    • Просмотр профиля
Исходные коды игр Sega
« Ответ #19 : 24 Октябрь 2021, 21:45:59 »
Вот это делема - прям голова кругом o_0
Что имеется под смыслом слова исходник?
Мне кажется что востановленный что оригинал это исходники.
Просто назвать их - восстановленный или условный а другой оригинал.
А там хз

Оффлайн Skay

  • Пользователь
  • Сообщений: 4120
  • Пол: Мужской
    • Просмотр профиля
Исходные коды игр Sega
« Ответ #20 : 25 Октябрь 2021, 09:42:50 »
При компиляции в большинстве ситуаций эта информация не попадает в выходной исполняемый файл.
Если были файлы с отладочной информацией, можно восстановить и имена переменных и функций как есть.

Но вы тут ударяетесь в философию, почитайте про Парадокс Тесея.

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

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9386
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
Исходные коды игр Sega
« Ответ #21 : 25 Октябрь 2021, 20:49:11 »
Skay, больше вопрос "вам шашечки или ехать", если последнее до декомпил вполне сойдейт.
но, мне вот первое нравится, скажем поглядеть оригинальные сорцы MK3 на предмет перлов в комментариях, типа

* return carry set ---> player wants to escape this boring shit
   .long   smoke_bull_shit      ; 14
   calla   kill         ; stop flasher shit

итд :)

Оффлайн yur

  • Пользователь
  • Сообщений: 306
  • Пол: Мужской
  • следи за метлой
    • Просмотр профиля
Исходные коды игр Sega
« Ответ #22 : 25 Октябрь 2021, 23:29:00 »
Skay, больше вопрос "вам шашечки или ехать", если последнее до декомпил вполне сойдейт.
но, мне вот первое нравится, скажем поглядеть оригинальные сорцы MK3 на предмет перлов в комментариях, типа

* return carry set ---> player wants to escape this boring shit
   .long   smoke_bull_shit      ; 14
   calla   kill         ; stop flasher shit

итд :)

👍

Оффлайн HayaoYokogawa

  • Пользователь
  • Сообщений: 2122
  • Пол: Мужской
  • большой и толстый розовый динозавр
    • Просмотр профиля
Исходные коды игр Sega
« Ответ #23 : 26 Октябрь 2021, 07:29:10 »
Skay, больше вопрос "вам шашечки или ехать", если последнее до декомпил вполне сойдейт.
но, мне вот первое нравится, скажем поглядеть оригинальные сорцы MK3 на предмет перлов в комментариях, типа

* return carry set ---> player wants to escape this boring shit
   .long   smoke_bull_shit      ; 14
   calla   kill         ; stop flasher shit

итд :)

Это из аркадной версии?  :lol:

А так-то хохм всяких можно найти, например, Star Fox:
;***************************************************************
;* I'M SORRY BUT THESE ARE 2 VERY BIG HACKS, BECAUSE I DON'T WANT
;* TO FUCK WITH PETE'S CODE. (Giles)



;* JUST X ROTATE VIEW POS.
aircar3_Istrat ; come in from left and drive like a fucking maniac.
s_start_strat
s_set_alptrs x,aircar3_strat,hitflash_Istrat,explode_Istrat
s_set_aldata x,#aircarHP,#aircarAP
s_set_speed x,#40
s_set_alvar B,x,al_sbyte1,#50
s_set_alsflag x,shadow
s_set_alvar B,x,al_rotz,#-deg90
s_set_colltype x,enemy1
s_init_colanim x,#0
set_sound2 x,#$f
aircar3_strat
s_start_strat

Плюс, исходники имеют иногда свойство иметь много полезных комментариев, вплоть до расписывания, что делает каждая команда в конкретном случае, как я это наблюдал в Smash TV:
**************************************************************************
*          *
* MONITOR STUFF *
*          *
**************************************************************************
CROSS_H
CONV_PLOT:
MOVI MON_RECS,A9
CPRLP1
MOVE *A9+,A2,W ; GET COLOR
JRZ CPRDONE
MOVE *A9+,A0,L ; START POINT
MOVE *A9+,A1,L ; DIMENSIONS
FCALL RECTANGLE,B6
JRUC CPRLP1
CPRDONE
MOVI MON_VECS,A9 ; POINT AT VECTOR TABLE
CPVLP1
MOVE *A9+,A2,W ; GET COLOR
JRZ CPVDONE
MOVE *A9+,A0,L ; START POINT
MOVE *A9+,A1,L ; END POINT
FCALL HVLINE,B6
JRUC CPVLP1
CPVDONE
MOVI MON_DOTS,A9 ; POINT AT DOT TABLE
CPDLP1
MOVE *A9+,A1,W ; GET COLOR
JRZ CPDDONE
MOVE *A9+,A0,L ; GET THE POINT
FCALL POINT,B6
JRUC CPDLP1
CPDDONE
RETS

В случае с восстановленным исходником приходиться гадать, что к чему.


Оффлайн Skay

  • Пользователь
  • Сообщений: 4120
  • Пол: Мужской
    • Просмотр профиля
Исходные коды игр Sega
« Ответ #24 : 26 Октябрь 2021, 14:45:13 »
Skay, больше вопрос "вам шашечки или ехать", если последнее до декомпил вполне сойдейт.
но, мне вот первое нравится, скажем поглядеть оригинальные сорцы MK3 на предмет перлов в комментариях, типа
Полностью согласен с такой формулировкой :) Изначально никто не уточнял, поэтому я рассуждал в практическом контексте, "ехать" надо чаще)
В случае с восстановленным исходником приходиться гадать, что к чему.
гадать надо в случае восстановления исходников, а если кто то это уже сделал, и грамотно, то уже должно быть без гаданий)

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9386
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
Исходные коды игр Sega
« Ответ #25 : 27 Октябрь 2021, 12:15:04 »
Это из аркадной версии?
да, и там такого добра немеренно практически в каждом файле

Изначально никто не уточнял, поэтому я рассуждал в практическом контексте, "ехать" надо чаще)
кому как, мне "в практическом контексте" чаще всего надо понять что делает та или иная мутная подпрограмка или кусок кода, и декомпилы в большинстве случаев с этим нифига не помогают

гадать надо в случае восстановления исходников, а если кто то это уже сделал, и грамотно, то уже должно быть без гаданий)
ну да ну да, тут довольно часто свои собственные исходники годичной и более давности смотришь и нихерища не понимаешь, не говоря уже про чужие и "восстановленные" :)

Оффлайн Skay

  • Пользователь
  • Сообщений: 4120
  • Пол: Мужской
    • Просмотр профиля
Исходные коды игр Sega
« Ответ #26 : 27 Октябрь 2021, 14:06:00 »
ну да ну да, тут довольно часто свои собственные исходники годичной и более давности смотришь и нихерища не понимаешь, не говоря уже про чужие и "восстановленные"
Прямо по больному месту  :lol: