Просмотр полной версии : Вывод ВСЕХ картинок на экран :)
Nomy Graphics
23.08.2007, 11:42
Ну даже не знаю.. вот написал программку для особо ленивых GFX-мейкеров, которым лень рисовать все самим. В самом деле, зачем себя так нагружать? Ведь как известно, размер экрана Спектрума, как и любого другого компьютера, конечен. И составляет лишь 256 x192 пикселя. Ну а раз так, то почему бы не написать программку, которая последовательно выведет на экран ВСЕ возможные кадры, которые только можно сформировать в любом графическом редакторе???
Что я собственно и сделал:
ORG 40000
DI
XOR A
LD HL,16384
LD (HL),A
PUSH HL
POP DE
INC DE
LD BC,6143
LDIR
GO_1 LD HL,16383
GO INC HL
LD A,H
CP 58h
RET Z
LD A,(HL)
INC A
LD (HL),A
JR Z,GO
JR GO_1
Особо нервным просьба сесть подальше от экрана, поскольку на нем будут появляться картинки, которые только возможно себе представить даже в самом воспаленном мозгу! (даже боюсь фантазировать..) Остается только запастись терпением :sleep:, т.к. вообще-то количество всех возможных кадров составляет 2^49152 (да, совсем забыл, я решил не накладывать цвета, т.к. и так получается довольно много вариантов, ведь так?? ;) ) Но ведь это для самых ленивых, а значит, время у них есть.
P.S. Кому лень и печатать, можно сократить программу:
ORG 40000
GO_1 LD HL,16383
GO INC HL
INC (HL)
JR Z,GO
JR GO_1
P.S.S. Программу легко трансформировать в универсальный знакогенератор, генератор мелодий и даже программ! Правда, последние будет тяжко тестировать, да и их количество на несколько порядков превышает число элементарных частиц во Вселенной :v2_slee2:
вариант этой проги под Run Enter в scl или trd.
Ведь для того чтобы увидить результат надо набрать эту программу в KSA TASME или в AIG MASME. А я не помню как. :v2_conf2:
В php получается белый экран, вот код программы:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<?php
ORG 40000
GO_1 LD HL,16383
GO INC HL
INC (HL)
JR Z,GO
JR GO_1
?>
</body>
</html>
Между прочим, среди полученных картинок будут: схема вечного двигателя, машины времени, формула элексира бессмертия, схема идеального торгового оборота, точные координаты всех обитаемых планет во вселенных (их будет несколько :) ) и еще много интересного.
Nomy Graphics
23.08.2007, 13:42
daniel, alexeenko: эт я ошибся с тегом, ессно все в асме z80, php тут не при чем.
skyther: хм, все так, при условии, что такие вещи вообще возможны хотя бы теоретически. В любом случае, будет и много подделок :v2_rolley
Последней картинкой будет "Черный квадрат" Малевича :v2_thumb:
Ну а вот, кстати, универсальный знакогенератор для фонтов 8x8:
ORG 40000
LD A,48h
GO_1 LD HL,3F00h
GO INC H
CP H
RET Z
INC (HL)
JR Z,GO
JR GO_1
Количество возможных символов 8x8 составляет 2^64 = 256^8 = 18446744073709551616 (= количеству зерна на последней клетке шахматной доски, которое, согласно легенде, один шах должен был выложить в качестве награды мудрецу, изобревшему шахматы) около 18 с половиной квинтиллионов значков.
Программа, запущенная на EmulZWin'е в режиме 800% ускорения, выполнит инструкцию RET Z примерно через 2 975 170 лет по моим расчетам. Главное, чтобы за это время Спектрум не умер!
P.S. Эх, а как бы написать программу, которая бы отфильтровывала "мусор" и показывала бы только осмысленные изображения :v2_rolley
Между прочим, среди полученных картинок будут: схема вечного двигателя, машины времени, формула элексира бессмертия, схема идеального торгового оборота, точные координаты всех обитаемых планет во вселенных (их будет несколько ) и еще много интересного
А так же универсальная программа по убийству своего времени.
Lethargeek
23.08.2007, 14:53
Гм, а почему собс-но решено ограничиться только КАРТИНКАМИ? Даешь генератор всех возможных программ (точнее снапшотов) ну хотя бы для Спека-128!! (черт с ними, с клонами с расширенной памятью)
P.S. Конечно, кое-кто может вспомнить игрушки с подгружаемыми уровнями, не влезающие даже в 128K, однако стоит напомнить, что среди всех сгенерированных снапшотов обязательно окажутся все искомые уровни. Останется только все это дело правильно задисковать... ну, это у нас умеют. ;)
Nomy Graphics
23.08.2007, 15:17
Ну, можно скомпилировать прогу на эмуле в ПЗУ (или в буфер принтера на реале), а на метке GO поставить брейкпойнт и снять снапшот вручную на эмуле или CALL на процедурку автоматического снапшоттинга:
ORG 0
GO_1 LD HL,16383
GO CALL SNAP
INC HL
INC (HL)
JR Z,GO
JR GO_1
SNAP ...
RET
Прям не удержался.. а то хотел предложить начинающим в качестве самостоятельного домашнего задания!
Отсыпьте и мне немного.... :)
Даешь генератор всех возможных программ (точнее снапшотов) ну хотя бы для Спека-128!! (черт с ними, с клонами с расширенной памятью)
среди прочего будут сгенерированы: чв-2, f&i-2 и прочие прелести :rolleyes:
Отсыпьте и мне немного.... :)
я думаю без травки здесь точно не обошлось...
:(:|:rolleyes::eek::sleep:
мне уже прислано несколько десятков тысяч этого замечательного кода. Я обсматрелся на вверхний левый угол. И понял, что это шутка такая. Для этого мне потребовался 12 часовой промежуток времени. Но я же привык работать над материалом трое суток, все таки работа наложила свой неизгладимый отпечаток. Спасибо всем за код scl и trd и tap и tzx и phl и musql. Я все просмотрел. Удивительное совпадение картинок.
PS1: Кому скучно и хочется что нить сделать перевидите этот код в еще какой нить формат.:v2_laugh:
PS2: Nomy ты превзошел себя. Но только один вопрос: (см.вложение) :v2_lol:
Магия чисел!
Число вариантов - 14.5тыс символов (кому надо, могу выложить точное число 2^49152). То есть, порядок числа - ~14500.
Что по сравнению с этим какие-то 9 порядков скорости компьютера (если считать не под эмулем а напрямую на мощном компе) в секунду?
Плюс какие-то 8 порядков секунд в году...
Не судьба видать :-)
Nomy Graphics
24.08.2007, 10:06
Отвечаю:
1. Все же обошлось без травки :v2_smoke: одним табачком!
2. ААА, это НЕ шутка, хотя долю юмора я постарался вложить :v2_rolley. . Программа 100% рабочая и выполняет то, для чего предназначена. Весь вопрос лишь во времени, необходимом для завершения ее работы (сверхбольшое).
3. ААА, про совпадение картинок можешь не упоминать - ты не забыл, что моя программа выводит ВСЕ ВОЗМОЖНЫЕ картинки на экран? так что совпадение обеспечено по определению.
4. С экраном действительно долго получится, но если, например, изобретать фонт размером 8x4, то все результаты вполне можно просмотреть за 6 часов!
5. Ну и наконец, для чего, я собственно, ее вот тут публиканул (кстати, действительно, написал только вчера):
а) поделиться кодом
б) дать пищу для размышлений начинающим кодерам (затронул тему вывода графики, оптимизации кода, использование нестандарного размера слова (мягко говоря :v2_lol:), флаг нуля, и т.п.)
в) дать пищу для размышлений философам и романтикам (меня лично возможности программы впечатляют. Просто страшно подумать, что среди картинок будут действительно ВСЕ варианты :v2_blink: )
кто нибудь уже начал перебирать полученные варианты? хочется посмотреть полученные новые невиданные картинки =) а еще лучше демки...
Retrograd
25.08.2007, 05:07
Даешь распределенное вычисление!
Lethargeek
25.08.2007, 06:12
кто нибудь уже начал перебирать полученные варианты? хочется посмотреть полученные новые невиданные картинки =) а еще лучше демки...
Встает вопрос: а какие близкие варианты одной и той же "как бы нашенской" демки считать самыми правильными - с ошибками в "онглийском езыке" или без? С учетом традиционной безграмотности отечественной сцены, думаю, что именно с типичными ошибками. :D
Также непростой вопрос с определением "биологического года" :) работы, ведь будет куча совершенно одинаковых демок, помеченных разными годами, от Большого Взрыва и до Конца Света (а то выходящих за эти рамки). Конечно, все даты ранее 82 года (86 для 128-х продуктов) можно сразу отбросить, однако вопрос не снят, в том числе и для будущих дат. Видимо, придется определять по стилю и крутизне.
И я даже боюсь представить споры об авторстве для самых зачотных дем и игрушек... Ведь опять-таки, будет куча софта, "подписанного" названиями легендарных команд и известнейшими в стране именами, наряду с теми же версиями от Васи Пупкина. Допустим, самозванца Васю мы гневно отбросим, но кто же все-таки автор "Черных Наследников Звездного Ворона-4", Медноногов или Матвеев? А уж когда уважаемые спектрумисты начнут в сопутствующих демах и интрах беспощадно факать друг друга... :rolleyes:
Ох, быть большой крови... :v2_devil: :v2_devil: :v2_devil:
Ггг... А давайте извратим ситуацию и будем генерить упакованные файлы, прямо в зипе или раре. Куча плюсов:
-меньший размер исходных данных (а следовательно и меньше время на перебор)
-валидность проверяется штатными средствами и может происходить на автомате
ЗЫ. Еще чуть-чуть и тема уедет на почетное место во флейм :)
Nomy Graphics
25.08.2007, 23:32
Lethargeek,
а что тут спорить об авторстве?? автор всех работ Nomy Graphics (C) однозначна :v2_lol:
а что тут спорить об авторстве?? автор всех работ Nomy Graphics (C) однозначна
Centronics Hackers Group (http://zxaaa.untergrund.net/CENTRONICS.html)
Даешь распределенное вычисление!
Вот это трезвый подход!
И так! рандомайзер будет как и любой псевдослучайный (де)генератор отталкиваться от начального значения SEED!
Предлагаю следующие варианты:
Набережные Челны: стартовое значение SEED 0
Таганрог (привет Витамину): стартовое значение SEED 1
Лесосибирск (привет ДиГризу): стартовое значение SEED 2
Владивосток (привет сами знаете кому ;-) ): стартовое значение SEED 3
Питер (привет newart и прочей питерской тусе): значения SEED 4,5,6,7 - потому что город большой
Москва (привет ААА и прочей московской тусе): значения SEED 8,9....+бесконечность (город очень большой)
Итого в кратчайшие сроки мы с вами получим весь спектр самого разнообразнейшего вареза:
- Великолепные картинки написанные под стандартный и расширенный цветовой диапазон спектрума (имею в виду мультиколоры, посмотрите мою подпись)
- Отличная музыка, которую можно слушать днями и неделями, после которой кажется нелепями кривляния Elton John'а, Celine Dion и прочей попсовой борзоты
- Отличный софт, под даже ещё не выпущенные конфигурации оборудования (представляете? даже будет порт ЧВ под новый суперспектрум!!!)
- И... много чего другого!!!
Добавлено через 2 минуты
И ещё, мне кажется вопрос об авторстве здесь не уместен. Всё таки мы всем миром генерируем эти программы! А потом авторство можно смело писать - zx.pk.ru!!!
Lethargeek
27.08.2007, 05:41
Итого в кратчайшие сроки мы с вами получим весь спектр самого разнообразнейшего вареза:
Помимо прочего, можно будет барыжить невиданным новым софтом для комодури, атарей, амиги, амстрада итд, которые тоже окажутся среди оного вареза!!!
На эти средства и поднимем Спек на новые, немыслимые высоты! ;)
CityAceE
27.08.2007, 07:35
Предлагаю начать с малого и нагенерировать для начала intro размером 256, ну или 512 байтс разными крутыми эффектами и, самое главое, со звуком :) Можно, как предлагает Vitamin, сразу упакованными :v2_lol:
хорошая прога.
я пару лет назад похожей прогой генерировал шрифт для таргета.
вроде даже читабельный получился.
Максагор
03.09.2007, 17:26
А вы представляете, сколько такой прожкой можно нагенерить софта под авторством, скажем, Владимира Владимировича Путина?
можно начать с малого. например 8b intro.
всего-то 18446744073709551616 вариантов.
если написать прожину которая будет ну хоть как-то отдалённо тестить работоспособность (например используя ядро z80 и проверяя, чтоб в экране менялось что-нибудь).
и если один вариант будет тестится.... скажем пол секунды, то на проверку всех вариантов уйдёт 292471208677 лет
:)
----------------
а вот шрифт 5x4 (как в таргете) вролне реально сгенерить :)
5*4 - всего 20 бит, значит 1048576 вариантов.
если взять 2872 человек и каждый будет раз в день проверять символ, то за год реально успеть :)
а если по 100 символов в день - так хватит и 30 человек.
Nomy Graphics
03.09.2007, 21:41
О!.. наши люди :-)
Зачем там много на символ?? вполне хватит 2-3 секунд.. а в режиме быстрого простмотра реально за несколько часов успеть и шрифт 8*4, как в NK-DOS или MASM или ZX-WORD.
8b intro/demo - ну вот как раз эта тулза в самом коротком варианте занимает 9 байт. Т.е. она сгенерит саму себя немного более, чем через 18 квинтиллионов переборов.
Прога показывает, кстати, уязвимость 32-bitных паролей, и практически неуязвимость 64-bitных (при условии прямого брутфорса).
Alex Clap
09.04.2011, 14:12
Ту-ду-мс! Облачные вычисления в помощь!:v2_dizzy_priest:
Какой баян.
Эту тему уже просчитывали и результаты ОЧЕНЬ ВПЕЧАТЛЯЮЩИЕ.
Нефик маятся хренью, лучше кодите...
zx_demon
12.04.2011, 13:08
Помнится такой фигнёй лет 10 назад или более хотел от лени сгенерить себе спрайты размером 16х16 для игры, но ужаснувшись сколько ждать хотябы одного мне понравившегося изображения забыл как о страшном сне... :v2_dizzy_sleep2:
Andrew771
12.04.2011, 15:02
Просто, всё это надо делать для Спектрума на PC, ну и выработать критерии, какие последовательности байтов могут иметь ценность, и только их выводить для просмотра. Тогда намного быстрее дело пойдет. :)
zx_demon
12.04.2011, 15:09
:v2_laugh: теперь не 1000 лет ждать...а всего 100...:v2_dizzy_tired2:
и я против того чтобы ВСЁ, да и большинство вещей для Speccy делать на других платформах!
все же, где тот гений, который придумает анализатор нужных картинок?
Кстати автор, реально переделай прогу на показ спрайтов 16*16, тогда за один раз влезет на экран эээ... много сразу спрайтов )
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot