Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Для начинающих (http://zx-pk.ru/forumdisplay.php?f=43)
-   -   Вывод ВСЕХ картинок на экран :) (http://zx-pk.ru/showthread.php?t=6019)

Nomy Graphics 23rd August 2007 12:42

Вывод ВСЕХ картинок на экран :)
 
Ну даже не знаю.. вот написал программку для особо ленивых GFX-мейкеров, которым лень рисовать все самим. В самом деле, зачем себя так нагружать? Ведь как известно, размер экрана Спектрума, как и любого другого компьютера, конечен. И составляет лишь 256 x192 пикселя. Ну а раз так, то почему бы не написать программку, которая последовательно выведет на экран ВСЕ возможные кадры, которые только можно сформировать в любом графическом редакторе???

Что я собственно и сделал:

Code:

        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. Кому лень и печатать, можно сократить программу:

Code:

        ORG 40000
GO_1        LD HL,16383
GO        INC HL
        INC (HL)
        JR Z,GO
        JR GO_1

P.S.S. Программу легко трансформировать в универсальный знакогенератор, генератор мелодий и даже программ! Правда, последние будет тяжко тестировать, да и их количество на несколько порядков превышает число элементарных частиц во Вселенной :v2_slee2:

AAA 23rd August 2007 12:49

Nomy выложы(и) для ААА
 
вариант этой проги под Run Enter в scl или trd.

Ведь для того чтобы увидить результат надо набрать эту программу в KSA TASME или в AIG MASME. А я не помню как. :v2_conf2:

В php получается белый экран, вот код программы:



Code:

<!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 23rd August 2007 13:33

и что php эмулит z80?

skyther 23rd August 2007 13:36

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

Nomy Graphics 23rd August 2007 14:42

daniel, alexeenko: эт я ошибся с тегом, ессно все в асме z80, php тут не при чем.

skyther: хм, все так, при условии, что такие вещи вообще возможны хотя бы теоретически. В любом случае, будет и много подделок :v2_rolley

Последней картинкой будет "Черный квадрат" Малевича :v2_thumb:

Ну а вот, кстати, универсальный знакогенератор для фонтов 8x8:

Code:

        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 23rd August 2007 14:53

Quote:

Originally Posted by skyther (Post 98750)
Между прочим, среди полученных картинок будут: схема вечного двигателя, машины времени, формула элексира бессмертия, схема идеального торгового оборота, точные координаты всех обитаемых планет во вселенных (их будет несколько ) и еще много интересного

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

Lethargeek 23rd August 2007 15:53

Гм, а почему собс-но решено ограничиться только КАРТИНКАМИ? Даешь генератор всех возможных программ (точнее снапшотов) ну хотя бы для Спека-128!! (черт с ними, с клонами с расширенной памятью)

P.S. Конечно, кое-кто может вспомнить игрушки с подгружаемыми уровнями, не влезающие даже в 128K, однако стоит напомнить, что среди всех сгенерированных снапшотов обязательно окажутся все искомые уровни. Останется только все это дело правильно задисковать... ну, это у нас умеют. ;)

Nomy Graphics 23rd August 2007 16:17

Ну, можно скомпилировать прогу на эмуле в ПЗУ (или в буфер принтера на реале), а на метке GO поставить брейкпойнт и снять снапшот вручную на эмуле или CALL на процедурку автоматического снапшоттинга:

Code:

        ORG 0
GO_1        LD HL,16383
GO      CALL SNAP
        INC HL
        INC (HL)
        JR Z,GO
        JR GO_1
SNAP      ...
        RET

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

Vitamin 23rd August 2007 17:17

Отсыпьте и мне немного.... :)

scl^mc 23rd August 2007 20:19

Quote:

Originally Posted by Lethargeek (Post 98771)
Даешь генератор всех возможных программ (точнее снапшотов) ну хотя бы для Спека-128!! (черт с ними, с клонами с расширенной памятью)

среди прочего будут сгенерированы: чв-2, f&i-2 и прочие прелести :rolleyes:


All times are GMT +4. The time now is 00:56.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.