Комментарии 93
Я это не то что видел, я в это играл :) а тут еще оказывается и довольно интересное "под капотом", спасибо!
А для меня это стало первым опытом "хакинга". Переименовываешь файл melissa5.pic в melissa1.pic - и получаешь финальную картинку на старте игры!
На спектруме такое не пролазило. Надо было честно выиграть. Хотя я уже и не помню, но вроде бы на скорпионе я ее ломал.
это если спектрум грузил с кассеты а не дискеты
На спектруме, писался загрузчик для блока с "фотками" и потом "методом научного перебора" FOR X = 12000 ... POKE X - выводился блок данных как изображение на экран, вместе со стартовым Битом. Результат записывался на самый надежный носитель (бумажечку - карандашиком) и в последующем, можно было загрузить блок с фото и сразу "смотреть нужное" .
Как, как... с удовольствием и пока взрослые не видели)
Остается только по стариковски поплакаться, мол, вот и выросло поколение...
Очень удивлён этим обстоятельством. Получается что пытаются научить распознаванию дороги для управления автомобилем, подавая нейросетям на вход кадры разрешением 320х240?
Ничего странного. Для обучения модели можно использовать изображения даже меньшего размера, особенно если это уже предобученная на миллионах других картинок модель - на Kaggle множество турниров, в которых побеждают модели, которые можно обучить на 16Гб видеокартах, соответственно, чтобы не переполнять память, сеты делят на батчи, а также максимально уменьшают изображения - даже до 192 пикселей. И это нисколько не мешает моделям отлично обучаться.
Собственно, а почему не мешает? Разве от более детализированных изображения не больше толку?
Не всегда. Есть феномен "переобучение", когда модель вырабатывает "приметы и суеверия", цепляясь за незначительные случайные совпадения. Ср.: "поправка на множественную проверку гипотез". Это может происходить, например, если обучающая выборка невелика, но содержит излишнюю детализацию.
Ну вы же моментально можете узнать человека, который попал в область периферического зрения, несмотря на то, что у глаза достаточно низкая плотность фоторецепторов?
У людей, кстати, тоже так себе разрешение у сетчатки. Там всё интересное на макуле происходит, а вокруг какой-то треш с разрешением один пиксель на метр. Чтобы нормально глазами видеть, используется целая куча хаков: микросаккады + суперрезолюшн, аттеншн на движение и полосатое и вот это вот всё.
Картинки с высоким разрешением мы на компьютере делаем, потому что не знаем, куда будет смотреть человек на экране. Если бы знали, можно было бы, наверное, раз в десять уменьшить количество рендеринга в играх.
Нейросетки, которые смогут с тем же качеством обрабатывать картинку с высоким разрешением, будут иметь сверхчеловеческое зрение. В каком-то смысле они уже имеют: человек так же быстро всех котиков на фото не найдёт, потому что ему глазами нужно будет туда-сюда двигать.
Культпросвет хорош. Почитал с удовольствием.
У меня история чуть более поздняя, из 1990 года. "Контент" для просмотра уже был (с BBS и частным обменом), цветные VGA мониторы 640*480 тоже были. А вот сканеров не было.
И тут ко мне в руки на пару недель попадает плата видеоввода в компьютер. 640*480, 8-bit, черно-белая, под слот ISA-16. Без софта, но с бумажным описанием регистров ввода-вывода!
Видеокамера у меня была, подключил её к видеовводу. Написал программу, которая с этой платы читала статический кадр. Обнаружил, что уровни черного и белого не вполне корректные, и требуется внесение гамма-коррекции. Фотошопа под Windows еще не было. Написал "редактор уровней" с интерактивным подбором значений. На картинках снизу как раз кусочек интерфейса этого редактора с градиентами черного и белого.
Результаты ниже. Первое фото - это "автопортрет" самой платы в компьютере.
Я нашёл несколько программ для просмотра изображений под MS-DOS, но все они сделаны позже, в 90-е.Я пользовался, только написал ее сам ))
Так что настоящий ответ остаётся открытым. Если кто-то из вас пользовался программами для сканирования, просмотра или редактирования изображений в 80-х годах или если у кого-то есть примеры таких изображений, пожалуйста, напишите в комментариях.
В где-то на стыке 80х и 90х мне в руки попалась игра Strip Poker III, в которую долго и мучительно не мог выиграть, ибо в правилах покера вообше ничего не понимал и а мозги работали совсем в другую сторону )))
Потом мне попалась документация по PCXLIB для Turbo Pascal, я посмотрел исходники игры в файловом редакторе и понял — что «это оно!». Быстренько написал простенькую программку, которая распаковывала библиотеки с картинками и выводила их на экран :)
Играть стало не интересно ))))
Вот он, стимул программировать для подростка:
эх, а у нас была "русские стрип-шашки" одним ехе-шником, еще под вин95 поэтому приходилось наловчиться и 3 раза выйграть(на уроках информатики) и каждый раз собирал толпу одногрупников, кстати потом понял что с каждой следущей девочкой уровень сложности повышался. но на вид там под капотом были просто jpeg и хотел научиться взламывать, научусь и сделаю себе доступ чтоб достать всю мякотку скрытую. Позже пропал интерес так как аналогичного контента было пруд пруди.
Экзешники, когда он один — все упаковывались одной и той же программой. Ничего сложного в том, чтобы их «взломать» — не было ))
выЙграть
Вроде как там изображения хранились в виде ресурсов в exe и без обфускации. Если правильно помню - я их вытаскивал)
Как люди без вебкама то мучались...
Держал BBS, но не помню засилия контента 18+, рассказы самиздата были более распространены, софт, игры.
Обычная развлекуха
Держал BBS, но не помню засилия контента 18+, рассказы самиздата были более распространены, софт, игры
В начале 90х в ходу были коллекции изображений, причем самых разных тематик.
Дискетами передавали друг другу картинки, был большой спрос на это.
(с появлением Интернета этот кайф был утрачен и плотно забыт :)
Чуть подревнее
Разработчики игры сделали всё возможное, чтобы минимизировать размер файлов
Определенно не все. 320x200 это еще и текстовому режиму 40x25. 40x25 равняется 1000 знакомест. И, обычно говорят, юля. "CGA адаптер не поддерживает перепрограммирование знакогенератора" - аксиома, но верная только для первых версий. CGA не поддерживает перепрограммирование "на лету", как и EGA, такое стало возможно только у VGA. Однако однократное возможно даже у первых ревизий. По сути даже неоднократное, но с нюансами.
Опустив железную ересь, 1000 знакомест это 4 уникальных из 256 доступных. Показать, подр....посмотреть и забыть. Вполне нормальная функция для компов требующих перезагрузки после среды программирования. Не сегодняшним днем мыслите.
но ведь где-то должна быть инфа для знакогенератора. не пойму, где профит?
В принципе 1000+256*8=3048 всё же получше, чем 8000 (320*200/8). Но тогда, в те времена, задачу оптимизации изображения до максимум 256 уникальных символов пришлось бы решать неделю.
В CGA инфа для знакогенератора зашита в УФ ПЗУ на плате, и действительно не предполагает перепрограммирование, ни однократное, ни многократное, как утверждает коллега@Schokn-Itrch. Ну, если таковым не считать перепрошивку в антураже тех времён - вытащить (а часто - выпаять) ПЗУ, облучить жёстким ультрафиолетом, засунуть в программатор, и зашить новый знакогенератор. В отличии от него у EGA и VGA в ПЗУ зашито несколько шрифтов, и у обоих есть возможность затягивать из ОЗУ компьютера кастомный шрифт.
Это я понимаю. Вопрос был не в том, как это работает, а в том, как это подсчитано :)
Ведь для более-менее реалистичного вывода нужны не абы какие символы, а с соответствующим паттерном для данного знакоместа. А эти паттерны тоже место занимают. @shiru8bit, собственно, сделал необходимый подсчёт.
Я только не понял про "4 уникальных из 256 доступных". Уникальных чего?
CGA не поддерживает перепрограммирование "на лету", как и EGA, такое стало возможно только у VGA
уверены, но на ega нельзя?
вот например: Драйвер работает на адаптерах EGA/VGA
Во времена *.PCX был тетрис был с девицами в 15 уровней сложности. Удачно тогда освоили freegame toolkit и девицы с 13 по 15 сдались.
Помнится, старшие товарищи принесли ВИДЕО! на четырех дискетках. Нас человек 30 собралось.
Честно говоря, технически статья крайне слабая. Какая-то дичь про труднодоступность фоток, про влезание на дискету (какие ещё дискеты, Карл? Целая эпоха игр прошла безо всяких дискет), минутная загрузка на Compaq Portable, который может загрузить эту 8-килобайтную картинку за пять секунд и показать мгновенно, и так далее. В 80-х уже было полно игр для взрослых, особенно на японских компьютерах, где это вообще был основной вид ПО, а появились они в 1982-1983. Да что там говорить, порнографические игры были даже на Atari 2600, у которой и графики-то толком нет.
Вы в каком государстве тогда жили?
Жили В СССР. В 1985-м уже был оборудован компьютерный класс в школе (в крупном городе на Урале) персональными компьютерами Атари. Со следующего года был УПК в одном из вузов, и туда от школы направляли классы на информатику и УПК (учебно-производсвенный комплекс) по специальности "Оператор ЭВМ", там уже стояли персоналки IBM, правда, не класс, а несколько единичных. Но также работали и на больших машинах, а у моих родителей в ВЦ на этих больших советских машинах было даже что-то вроде интернета: сотрудники внутри учреждения и между несколькими учреждениями в городе могли обмениваться текстовыми сообщениями на чб экране. Уже были текстовые библиотеки в цифре. А картинки сделанные шрифтами отец еще в детстве приносил распечатанные на перфорированной широкой бумаге. Игры были, "нюдсы" в цифровом варианте меня не интересовали, потому что полно было календарей, видеосалонов с видеофильмами такой тематики. Даже любопытно было прочитать в комментариях, что кто-то сильно трудился, чтобы добыть такие картинки из игр.
В 1985-м уже был оборудован компьютерный класс в школе (в крупном городе на Урале) персональными компьютерами Атари
Ну, это скорее редкое исключение. В СССР вообше до 1985 года не было информатики в школьной программе, и количество компьютерных классов было равно нулю в масштабах всей страны. В 1985-м году компьютерные классы стали робко появляться в единичных школах-везунчиках.
В процессе реализации реформы школы ставится задача использовать микропроцессорную технику в обучении, в связи с чем предполагается «… расширить производство… электронно-вычислительной техники» [5, с. 60]*, «организовать исследования психолого-педагогических проблем, связанных с введением компьютеров в учебный процесс общеобразовательных школ» [5, с. 68]. Начиная с 1985/86 учебного года в старших классах общеобразовательных школ изучается новый курс «Основы информатики и электронно-вычислительной техники», где учащиеся будут приобретать навыки составления алгоритмов, программ, пользования микрокалькуляторами и другие. Подобные навыки учащиеся будут получать также на занятиях по труду, математике, физике. Это создает условия для использования мини-ЭВМ при обучении физике вначале в отдельных школах (как экспериментальное обучение), затем в группе школ, и, наконец — массовое обучение. Но для этого в школе нужно создать соответствующую учебно-материальную базу и подготовить учителей физики к использованию автоматической системы обучения наряду (а не вместо) с традиционной.
В настоящее время в некоторых школах пытаются создать так называемые дисплейные классы.
***
В некоторых школах уже есть первый опыт применения мини-ЭВМ при обучении математике, физике, на факультативных занятиях, при подготовке программистов в процессе трудового обучения! При этом часто используются дисплейные классы, оборудованные в вузах. Например, учитель В. В. Чижик (г. Винница) в таком классе политехнического института экспериментировал использование ЭВМ при обучении механике в VIII классе. Он использовал дисплейные устройства типа ЕС-7906. Учебную информацию учащиеся получали с экранного пульта ЕС-1020, подключенного к ЭВМ. Интересен опыт создания программной системы «Школьница», реализованной на мини-ЭВМ «Агат» и специально предназначенной для обеспечения учебного процесса в школе. В школе г. Новосибирска в соответственно оборудованном классе на партах установлены ученические терминалы, соединенные с быстродействующей ЭВМ.
* [5, с. 60] — О реформе общеобразовательной и профессиональной школы. Сборник документов и материалов. М.: Политиздат. 1984.
Как человек, который смотрел нюдсы на XT+CGA отмечу, что на тот момент это была просто фантастика!!! А в Strip Poker я играл не только на XT, но и на Спектруме - это вам даже не дискетки.
А как же формат bmp ?
Строго говоря сжатие там вполне себе было. RLE мог использоваться в некоторых случаях (для монохромных точно поддерживалось).
Для PCX были библиотеки, его легко было использовать везде
И в переводе совсем забыли про GRASP и замечательный формат GL, в котором были не только слайд-шоу, но и «живое» ню-видео. Кто вспомнит GL-ку с Poor Mandy?
- Вовочка, тебе какие женщины больше нравится?
- Маленькие! Они быстрее скачиваются!
Что бы отдельно там вьюеры.... может и были.... А вот что точно помню, кассеты для Спека с коллекциями фоток в монохроме таких барышень как Саманта Фокс, где каждая фотка грузилась отдельно как бинарь...
Если кто-то из вас пользовался программами для сканирования, просмотра или редактирования изображений в 80-х годах или если у кого-то есть примеры таких изображений
Были конечно программы для работы с изображениями в 80-ых. Например, вот нашел у себя скриншот аналога тогдашнего "фотошопа":
Hidden text
И сами изображения были (сканы), например вот из 1988 года, сконвертирован для загрузки:
Hidden text
а на 1,44-дюймовую дискету 720 КБ можно было сохранить пять-шесть изображений
Вы тут что-то дюймы с мегабайтами попутали :) Это 3.5" дискеты были емкостью 720кБ (DD) и 1.44МБ (HD).
«The size of this picture is 77 KB, so 5–6 images could be saved on a 720 KB 1.44'' diskette.»
Вот как этот процесс выглядит на настоящем компьютере Compaq Portable, выпущенном в 1983 году:
Вспомнилась старая шутка времен BBS — «Если бы картинки загружались снизу вверх, сколько бы трафика было бы сэкономлено!»
Первой игрой была та, в которой управляя клавишами курсора своим пикселем нужно было 'отрезать' части от поля, и тогда они заменялись нижележащей картинкой.
При этом за тобой охотились пакманы размером в 1 пиксель и нужно было от них убегать :)
Угу, я уже где-то в нулевых совершенно случайно узнал, что у "Сексоникса", оказывается, существовал изначальный прототип без голых баб.
Я так и не смог победить эту игру. Пришлось взломать файл с картинками и достать их оттуда ;)
Тема не раскрыта.
Ну здрасте. А ASCII нюдсы, с ЭВМ СМ-4 напечатанные на АЦП? На бумаге с перфорацией с двух сторон. Это ж было вообще фантастика. Киберпанк начала 80х.
.XMMMXMMMXXXXX.
.XXMMXXXXMMMMXXXXXX.
.XXXMMMXXXXXMMXMMXXXXX.
.XXXMXXMMXXXXXMXMMMXXXXX.
.XMXXMXXXXXXXXXXXMMMMMXMXX.
.XMMXXXMXXXMXXXXXXXXXXXMMXX.
.XXXMXXMMXXXMMXXXXXXMMMMMXMX.
.XXXMMXMMMMXXMMMXMMMMMMMXMMXX.
.XXXMMMMXMMXXXXMMMMMMMMXXMMXXX.
.XXXMMMMXMXMMMMMMMMMMMXXMMMXXX.
.XMMI""""\MMM.I"""".XXMMMXXXXM.
XXMM.."(). ."().. XMMMXMMX
.XXXM. """' . """' "MMMMMXXX
.XXXM. . "MMMMXX.
.XXXMM . "MMMMMXX.
.XXXMM. '. .) MMMMMMMMMM.
.XXMMMM. ."MMMMMMMMMMM.
.XXMMMMM. .:''''.' . "MMMMMMMMMMM.
.XXMMMMMMM. """"" . :"MMMMMMMMMMMM.
.XXMMMMMMMMM. . ::"MMMMMMMMMMMM.
.X. ''''''MMMMM. . .::::"MMMMMMMMMMM.
.' XMMMM:'''' .:::::::"MMMMMMMMMMMM.
.' .MMM:: :::' ....."MMMMMMMMMMM.
; .MX:: .' '"" '.MMMMX.
; "" .MMM.
; ; "" .MM.
.; "" .M.
;' "" X
..' ""; .
II::' "";. .
.:::' . .::::. "";. .
''' ' '::XX::' .""..
' . '::::::' .MM.:. '
: . . ''::'' .;MM.:: '
. :: .. .;MMXX.:: :
. .;: :. .;MMMXXX.:: :
'...::' ':. ;MMMMMXXMM.::
MM"-:-:-:-:-:-:-:-:-XXX;,, ,,;MMMMMMXXXMM".:.
MM" "MMMMMMMMMMMMMMMMMXXXMM" .:.
MM"-:-:-:-:-:-:-:-:"MMXXMMMMMMMMMMMMXXXXMM" .:.
MM" "MMMMMMMMMMMMMMMMXXMXXMM" .:.
MM-:-:-:-:-:-:-"MMXXMMMXXXMXXXXXXMMMXMM" .:.
XMM" "MMMMMMMMXXXXXMMMMMMMMMM" .:.
MXMM"-:-:-:-:-:"MMMMMMXXXXXXXXMMMXXXMM" .:.
MMXMM" "MMMMMXXXXXXXXXXXXXXMM" ...
MMXXMM-:-:-:-:-"MMXMMXXXXXXXXXXXXXXMM" /I:..
MMXXXM" "MMMXXXXXXXXXXXXXXXMM" .;;'
MMXXXM"-:-:-:-:-"MMMXXXXXXXXXXXXXXMM" .;'
MMMMMM" (I) "MMMMMMMMMMMMMMMMMMMM" .'' .'
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX MISS BUSTING OPEN XXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
8888 8888888
888888888888888888888888
8888:::8888888888888888888888888
8888::::::8888888888888888888888888888
88::::::::888:::8888888888888888888888888
88888888::::8:::::::::::88888888888888888888
888 8::888888::::::::::::::::::88888888888 888
88::::88888888::::m::::::::::88888888888 8
888888888888888888:M:::::::::::8888888888888
88888888888888888888::::::::::::M88888888888888
8888888888888888888888:::::::::M8888888888888888
8888888888888888888888:::::::M888888888888888888
8888888888888888::88888::::::M88888888888888888888
88888888888888888:::88888:::::M888888888888888 8888
88888888888888888:::88888::::M::;o*M*o;888888888 88
88888888888888888:::8888:::::M:::::::::::88888888 8
88888888888888888::::88::::::M:;:::::::::::888888888
8888888888888888888:::8::::::M::aAa::::::::M8888888888 8
88 8888888888::88::::8::::M:::::::::::::888888888888888 8888
88 88888888888:::8:::::::::M::::::::::;::88:88888888888888888
8 8888888888888:::::::::::M::"@@@@@@@"::::8w8888888888888888
88888888888:888::::::::::M:::::"@a@":::::M8i888888888888888
8888888888::::88:::::::::M88:::::::::::::M88z88888888888888888
8888888888:::::8:::::::::M88888:::::::::MM888!888888888888888888
888888888:::::8:::::::::M8888888MAmmmAMVMM888*88888888 88888888
888888 M:::::::::::::::M888888888:::::::MM88888888888888 8888888
8888 M::::::::::::::M88888888888::::::MM888888888888888 88888
888 M:::::::::::::M8888888888888M:::::mM888888888888888 8888
888 M::::::::::::M8888:888888888888::::m::Mm88888 888888 8888
88 M::::::::::::8888:88888888888888888::::::Mm8 88888 888
88 M::::::::::8888M::88888::888888888888:::::::Mm88888 88
8 MM::::::::8888M:::8888:::::888888888888::::::::Mm8 4
8M:::::::8888M:::::888:::::::88:::8888888::::::::Mm 2
88MM:::::8888M:::::::88::::::::8:::::888888:::M:::::M
8888M:::::888MM::::::::8:::::::::::M::::8888::::M::::M
88888M:::::88:M::::::::::8:::::::::::M:::8888::::::M::M
88 888MM:::888:M:::::::::::::::::::::::M:8888:::::::::M:
8 88888M:::88::M:::::::::::::::::::::::MM:88::::::::::::M
88888M:::88::M::::::::::*88*::::::::::M:88::::::::::::::M
888888M:::88::M:::::::::88@@88:::::::::M::88::::::::::::::M
888888MM::88::MM::::::::88@@88:::::::::M:::8::::::::::::::*8
88888 M:::8::MM:::::::::*88*::::::::::M:::::::::::::::::88@@
8888 MM::::::MM:::::::::::::::::::::MM:::::::::::::::::88@@
888 M:::::::MM:::::::::::::::::::MM::M::::::::::::::::*8
888 MM:::::::MMM::::::::::::::::MM:::MM:::::::::::::::M
88 M::::::::MMMM:::::::::::MMMM:::::MM::::::::::::MM
88 MM:::::::::MMMMMMMMMMMMMMM::::::::MMM::::::::MMM
88 MM::::::::::::MMMMMMM::::::::::::::MMMMMMMMMM
88 8MM::::::::::::::::::::::::::::::::::MMMMMM
8 88MM::::::::::::::::::::::M:::M::::::::MM
888MM::::::::::::::::::MM::::::MM::::::MM
88888MM:::::::::::::::MMM:::::::mM:::::MM
888888MM:::::::::::::MMM:::::::::MMM:::M
88888888MM:::::::::::MMM:::::::::::MM:::M
88 8888888M:::::::::MMM::::::::::::::M:::M
8 888888 M:::::::MM:::::::::::::::::M:::M:
888888 M::::::M:::::::::::::::::::M:::MM
888888 M:::::M::::::::::::::::::::::::M:M
888888 M:::::M:::::::::@::::::::::::::M::M
88888 M::::::::::::::@@:::::::::::::::M::M
88888 M::::::::::::::@@@::::::::::::::::M::M
88888 M:::::::::::::::@@::::::::::::::::::M::M
88888 M:::::m::::::::::@::::::::::Mm:::::::M:::M
8888 M:::::M:::::::::::::::::::::::MM:::::::M:::M
8888 M:::::M:::::::::::::::::::::::MMM::::::::M:::M
888 M:::::Mm::::::::::::::::::::::MMM:::::::::M::::M
8888 MM::::Mm:::::::::::::::::::::MMMM:::::::::m::m:::M
888 M:::::M::::::::::::::::::::MMM::::::::::::M::mm:::M
8888 MM:::::::::::::::::::::::::MM:::::::::::::mM::MM:::M:
M:::::::::::::::::::::::::M:::::::::::::::mM::MM:::Mm
MM::::::m:::::::::::::::::::::::::::::::::::M::MM:::MM
M::::::::M:::::::::::::::::::::::::::::::::::M::M:::MM
MM:::::::::M:::::::::::::M:::::::::::::::::::::M:M:::MM
M:::::::::::M88:::::::::M:::::::::::::::::::::::MM::MMM
M::::::::::::8888888888M::::::::::::::::::::::::MM::MM
M:::::::::::::88888888M:::::::::::::::::::::::::M::MM
M::::::::::::::888888M:::::::::::::::::::::::::M::MM
M:::::::::::::::88888M:::::::::::::::::::::::::M:MM
M:::::::::::::::::88M::::::::::::::::::::::::::MMM
M:::::::::::::::::::M::::::::::::::::::::::::::MMM
MM:::::::::::::::::M::::::::::::::::::::::::::MMM
M:::::::::::::::::M::::::::::::::::::::::::::MMM
MM:::::::::::::::M::::::::::::::::::::::::::MMM
M:::::::::::::::M:::::::::::::::::::::::::MMM
MM:::::::::::::M:::::::::::::::::::::::::MMM
M:::::::::::::M::::::::::::::::::::::::MMM
MM:::::::::::M::::::::::::::::::::::::MMM
M:::::::::::M:::::::::::::::::::::::MMM
MM:::::::::M:::::::::::::::::::::::MMM
M:::::::::M::::::::::::::::::::::MMM
MM:::::::M::::::::::::::::::::::MMM
MM::::::M:::::::::::::::::::::MMM
MM:::::M:::::::::::::::::::::MMM
MM::::M::::::::::::::::::::MMM
MM:::M::::::::::::::::::::MMM
MM::M:::::::::::::::::::MMM
MM:M:::::::::::::::::::MMM
MMM::::::::::::::::::MMM
MM::::::::::::::::::MMM
M:::::::::::::::::MMM
MM::::::::::::::::MMM
MM:::::::::::::::MMM
MM::::M:::::::::MMM:
mMM::::MM:::::::MMMM
MMM:::::::::::MMM:M
mMM:::M:::::::M:M:M
MM::MMMM:::::::M:M
MM::MMM::::::::M:M
mMM::MM::::::::M:M
MM::MM:::::::::M:M
MM::MM::::::::::M:m
MM:::M:::::::::::MM
MMM:::::::::::::::M:
MMM:::::::::::::::M:
MMM::::::::::::::::M
MMM::::::::::::::::M
MMM::::::::::::::::Mm
MM::::::::::::::::MM
MMM:::::::::::::::MM
MMM:::::::::::::::MM
MMM:::::::::::::::MM
MMM:::::::::::::::MM
MM::::::::::::::MMM
MMM:::::::::::::MM
MMM:::::::::::::MM
MMM::::::::::::MM
MM::::::::::::MM
MM::::::::::::MM
MM:::::::::::MM
MMM::::::::::MM
MMM::::::::::MM
MM:::::::::MM
MMM::::::::MM
MMM::::::::MM
MM::::::::MM
MMM::::::MM
MMM::::::MM
MM::::::MM
MM::::::MM
MM:::::MM
MM:::::MM:
MM:::::M:M
MM:::::M:M
:M::::::M:
M:M:::::::M
M:::M::::::M
M::::M::::::M
M:::::M:::::::M
M::::::MM:::::::M
M:::::::M::::::::M
M;:;::::M:::::::::M
M:m:;:::M::::::::::M
MM:m:m::M::::::::;:M
MM:m::MM:::::::;:;M
MM::MMM::::::;:m:M
MMMM MM::::m:m:MM
MM::::m:MM
MM::::MM
MM::MM
.::IIIIII:::''.
.:IIIIHIHHIHHHII::I:
.IIIIHHHHHHHHHHIIIIMHHI:.
:IIIIHHHHHHHHMMHHIHHIIHHIII:.
.:IHHHHHHHHHHHHHHHHHIHHIHHHIH:I:, CINDY
..:HHHHHHHHHHHHHHHHHHHHHHHHIHHII:.
..:IHHHHHHHHHHMMMMHHHHHHHIIHHHIHII.
.:IIHHHHHHHMMMMMHHHHMMMHHMHHHHHHHIIII:
.IIHHHMMMMMMMHHMMMHHHMMMHHMHII:HHHII:I.
:HHHHHMMMMMMMMMMMMMMMMMHHHMI:HHMMHII:::.
HIHHIHHMMMMMMMMMMMMMMMMMMHHHHMM::::IIHII:
:IHHHHHMMMMMMMMMMMMMMHHHHNNHHI:'' ':IIH.
IIHHHHMMMMMMMMMMMMMMHHHHMI::'' 'HHM.
IHHHHHMMMMMMMMMMMMMHHHIHI::' 'MMH.
HHHHHMMMMMMMMMMMMMMHHIHI::' ..MMM:.
HHHHMMMMMMMMMMMMMMMHHIHI:: ..:I:'IMMI.
HHHHMMMMMMMMMMMMMMMHHIII:' :HI:... HHI:
HHHHHMMMMMMMMMMMMMHHHI:HHHII:.. ':.HHP'HPIHII.
IHHHHMMMMMMMMMMMMMHHHII:II::I::. 'HHHH .:: HII:
:HHHHHHHMMMMMMMMMHHHHHIIIHHHII::. .P'I::'' HI:I
'IHHHHHHMMMMMMMMHHHHHIHHMMI.HH:H:: II:I
:HHHHHMMMMMMMMMHHHHHIHMHHII:::H::. :III
IHHHHMMMMMMMMMMHHHHH:II:::..::H:::. .IIHII
IHHMMMMMMMMMMMMMHHH:II::::..:HI::::: IIHII
'HHHHMMMMMMMMMHHHH:II::::..::IIIIII/ ::.' HHHIH:
HHMMMMMMMMMMMHHHH:II::::.. .. .;;;. ..HHHIHH.
MHHMMMMMMMMMMMHHH:II::::..'' ,;;,,:::* .HHHIHH:
HHHMMMMMMMMMMMMHHH:II:::.. :[II'''' II" .HHHIHHI.
'HHHMMMMMMMMMMMMHHH:II:::::. "I:...:I". .HMHHIHHH;
:HHMMMMMMMMMMMMMMHH:II:::::::..""" .. :MMHI:IHHI
'HHMMMMMMMMMMMMMMHHH:II:::::::::::: . .MMHI:IHHH.
:HHHMMMMMMMMMMMMMHHH:IIII:::::... ..:MMMMHI:IHHH:.
'HHMMMMMMMMMMMMMMMMHHHIIIIIIIII:::::MMMMMHHI:IHHHI.
;IHMMMMMMMMMMMMMMMMMHHII:MHHHHH'HMMMMMMMHI:IIHHH:I
:IMMMMMMMMMMMMMMMMMMHHHII:MHHH:HMMMMMMMHHHIHIHHHI:
;HHHMMMMMMMMMMMMMMMMMMHHHI:MMHIHHMMMMHHHHHHHHHMHHI:
;HHHHHMMMMMMMMMMMMMMMHMHHHI:M.HHHHMMHHHHHHHIHHHHHI:
:HHHHHHHHMMMMMMMMMMMHHHMHHHI:IHHMMMMHHHHHMHIHHHHHHI
;HHHHHHHHMMMMMMMMMMHHMMIHMI:IIHHHMHHHHMHMHIHIHHHHI:.
IHHHHHHHHHHMMMMMMMMMHHMMHHMMII:IHHMMHMHHHHMMHMHMHHHH;
:IHHHHMMMMMMMMMHIHMHIIMMHI:IMHMMMI:HHHHHMMHHHHIHHHIHI:.
.:I' .. . ':HHHHMMMMMMMMMMHI:HMMHI:IHHHI::IHHHI:HIHHHI:I:.
.:I ; . . . ; ':HHHHMMMMMHMMMHIHIMMMHI:HHHMI:IHHHIHI:HHHHII:I.
.:H' . .. . . 'IHMMMMHMMHMMMMHIHIHHHHIIHHHH:IHHHHHIHHHHHIIHII:.
.:I' .. . . . :IHMMMMMMMHHIHHHI:HHIHHHIHIHHHHIHHHHHHI:HHHHHII::'
..: . . . :IMMMMMHHIMHIIHHI:IHHI:IHHIHHHHIHIHHHHIHIHHHHIHI::.
.:... . . . ..:IHMMMMMHMHMHHHHMHIHHI:.IHIIHHHHHHHHHHHI:HIHHIHII:;
.: . . . . :IHMMMMMIHIH:IIHHHIHH:.I:IIHHHIHHHHHHHHIHI:IHHHI:;
:: .:. . . . . :IHHHMMMMIHIH:IIHHHMHH::..:HHHHI:HHHHHHI:I:IIIHII;
:. ... . . . ..::HHHMMMMHHHI:HIIHHMMHH:..:HHHMHHIHHHI:: .:IIIIIII
:. .. . . ..:IHHHMMMMHHII:HIHMMMHHI:. HHMHMMHHII:' .'.:IIII:'
:.... . . . ..:IHHHMMMMMMHI:HIHMMMHH...HHMMHHHMH:' .' :II::'
:. .. .... . ..IHHHHMMMMHHHI:I:IHMMH. .HHMHHHH:' .' '':.
::... ........ . ..::IHHHMMMMHHII::I:IHMMHHHHIHIHH'' . . .
::... ....... .. ...::IIIHHHMMMHI::IHHHIIIHHHIIHI'. .. . .
::....;;;.;........ ....:::HHIIHHHHHHHIIHMMMHI'' 'HI::.. . . .
::.................... ...HHIIIIIIIHH::''' 'HII:.. .. .
::................... ...HHHIIIIIIHHHI::. . 'HII::. . . ..
:::............... . . ..:MHHHHIIIIIII::. . 'HII:::. .. ':.
:::::........... . . ...MHHHHHIIII:::. . 'HII:::. . . ..:.
:::::::.......... . ....MHHHHHHHIII::::.. . 'HI::. . ..:::
:::::::::......... ....:MHHHHHHIIII::::... . 'HI::. . ..::II
::::::::::........ ...:MHHHHHHIIII::::.. . 'HI:. ....II'
::::::::::::...... . .MMMHHHHIIIII::::... . . I:: ...:::'
:.::I::::::::..... ..MMMHHHHIIIIII:::... . . .::. ...:'
:..:II:::::::::.... ..MMMHHHHIIIIIIIII::.... . ...::'''
::.:III::::::::::.....MMMMIHHHHIIIIIII::::.... . .....:.
::..:III:::::::::.....MMHMMIHHHHHIIIIIII::::.. . ..::..:.
::::.::III::::::::... .IMMHMMIHHHHHHIIIIII::::.. ..::..:::
.:::I.:::III:::::::... .:MMHHMMIHHHHHIIIIIII::::....:::.::::
:::IIH.:::III::::::::....MMHMHMMIHHHHHHIIIIIIII:::.:::::::II
:::IIHH.II:::II::::::::...MMMHMHMMIHHHHHHHHIIII:::..::::::II"
::IIIHHH.III::I;:::::::...MHHMHHHHHIIHHHHHHHIII:...::::..:"
:IIHHHHH.HIIII:::::::::...HHHHHHHHII:':HHHHIIII:::...:''
IIHHHHHHI.HHIIIIII:::::...HHHHHII:' . .''HIIIIII:''
IHHHHHHHH:HHHHIIIIII::::..HHHI::' .. ....
HHHHHHHHHHIHHHHHHHHIII::.IHI:' . ..:...
HHHHHHHHHHIHHHHHHHHHII:..II:' . .:' ''':.
HHHHHHHHHHIHHHHHHHHHII:..I:' . .:' '':.
HHHHHHHHHHIHHHHHHHHHII:..::' :.::.. ':.
MMHHHHHHHHHIHHHHHHHHII::.::' :.::.... '':.
MMMHHHHHHHHIHHHHHHHHII::..::. ...:I:.... '':.
MMMMHHHHHHHIHHHHHHHHHII:..:::. :.:II:::..... . ':.
MMMMMHHHHHHIHHHHHHHHHHII:..::.:.:HIII::::....... . ':.
MMMMMHHHHHHIHHHHHHHHHHIII:.:..::HHIIIIIII::::::::...... ...::.
MMMHHHHHHHI:HHHHHHHHHHIII::.:::HHHHHIIIIIIIII:::::::::....... . ...::
MHHHHHH$IIII:HHHHHHHHHIII::..:HHHHHHHHHHHHHHIIIIIIIIIIII::::..... ..::
HHHHHH$$IIIIHHHHHHHHHHHII::..HHHHHHHHHHHHHHHHHHHHHIIIIIIII::::::::::::
HHHH$$$IIII::HHHHHHHHHHII::..:HHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIII
HHHH$$$$II::::HHHHHHHHIII::...LMMMMMMMMMMMMMMMMMMMMHHHHHHHIIIIIIIIIII'
HHHHHI$$I:::::HHHHHHHHHIII::..HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH'
HHHHHH$$$I::::HHHHHHHHHIIII:..MHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH'
MHHHHHI$$$I::::HHHHHHHHHIII:..MMMHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH'
MMHHHHH$$$II::HHHHHHHHHHIII:..:MMMMMMMMMMMMMHHHHHHHHHHHHHHHHHHHH'
II:IIHHHI::::MIHHHHHHHHHIII::..MMMMMMMMMMMMMMMMMMMMMHHHHHHHHH'
III:IIIHHI::::IIHHHHHHHHHHII.;MMMMMMMMMMMMMMMMMMMM:::''''
IIIIIIII::::. HHHHHHHHHHII::
IIIIIII:II:::. 'HHHHHHHHHHHHII:
IIIIIIIII:::::. :HHHHHHHHHHHHII
IIIIIIII:::::::. MHHHHHHHHHHHHI
IIIIIII:::::::::. 'MMMHHHHHHHHHII
IIIIII:::::::::::. MMMMMMHHHHHHHI
IIIIIIII::::::::::. MMMMMMMHHHHHI:
IIIIIIIIII::::::::..MMMMMMMMHHHHHI
IIIIIIIIIIIII::::::..MMMMMMMMHHHHH
IIIIIIIIIIIIIII:::::..MMMMMMMMHHHH:
IIIIIIIIIIIIIIIII:::..MMMMMMMMMMHHI
HIIIIIIIIIIIIIIIII:::..MMMMMMMMHHI:;
HHHIIIIIIIIIIIIIIII::::IMMMMMMHHHI:.
HHHHIIIIIIIIIIIIIIHHHH:.MMMMMHMHHI::
HHHHHIIIIIIIIIIIHHHHHHI:MMMMMHMHHI::
HHHHHHIIIIIIIIHHHHHHHHHIMMHHHHHIIHI:.
HHHHHHHHIIIIIIIIHHHHHMMIHHHHHHIIIII:.
HHHHHHHHHIIIIIIIIIHHHMHHIIHIIHIIII:::.
MMHHHHHHHHHHIIIIIIIHMIHIIHHIIIHIII::...
MMMHHHHHHHHHHHHHIIHMMIIIIIHHIIHHI:::::..
MMMMMMMHHHHHHHHHHIHMI:IHIHII:HI:HII::.::.
MMMMMMMMMMHHHHHHHHII:IHMMH.:HIIHI:II:IHI:.
MMMMMMMMMMMMHHHHHMIII:IMHIHHHMH:IH::I:IHH.
MMMMMMMMMMMMMMMHMIIIHHMHHHHHMHHIHHI.:MMHI:
HHHHMMMHHHMMMMMII:IIHHIIHMIIIHI:HI:HM:IHII
HHHHHHMMMHHHMMM:II:IMHHIIMIHIIIHIHHIHMM:II
HHHHHHHHMMMHMM:'::MHHHIMMIIII:MIIIHI:MM:::
'IHHHHHHHMMMMM .IMHHHIMIII::IMIHHI:HHHM::'
'HHHHHHMMMMMMMIHHIIMIHI::IMIHH:IHHHHII'
':HHMMMMMMM':HHIIIHHIIMIIHI:IMMHHMM'
'MMMMMM:..:MMMIHHIIMIIHI:MMMMMM'
'':MMMMMMMM' :MMM'':MMMMMM:'
'':MMMMM:MMMMM:MMMMM:''
"""""""""""""'
Вознесем же благодарность тэгу python в source, за то что он смог правильно отобразить эту красоту
Или даже такого, из 1960 )
Из ASCII конечно можно гораздо больше вытащить, тут только четыре градации яркости по средней яркости блока, пробел и .*@. Чуть позже появились программы подбиравшие буквы и символы, заметно повышая "разрешение".
nsfw
http://www.vintagecomputing.com/index.php/archives/974/high-resolution-scan-of-the-worlds-first-digital-computer-art
https://www.theatlantic.com/technology/archive/2013/01/the-never-before-told-story-of-the-worlds-first-computer-art-its-a-sexy-dame/267439/
https://www.computerhistory.org/timeline/graphics-games/
Я нашёл несколько программ для просмотра изображений под MS-DOS, но все они сделаны позже, в 90-е:
В 1987 то ли в 1988г к нам в горную памирскую глухомань вместе с коллегой из США приехал Compaq Portable, да так у нас и остался. Потом почти сразу появились XT-шки и пошло-поехало. Так на смену СМ-4 и RSX-11M, где рисовать можно было только на плоттере (а вместо сканера - дигитайзер), пришел MS-DOS с новым фортраном и, неожиданно, графикой. Правда, мы в основном рисовали картинки сами, а не сканировали. Сканировать было проблематично из-за размера: обнажения там, преимущественно, встречались геологические.
Если мне память не изменяет, то первой моей программой на персоналке стал конвертер фортрана-IV в МS Fortran. После чего мы перетащили туда программы и базу данных с большой машины, прикрутили библиотеку HALO и начали жить по-новому. HALO позволяла не только рисовать что-то статичное, но и обеспечивала вполне приличный интерактив. Правда, часть функций для ускорения тормозов приходилось писать на ассемблере, но вместе с фортраном в комплект входил MASM, и это было несложно. Особенно упрощала жизнь возможность вывести asm-листинг исходного кода, причем туда же вставлялись исходные операторы на фортране. Поэтому даже слепой мог довольно быстро понять, как одно превратить в другое, что именно тормозит, и куда надо оптимизировать.
Помню, что тяжелее всего фортрану тогда давалась работа со строками. А для организации интерфейса надо было при каждом нажатии клавиши мгновенно сформировать и вывести на экран 25 строк по 80 символов, каждая из которых объединяла с десяток динамически генерируемых подстрок. Поэтому многие простейшие функции мы переписывали на ассемблере. До сих пор в шапках некоторых фортрановских (уже!) подпрограмм вместо "С" рамка сделана из кавычек... А еще компилятор ужасно страдал при передаче строк в подпрограмму. Поэтому мы частенько объявляли строку глобально... и этот legacy до сих пор местами присутствует в нашем коде...
Еще библиотека HALO умела выводить нарисованную картинку на принтер, причем с инверсией цвета и, при необходимости, изменением пропорций рисунка в два раза, так как пикселы на экранах в то время были не очень квадратные ;-) . В комплект поставки входили драйверы для разных моделей принтеров и дисплеев, а программа при запуске должна была подергать систему и подцепить нужный.
А в файл мы тогда захватывали картинки GRAB-ом и PCXGRAB-ом (уже не помню, в чем разница). До сих пор в архивах валяются pcx-файлы с нарисованными тогда графиками. По сравнению с черчением тушью и фотокопированием (да, так тогда оформлялись рукописи диссертаций, статей и отчетов) это была какая-то революция... Хотя разрешение картинок еще долго не шло ни в какое сравнение с произведениями искусства чертежника.
И, собственно, про обработку изображений. Помню, что картинки с экрана тогда получались на черном фоне, а для печати мы как-то их инвертировали. А вот чем именно конвертировали - уже не помню. Возможно, опять-таки с помощью HALO: в одном из обрывков кода ушедшей эпохи наша программа читает pcx-файл, а затем вызывает какую-то подозрительную функцию. Но разобраться с этим фрагментом, а тем более перекомпилировать его теперь уже нереально.
Я смотрел картинки фривольного содержания на компьютере Искра-1031 (советский XT). Программа для просмотра называлась Compushow (cshow.exe). Формат картинок в основном был PCX.
Разработчики игры сделали всё возможное, чтобы минимизировать размер файлов. Каждый всего 5768 байт, что даёт нам разрешение всего лишь 320×18 в оттенках серого. И действительно, если открыть pic-файл с помощью Python, то многие детали отсутствуют:
Разработчики определённо использовали какие-то трюки, чтобы вывести изображение 320×18 на экране 320×240.
Во-первых, это игра работала в режиме 320х200
Во-вторых, если посмотреть скриншоты из игры, то видно, что каждая картинка с девушкой занимала не всю площадь экрана, а область размером 320х144 пикселей.
В битовом формате такое изображение будет занимать (320х144)/8=5760 байт. Но размер каждого файла 5768 байт. Откуда еще 8 байт? Если открыть в шестнадцатеричном редакторе все картинки и сравнить их, то можно обнаружить, что у всех файлов есть одинаковый заголовок длиной 7 байт: FD 00 20 00 00 80 16, а так же в конце у каждого файла есть байт 1A.
Наконец-то я знаю, как Ленна выглядела полностью. Бабушка уже, наверное. Если вообще ещё жива
10 PLOT 34 57
20 PLOT 34 58
и т. д., и т. д., тысячи их. Один диктует, другой вводит. Несколько уроков подряд этим промаялись. При этом странный графический режим Агата это усё растянул вширь, с какой-то своей периодичностью ещё пропуская вертикальные полоски пикселей. В итоге, учитель отказался им за это ставить высокую оценку по предмету, мотивируя это тем, что баба вышла какая-то неэстетичная.
Небольшое дополнение - на конец 80-х начало 90-х был целый ворох форматов, я уж и не вспомню все, но точно знал, что PCX-GIF в статье точно всплывут ;-) Разнообразие было инспирировано прежде всего малыми вычислительными мощностями и задачами, где изображение использовалось (изначально в типографских целях были более "качественные" форматы, нежели те, которые использовались в "экранных" целях). На экранные также значительно влияли форматы вывода, как тут упоминалось, первые цветные были CGA далее EGA/VGA. В этих форматах был один важный нюанс - количество выводимых цветов было выбиралось из "палитры" доступных, ввиду отставания железа. С развитием железа и выхода SVGA этот костыль постепенно исчез, а тогда активно экплуатировался.
Также, важно было разрешение и формат вывода, который, зачастую, был довольно замысловат. Например, видеопамять на приставках была в виде блоков (спрайтов) с определенными выбранными цветами (программирование для приставок это целое искусство), или тот же EGA, реализовывал целых 16! цветов с помощью 4 планарных (битовых) плоскостей по цветам + интенсивность, и предоставлял выбирать из 64 доступных цветов в палитре.
Еще немного интересного - TUI, самый древний режим работы (текстовый), тоже мог реализовывать графику, и не символьную, как тут упоминали, а вполне себе нормальную, и даже цветную ;-) Но технически это было весьма экзотический способ: программировались символьные таблицы из кусочков изображения, ну и цвет можно задавать исключительно на символ (цвет самого и цвет фона). Это позволяло делать мини-изображения во всяких приложениях.
На самом деле, знаменитое изображение Ленны (см. выше), которое сегодня стало своего рода стандартом при тестировании алгоритмов обработки изображений, отсканировано из журнала Playboy
Вот тут и ответ, как смотрели нюдсы в то время: без всяких компьютеров))
Ей сейчас 72 года, день рождения 31 марта, много внуков.
https://en.wikipedia.org/wiki/Lena_Forsén
А самыми старыми электронными форматами, позволяющими хранить, отображать на мониторах и передавать достаточно качественные изображения можно считать забытое ныне SSTV. В принципе, SSTV было возможно вообще без компьютеров, но только с их появлением стало более-менее удобно для просмотра. Пример изображения, закодированного в SSTV Robot-36.
Как смотрели нюдсы на древних компьютерах?