LINUX.ORG.RU
ФорумTalks

Тетрис отреверсили

 , ,


0

3

https://habr.com/ru/articles/1071018/
https://github.com/n0isy/original-tetris-recomp

Реконструировали исходники самого первого Тетриса. На паскале. Собирается в эмуляторе VAX в программу до бита совпадающую с оригиналом.

Довольно интересно задаются фигуры. Вместо готовой таблицы констант, каждый раз генерируются, что увеличивает программу на 13%. По мнению автора статьи — так было легче отлаживать. (А по-моему, это может быть связано с тем, что изначально хотели сделать пентамино.)

★★★★★
Ответ на: комментарий от cadaber

как я безнадёжно стар

Как в анекдоте про Брежнева: «Стар, очень стар, суперстар!»

question4 ★★★★★
() автор топика
Ответ на: комментарий от question4

Вот как раз резидентная часть – то, что постоянно исполнялось.

Нет, резидентная часть вообще не получала управления до выхода текущей программы, кроме случаев обработки Ctr+Z и ещё каких-то. edit.com’у код из command.com’а нахер не нужон.

r--r--r--
()
Ответ на: комментарий от r--r--r--

резидентная часть

Погуглил. То, что я имел в виду, находилось в io.sys и msdos.sys. Всякие функции операционной системы. Доступ к файлам, аллокация памяти и т.д.

question4 ★★★★★
() автор топика
Последнее исправление: question4 (всего исправлений: 2)
Ответ на: комментарий от seiken

я, когда кодерил свой тетрис на турбо-паскале - так вообще без ООП не смог обойтись.

Turbo vision использовали? Или всё своё родное т.е. усе ручками с нуля?

anc ★★★★★
()
Ответ на: комментарий от anc

Ну, дело в том, что никаких настроек там не было, и соотв. никаких диалоговых окон. Дальше использовал модуль graph (вроде так назывался). А там были тупо putText и рисование линий, если не ошибаюсь и не путаю с совершенно другими либами. И вроде даже двойную буферизацию использовал, но, конечно, только то, что graph позволял. О тройной буферизации я тогда даже и не слыхивал.

seiken ★★★★★
()
Ответ на: комментарий от seiken

Выход просто по нажатию какой-то клавиши, никаких диалогов подтверждения.

По правде сказать, я уже тогда понимал, что ООП в такой задаче - онанирование в гамаке стоя на голове. Но проблема ООП в том, что чтобы прочувствовать все те умные мысли на практике, которые гради буч, банда шестерых и прочие бертраны майеры на бумаге изложили, нужен очень сложный апп. И даже не сложный апп, а нужна команда, лучше из разных стран, и лучше дементивная и тугодумная. Чтобы и ООП и UML диаграммы себя оправдали.

seiken ★★★★★
()
Последнее исправление: seiken (всего исправлений: 2)
Ответ на: комментарий от seiken

А ещё вот эти игры карточные, когда по ролям классы разыгрываются живыми членами команды, и проверяются интерфейсы в режиме «игры».

Кто-то на этой планете такое вообще практиковал за пределами журнальных статей в научные конфы?

seiken ★★★★★
()
Последнее исправление: seiken (всего исправлений: 1)
Ответ на: комментарий от seiken

Кстати вспомнилось, народ turbo vision в гуй таки закатал емнип graphics vision называлось.

anc ★★★★★
()
Ответ на: комментарий от cadaber

Я не знаю, как Пажитнов оформлял каждый кубик. Во-всяком случае, ООП - в среде Турбо Паскаля было что-то далёкое, поскольку 5.0 - был тупой в доску.

В 6-ом с ООП было всё хорошо, пример дос нафигатор.

anc ★★★★★
()
Ответ на: комментарий от unDEFER

И сколько же часов выполнялся command.com?

В рабочее время 8 часов. А уж сколько после работы убивали… :)

anc ★★★★★
()
Вы не можете добавлять комментарии в эту тему: только для зарегистрированных, score>=50.