Важная информация

User Tag List

Показано с 1 по 7 из 7

Тема: Заполнение экрана Специалиста точками случайного цвета

  1. #1

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,213
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,644
    Поблагодарили
    572 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Заполнение экрана Специалиста точками случайного цвета

    Вот такую штуку на досуге написал. Практической ценности нет. Кто сделает короче/быстрее?

    Код:
        org    0
        
        ld    bc, 0x9000
    m1:
        ld    hl, (seed)
        ld    d, h
        ld    e, l
        add    hl, hl
        add    hl, hl
        add    hl, de    ; HL=HL*5
        inc    hl    ; +1
        ld    (seed), hl
        
        ld    a, h
        out    (0xfa), a
        ld    (bc), a
    
        inc    bc
        ld    a, 0xc0
        cp    b
        jp    nz, m1
    
        halt
    
    seed:     dw    0x1234


    P.S. У вложения уберите фейковое расширение txt - оно было добавлено, чтобы была возможность загрузить такой формат на форум, а зипование многократно увеличивает размер.
    Вложения Вложения
    Последний раз редактировалось CityAceE; 31.03.2025 в 11:07.
    С уважением, Станислав.

    Этот пользователь поблагодарил CityAceE за это полезное сообщение:

    GlueLogic(01.04.2025)

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,391
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если не менять "ГСЧ", то например так

    Скрытый текст

    Код:
        org    0
        
        ld    bc, 0x9000
        ld    hl, 0x1234
    m1:
        ld    d, h
        ld    e, l
        add    hl, hl
        add    hl, hl
        add    hl, de    ; HL=HL*5
        inc    hl    ; +1
        
        ld    a, h
        out    (0xfa), a
        ld    (bc), a
    
        inc    bc
        ld    a, 0xc0
        cp    b
        jp    nz, m1
    
        halt
    [свернуть]

    Этот пользователь поблагодарил ivagor за это полезное сообщение:

    CityAceE(31.03.2025)

  4. #3

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,213
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,644
    Поблагодарили
    572 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А ведь действительно, сохранение HL тут было совершенно излишне!

    Цитата Сообщение от ivagor Посмотреть сообщение
    Если не менять "ГСЧ"
    А есть более короткий вариант с приемлемым распределением?
    С уважением, Станислав.

  5. #4

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,391
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    16 битный LFSR чуть длиннее (8 байт вместо 6), но быстрее и не трогает DE.
    Можно сократить на байт, если заполнять в обратную сторону, от BFFF до 8000h. Тогда проверку окончания можно упростить (xor a\ or b\ jp m,m1), правда будет затираться область 8000-8FFF (не вижу в этом проблемы).

  6. #5

    Регистрация
    01.12.2020
    Адрес
    п. Заволжский
    Сообщений
    33
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    12
    Поблагодарили
    10 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Подобная штука, побитовая экранная ГСЧ-заполнялка
    Вложения Вложения
    • Тип файла: rar filscr.rar (267 байт, Просмотров: 145)
    Последний раз редактировалось lexarr; 05.04.2025 в 13:39.

  7. #6

    Регистрация
    09.09.2024
    Адрес
    г. Рига, Латвия
    Сообщений
    51
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    12
    Поблагодарили
    11 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    Кто сделает короче/быстрее?
    Для Z80 не писал, может ошибусь, но для i8080
    Цитата Сообщение от ivagor Посмотреть сообщение
    inc bc
    ld a, 0xc0
    cp b
    jp nz, m1
    можно заменить на:
    Код:
        INR   C
        JNZ   m1
        INR   B
        MVI   A, 0C0h
        CMP   B
        JNZ   m1
    Мнемоники у Z80 как я понимаю - другие, но команды аналогичные должны быть.
    Чуть длиннее, но немного быстрее.

  8. #7

    Регистрация
    30.12.2018
    Адрес
    г. Москва
    Сообщений
    1,375
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    384
    Поблагодарили
    346 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    Вот такую штуку на досуге написал. Практической ценности нет. Кто сделает короче/быстрее?
    не будет работать на компах с Z80 - из-за команды out.

    Зверинецъ

    Специалист (был когда-то "совсем стандарт") - 1988-2023
    Ленинград1 +256К +AY+BDI+VGA выход +Ethernet (Speccyboot) +Xmodem (115200)+divmmc
    Ленинград2 + CF карта
    Платформа 8085+Z80+CPLD (Специалист МХ2 +SD +FDD +PS/2kbd)
    БК0010-01 стоковый
    [свернуть]

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Расширение цвета и ОЗУ Специалиста
    от barsik в разделе Специалист
    Ответов: 19
    Последнее: 15.07.2022, 04:34
  2. Цвета заставки.
    от derfliegenddehollander в разделе Игры
    Ответов: 10
    Последнее: 15.09.2020, 13:58
  3. Цвета на PAL
    от alone в разделе Графика
    Ответов: 9
    Последнее: 18.01.2013, 19:42
  4. Заполнение чанка
    от GM BIT в разделе Программирование
    Ответов: 3
    Последнее: 12.08.2011, 17:13
  5. EmuzWin - цвета!?
    от newart в разделе Эмуляторы
    Ответов: 11
    Последнее: 21.03.2007, 19:10

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •