Pull to refresh

Comments 66

#EB #80, говорите? Было дело, да. Сам когда-то использовал буфер для аргументов в своих корыстных целях.
надеюсь, это не секретные технологии и за нами уже не выехали :-)
Т.е. фишка в том, что делается прыжок на аргументы командной строки в PSP?

P.S. Да, точно :)
я календарь переверну и снова… ну вы поняли

Я правильно понимаю, что команде передаётся аргумент, представляющий собой, по сути, shell-код? Он и выполняется по факту?

Я не автор, я не знаю, но суть в .BAT которым запускается .COM — изучите полный архив, он по ссылке там в конце статьи. Если автор напишет тест — будет вторая часть, там разложим все честь по чести.
Аргумент (вернее даже, полная командная строка, если не ошибаюсь) — набор ASCII-символов, которые представляют собой машинный код. Т.е. команды должны быть еще подобраны таким образом, чтобы среди символов не оказалось специальных.

P.S. EB 80 — это jmp по смещению 80h, а первые 100h (256) байтов в com-программе — это Program Segment Prefix со всякими структурами, и по смещению 80h находится командная строка, выполнение которой и запустило эту программу.

P.P.S. Ну и напоследок, всего программа таким образом занимает 128 + 2 = 130 байт, исходники я не смотрел но весьма вероятно что основной цикл так и сделан, что выполняется итерация в этих 128 байтах (байт длины + 127 байт) и после снова выполняется та же инструкция EB 80, когда IP доходит до 100h.
ну вот, автор может теперь уже ничего и не писать :-)

спасибо!

Поглядел архив. Точно так. Сейчас сам шел-код можно при помощи какого-нибудь radare2/rasm2 сделать. У него это отдельные исходники, что генерируют шел-код.


Ну и не знаю за DOS, в Unix формального ограничения, что за байты могут быть в параметрах ком-строки нет. Главное найти способ их передать :) Но судя по всему, у DOS тоже жёстких ограничений нет.

ну вот и разобрались… То что это можно использовать в военных целях сомнений нет, может быть даже и использовалось уже. У нас демосцена и она легальна — в вирусной сцене я не разбираюсь.

Ну я не хацкер тоже. Radare2 помогает во всяком закрытом embedded разбираться, когда исходников библиотеки нет, но нужно разобраться.

Есть мнение, что пора его переписать на новых технологиях. Возможно займемся на днях этим проектом, исходник комментированный у нас уже есть.
Я ему в свое время палитру менял. Землю делал зеленой, а небо синим. Получалось Earth :-)
Экзешник сейчас точно не найду, но там совсем просто было. Палитра прям в чистом виде хранится…
ПС: Таки нашел!
drive.google.com/open?id=1QIMefgyOpgESJpBBLiAOwKQbretsIC7G
Не, нету. Насколько я помню, я его даже не дезассемблировал. Сразу экзешник правил.
Исходники Mars-а или что-то Mars-о подобного по его мотивам были. Ушел искать. (Память упорно пытается делать пассы руками и шепчет «C--», но я не уверен)
Вот что нашлось по закромам:
Mars_src.zip дисассемблированный / прокомментирован вручную
MARSKIT.ZIP дисассемблированный Sourcer-ом / судя по комментариям / внутри архива есть «MARSPAL is a simple little utility to allow you to view Tim Clarke's excellent mars demo in different colors.»
и OTMVOXEL.ZIP voxel landscape explanation/demo
Марс же 5 kb, а после упаковки каким-нибудь apack’ом – 3.5 kb. Ему место в предыдущей номинации.
на Pouet он в 8k — отсюда и текущее его местоположение

если кто то захочет сделать Mars 2020 он и в 1к его смело сможет переписать ибо деды об оптимизации особо не думали
2b это все-таки трюк, в чем-то отдаленно похожий на современные хакерские эксплойты (только здесь мы сами передаем управление на данные в буфере).
А вот 8b matrix — это супер! программа полностью самодостаточна.
Дед жжёшь, даёшь демосцены в молодые массы!!!
Два байта это неспортивно. Вот мы тут поджались, и зарелизили аж целый язык программирования размером в 1 байт для ZX-Spectrum — www.pouet.net/prod.php?which=85125
я то тебе лайк там поставил, а вот ты наши работы игнорируешь — негоже это

https://www.pouet.net/groups.php?which=14823

И изучи внимательно 2b — там существенно больше чем ресет. Существенно…
А что этот код делает? А то я в спеке никакущЪ.
а… ну тут ничего нового и ничего пророческого… просто вирус
Суровая мужская слеза ностальгии сползла по щеке. Помню, как завидовали демомейкерам на Амиге, у которых в распоряжении уже тогда было, хотя бы, 2D аппаратное ускорение. Помню Watcom C и вставки на ассемблере для оптимизации вычислений. Затенение Гуро, Фонга, интерполирование нормалей, прямой доступ к видеопамяти…
на то и расчет! Но можно не только плакать, а брать в руки современные средства разработки и быстренько вспоминать былое. Благо много исходного кода опубликовано и собрать свою первую работу не так сложно. А дальше оно уже само…

Вспомнились минимально возможные программы для AVR. Вроде самая минимальная… 0 байт. Кажый такт счётчик инкрементируется и бежишь по ячейкам памяти, потом переполняешься и сначала.


upd: вот https://habr.com/ru/post/240517/

