PDA

Просмотр полной версии : Вывод ВСЕХ картинок на экран :)



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:

AAA
23.08.2007, 11:49
вариант этой проги под 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>

daniel
23.08.2007, 12:33
и что php эмулит z80?

skyther
23.08.2007, 12:36
Между прочим, среди полученных картинок будут: схема вечного двигателя, машины времени, формула элексира бессмертия, схема идеального торгового оборота, точные координаты всех обитаемых планет во вселенных (их будет несколько :) ) и еще много интересного.

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

AAA
23.08.2007, 13:53
Между прочим, среди полученных картинок будут: схема вечного двигателя, машины времени, формула элексира бессмертия, схема идеального торгового оборота, точные координаты всех обитаемых планет во вселенных (их будет несколько ) и еще много интересного

А так же универсальная программа по убийству своего времени.

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


Прям не удержался.. а то хотел предложить начинающим в качестве самостоятельного домашнего задания!

Vitamin
23.08.2007, 16:17
Отсыпьте и мне немного.... :)

scl^mc
23.08.2007, 19:19
Даешь генератор всех возможных программ (точнее снапшотов) ну хотя бы для Спека-128!! (черт с ними, с клонами с расширенной памятью)
среди прочего будут сгенерированы: чв-2, f&i-2 и прочие прелести :rolleyes:

breeze
23.08.2007, 21:21
Отсыпьте и мне немного.... :)

я думаю без травки здесь точно не обошлось...
:(:|:rolleyes::eek::sleep:

bugsy
23.08.2007, 22:38
пятничный отжиг

AAA
23.08.2007, 23:18
мне уже прислано несколько десятков тысяч этого замечательного кода. Я обсматрелся на вверхний левый угол. И понял, что это шутка такая. Для этого мне потребовался 12 часовой промежуток времени. Но я же привык работать над материалом трое суток, все таки работа наложила свой неизгладимый отпечаток. Спасибо всем за код scl и trd и tap и tzx и phl и musql. Я все просмотрел. Удивительное совпадение картинок.

PS1: Кому скучно и хочется что нить сделать перевидите этот код в еще какой нить формат.:v2_laugh:
PS2: Nomy ты превзошел себя. Но только один вопрос: (см.вложение) :v2_lol:

Vitamin
23.08.2007, 23:46
Магия чисел!
Число вариантов - 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: )

psndcj
24.08.2007, 14:00
кто нибудь уже начал перебирать полученные варианты? хочется посмотреть полученные новые невиданные картинки =) а еще лучше демки...

Retrograd
25.08.2007, 05:07
Даешь распределенное вычисление!

Lethargeek
25.08.2007, 06:12
кто нибудь уже начал перебирать полученные варианты? хочется посмотреть полученные новые невиданные картинки =) а еще лучше демки...
Встает вопрос: а какие близкие варианты одной и той же "как бы нашенской" демки считать самыми правильными - с ошибками в "онглийском езыке" или без? С учетом традиционной безграмотности отечественной сцены, думаю, что именно с типичными ошибками. :D

Также непростой вопрос с определением "биологического года" :) работы, ведь будет куча совершенно одинаковых демок, помеченных разными годами, от Большого Взрыва и до Конца Света (а то выходящих за эти рамки). Конечно, все даты ранее 82 года (86 для 128-х продуктов) можно сразу отбросить, однако вопрос не снят, в том числе и для будущих дат. Видимо, придется определять по стилю и крутизне.

И я даже боюсь представить споры об авторстве для самых зачотных дем и игрушек... Ведь опять-таки, будет куча софта, "подписанного" названиями легендарных команд и известнейшими в стране именами, наряду с теми же версиями от Васи Пупкина. Допустим, самозванца Васю мы гневно отбросим, но кто же все-таки автор "Черных Наследников Звездного Ворона-4", Медноногов или Матвеев? А уж когда уважаемые спектрумисты начнут в сопутствующих демах и интрах беспощадно факать друг друга... :rolleyes:

Ох, быть большой крови... :v2_devil: :v2_devil: :v2_devil:

Vitamin
25.08.2007, 13:28
Ггг... А давайте извратим ситуацию и будем генерить упакованные файлы, прямо в зипе или раре. Куча плюсов:
-меньший размер исходных данных (а следовательно и меньше время на перебор)
-валидность проверяется штатными средствами и может происходить на автомате

ЗЫ. Еще чуть-чуть и тема уедет на почетное место во флейм :)

Nomy Graphics
25.08.2007, 23:32
Lethargeek,

а что тут спорить об авторстве?? автор всех работ Nomy Graphics (C) однозначна :v2_lol:

AAA
26.08.2007, 00:50
а что тут спорить об авторстве?? автор всех работ Nomy Graphics (C) однозначна
Centronics Hackers Group (http://zxaaa.untergrund.net/CENTRONICS.html)

GriV
26.08.2007, 18:04
Даешь распределенное вычисление!

Вот это трезвый подход!
И так! рандомайзер будет как и любой псевдослучайный (де)генератор отталкиваться от начального значения 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:

Sinus
30.08.2007, 15:17
хорошая прога.
я пару лет назад похожей прогой генерировал шрифт для таргета.
вроде даже читабельный получился.

Максагор
03.09.2007, 17:26
А вы представляете, сколько такой прожкой можно нагенерить софта под авторством, скажем, Владимира Владимировича Путина?

Sinus
03.09.2007, 20:29
можно начать с малого. например 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:

Destr
12.04.2011, 01:11
Какой баян.

Эту тему уже просчитывали и результаты ОЧЕНЬ ВПЕЧАТЛЯЮЩИЕ.

Нефик маятся хренью, лучше кодите...

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 делать на других платформах!

zxigan
12.04.2011, 19:25
все же, где тот гений, который придумает анализатор нужных картинок?
Кстати автор, реально переделай прогу на показ спрайтов 16*16, тогда за один раз влезет на экран эээ... много сразу спрайтов )