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

User Tag List

Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 24

Тема: Глупый вопрос от новичка про такты и кадры

  1. #1
    Junior Аватар для trefas
    Регистрация
    24.12.2019
    Адрес
    г. Волгоград
    Сообщений
    2
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Глупый вопрос от новичка про такты и кадры

    Прошу не пинать. В сети и тут на форуме поискал, тесты провел.
    Никак в толк не возьму как правильно привязываться к кадрам.
    Понимаю, что машинный такт это при 3.5Мгц, т.е. 1/3500000 секунды и команды кушают их по нескольку штук за раз (знаю про таблицы с указанием тактов)
    Понимаю, что ULA 50 раз в секунду шарится в ОЗУ и данные из экранной области и области атрибутов превращает в картинку на экране.
    Таким образом между кадрами есть порядочное количество машинных тактов, чтобы поменять картинку и получить по максимуму 50 кадров в секунду.

    Вроде как команда HALT тормозит ЦП до ближайшего кадра

    Почему тогда такой код (ниже) не приводит к желаемому результату - смешение цветов:
    10 ORG 28000
    20 ENT $
    30 LD HL,22865
    40 loop LD A,8 ; синий paper для знакоместа в центре экрана
    50 LD (HL),A
    60 HALT
    70 LD A,48 ; желтый
    80 LD (HL),A
    90 HALT
    100 JR loop

    Но получаю мерцание
    Надо видимо юзать прерывания, а не HALT, но я с ними пока на вы. Если не сложно, покажите кто-нибудь на примере этой задачи нужный код. Потому как дизассемблить демки в поисках реализации мультиколора не вариант. Остатка моей жизни на это не хватит

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

  3. #2
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,550
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    270
    Спасибо Благодарностей получено 
    224
    Поблагодарили
    178 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от trefas Посмотреть сообщение
    Понимаю, что ULA 50 раз в секунду шарится в ОЗУ
    неправильно понимаешь, на самом деле юла "шарится в озу" аж 614 400 раз в секунду
    и к тому же неравномерно, с перерывами на бордюр, но во время вывода растра - каждые 4 такта гребёт два байта
    Прихожу без разрешения, сею смерть и разрушение...

  4. #3
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,560
    Спасибо Благодарностей отдано 
    1,223
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от trefas Посмотреть сообщение
    Но получаю мерцание
    Правильно, будет мерцание. Один кадр синий квадратик, другой желтый.

    А что ты хотел получить?

  5. #4
    Veteran
    Регистрация
    07.10.2006
    Сообщений
    1,643
    Спасибо Благодарностей отдано 
    243
    Спасибо Благодарностей получено 
    249
    Поблагодарили
    155 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от trefas Посмотреть сообщение
    Надо видимо юзать прерывания, а не HALT, но я с ними пока на вы. Если не сложно, покажите кто-нибудь на примере этой задачи нужный код. Потому как дизассемблить демки в поисках реализации мультиколора не вариант. Остатка моей жизни на это не хватит
    Программа правильная, её можно даже на бейсике писать. Только если ты её запускаешь на эмуляторе на PC, из-за разных частот обновления монитора (60Гц) и обновления экрана Спектрума (50Гц) на эмуляторах Спектрума на PC будет мерцание более сильное и неравномерное, чем на реальном Спектруме - на котором оно будет хоть и заметным, но равномерным, и в целом даст смешивание цветов. Но мерцание никуда не денется, гигаскрин и мерцание завязаны.

    - - - Добавлено - - -

    Цитата Сообщение от weiv Посмотреть сообщение
    поисках реализации мультиколора
    Мультиколором на Спектруме называется отображение более двух стандартных цветов в одном знакоместе, получение новых цветов покадровым смешиванием обычно называется гигаскрин.
    Последний раз редактировалось Spectramine; 31.12.2019 в 01:21.

  6. #5
    Junior Аватар для trefas
    Регистрация
    24.12.2019
    Адрес
    г. Волгоград
    Сообщений
    2
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Спасибо за ответы.

  7. #6
    Veteran Аватар для Destr
    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,802
    Спасибо Благодарностей отдано 
    249
    Спасибо Благодарностей получено 
    113
    Поблагодарили
    87 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Никогда не получишь 50 в сек, ибо железо так и не привели в порядок.
    Максимум что можно сделать - убрать IM1 (свой обработчик прерываний сделать придётся, IM2 который)
    А лучше их вообще убрать. HALT ловить и после него по-шустрому что нужно рисовать
    И потом (когда кадр отрисовался) так-же шустро убирать...
    Только так из спека можно вытащить хоть какой-то видеопоток...
    Всё это жуткое колдунство, тут только асм в помощь, никакие бейсики-паскали-и прочие дела не помогут...
    Пичаль, но жёсткий код - единственное что сможет...

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

    Oleg N. Cher (02.01.2020)

  9. #7
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,560
    Спасибо Благодарностей отдано 
    1,223
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Destr Посмотреть сообщение
    Никогда не получишь 50 в сек, ибо железо так и не привели в порядок.
    Что за ерунда. Какое железо? В какой порядок?

  10. #8
    Veteran Аватар для Destr
    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,802
    Спасибо Благодарностей отдано 
    249
    Спасибо Благодарностей получено 
    113
    Поблагодарили
    87 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    У тебя попытка неплохая, но если разобратся - устанавливаешь тупо переменные, за тебя их обрабатывает ПЗУ
    А это очень и очень неторопливый зверь...

    - - - Добавлено - - -

    Титус. Стандарта нет и не было никогда. Разве что фирменный спек (но кто его видел?)

    - - - Добавлено - - -

    И даже дам пощупай осциллографом - растактовка гуляет как последняя шалава на разных сборках...

    - - - Добавлено - - -

    На Большом Адронном Коллайдере наконец-то добрались до Гейнзенберга, но до чистого кристалла задающей частоты - ещё как до Китая на карачках...
    Грустно всё это, но в целом - спек как-то живёт (ну в смысле справляемся, кодим что-то )

  11. #9
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,560
    Спасибо Благодарностей отдано 
    1,223
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Destr Посмотреть сообщение
    Титус. Стандарта нет и не было никогда. Разве что фирменный спек (но кто его видел?)
    Не пугай человека.
    Отмечай новый год)

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

    Destr (31.12.2019)

  13. #10
    Veteran Аватар для Destr
    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,802
    Спасибо Благодарностей отдано 
    249
    Спасибо Благодарностей получено 
    113
    Поблагодарили
    87 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ок
    Я просто для справки
    И кстати - поздравте меня братишки - я не зря видимо так упорно ковырялся со всяким электронных хламом...
    Назначили админом области...
    Отмечаю, радуюсь, офигеваю, перевариваю...
    Даже как-то неожиданно (думал будет через пару лет, а тут так сразу...)

    - - - Добавлено - - -

    Тест прикольный придумал:
    Как узнать что пить уже хватит
    Берёшь 2 стакана (обычные, советские, 200 гр.)
    Наливаешь один водки
    Второй воды
    Закрываешь глаза
    Рандомно берёшь любой
    Пьёшь
    Если не понял где вода а где водка - знчит хватит...

    - - - Добавлено - - -

    Rindex хлопает в ладоши!

    - - - Добавлено - - -

    (как скучаю по Дэну порой, прикольный чел был, ладно встретимся ещё...)

Страница 1 из 3 123 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Глупый вопрос про Ikari Warriors
    от Doronetty в разделе Amiga
    Ответов: 6
    Последнее: 04.02.2015, 21:55
  2. Глупый вопрос
    от GNTB в разделе Разный софт
    Ответов: 11
    Последнее: 26.03.2014, 17:08
  3. Интересный вопрос про циклы и такты
    от Володя Березин в разделе Программирование
    Ответов: 5
    Последнее: 09.02.2009, 07:12
  4. Глупый вопрос
    от Soplik в разделе Зарубежные компьютеры
    Ответов: 2
    Последнее: 19.03.2006, 15:50

Ваши права

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