Вот эта вещь нравится youtu.be/ZfuierUvx1A
Chaos Theory — Awesome 64k Intro
При желании можно найти саму демку, а так-же её код.
Это демо наверное единственное из всех 64к, что обладает динамичной осмысленной графикой, и вполне нормальной музыкой.
это все отлично, но это GPU

про GPU мы еще поговорим, сейчас речь про PC, DOS, non-GPU
Почему не рассказали про это и как они подгоняли размер, чтобы программа была не такая маленькая
GPU.
Мы сегодня говорим про software rendering — это принципиально разные штуки…
конечно. H7 это 2000 год, это пограничный момент и это последняя (одна из последних) работ такого уровня для non-GPU

Да, первый раз когда увидел тоже сразу понравилась, какой-то смысл глубокий есть в ней и сюжет.

Все демки Conspiracy смотрятся крайне круто даже сейчас.
А уж про Farbrausch и говорить нечего, надо просто смотреть:
еще раз повторюсь — это GPU и мы обязательно поговорим про это…
сегодняшняя тема — работы без GPU

unbeliever Mesha зря не упомянул, всё-таки из 4К для DOS пожалуй самая крутая. Omniscent конечно впечатляет, но чисто технически он не настолько сложен.


PS: Привет, кстати :)

Привет! Я старался брать самые старые работы в каждой номинации — в остальном, да, работ достойных очень много.

Видал? www.pouet.net/prod.php?which=85103

Да, видел, правда не очень понял смысл происходящего… :)

Ну в вашем случае мы просто архивируем на YouTube вашу работу, обе версии в отличном качестве. Чуть позже сделаем финальную версию, там будет все еще лучше. Если есть какие доп.материалы — сообщай, включим туда. Арти не хочет на это тратить время :-(

Именно из спектрумовского кода, относящегося к Forever вроде ничего нет. Есть куча наработок с тестами эффектов на Pascal'е, я обычно сначала на нём всё оттачивал чтобы потом переносить, но не уверен насколько это может быть интересно. Сорцы тоже есть.

У нас же видео + файлы. Мы на видео, после работы можем все что угодно показать, от фоторафий и кусков фильма Funtop до всякого. А в архив можем положить кроме самих работ опять же все что угодно. Важно чтобы это было понимаемо, собираемо, с комментами. Подумай! Пиши в телеграмм если что @muchkaev

Фотографии какие-то есть, но немного и это сканы сделанные в 90-е, так что разрешение у них мелкое и качество хреновое.


Про "собираемое, с комментами" — сомневаюсь что есть что-то подобное т.к. всё-таки это демка, а не продукт с долгосрочной поддержкой :)


Telegram не использую

По идее, 512b-intro можно закатывать прямо вместо MBR и запускать на голом железе без этих ваших новомодных DOS-ов

Нельзя. В МБР доступно только 510 байт, последние 2 байта сигнатура. И без неё этот сектор не загрузится на исполнение.

Да, точно. Но ради такого дела можно и сильнее ужаться :)

я старался брать самые старые работы в каждой номинации — в остальном, да, работ достойных очень много
большинство ограничений в sizecoding связаны с размерами секторов или областей диска/памяти которые всегда свободны и не используются. В BIOS вы точно можете зашить ту или иную интру как скринсейвер после небольшой модификации кода.
Немного не в тему, но кмк небезынтересно было бы реализовать в виде демосцены нечто подобное (включая бесконечное генерирование музыки или напротив — генерирование анимации под произвольную музыку):
Animusic

Правильно писать «в виде демо». Демосцена (она моя) это название самой субкультуры, а не отдельной работы. Мы тут 10 лет назад пошутили так неудачно и теперь еще 10 лет будем переучивать всех обратно как правильно говорить и писать.

Ссылку я посмотрю отдельно.
Я слежу за AniMusic с самого первого диска. Это вообще вещь в себе. ATi под свой Radeon тогда выпустила 3D демку «Pipe Dream»:

Сама демка пропала с их сайта после того, как их поглотили AMD, но она несложно ищется в гугле. К слову, она работает и на nVidia, только есть местами какие-то графические огрехи, например окантовка на тарелочках не золотистая а чёрная. Не знаю, с чем это связано, возможно даже вендор лок. Ролик выше как раз отрендерен на nVidia.
Для сравнения она же, но на Radeon



Так же Intel воплотили эту демку в железе. Ну, насколько это возможно физически.

Другой ракурс

С комментариями на английском:

Спасибо, не знал — поленился, видимо поискать физические реализации.
Эх, было же время, у Intel были ресурсы для таких, казалось бы, забав.
Интересно, а ссылка на Animusic была?
Сейчас можно было бы воплотить ролик Animusic про оркестр музыкальных инструментов а-ля гусли-самогуды, едущих по дорожкам и исполняющих композицию, добавив код в прошивку дронов на основе моноколёс.
Ну, это же не совсем забава была. Там же Atom не просто так упоминается. :)
казалось бы, забав
На самом деле, красивейшая демонстрация возможностей ИТ, когда (вместо откровенных свистелок и погремушек), основываясь на досконально проработанной физической модели демонстрируется нарочито игрушечная система. Просто, как BB-8.
BB-8
После такой инсталляции, как в интеловском видео, умный дом видится простым и логичным.
Про Atom подчитаю.
Когда-то статью о них читал — они вроде бы сначала описывают полную физическую модель, после чего реализация в любом виде уже не составляет проблемы.
Sign up to leave a comment.

Articles