User Tag List

Страница 10 из 37 ПерваяПервая ... 67891011121314 ... ПоследняяПоследняя
Показано с 91 по 100 из 361

Тема: Секреты и трюки программирования (в том числе и игр) для РК-86

  1. #91

    Регистрация
    05.04.2013
    Адрес
    Починки, Нижегородская обл.
    Сообщений
    1,371
    Спасибо Благодарностей отдано 
    401
    Спасибо Благодарностей получено 
    647
    Поблагодарили
    255 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Увы, на данный момент поддерживается только 8080, хотя Z80 также планируется сделать.
    А за замечание по хелпу спасибо - поправлю.

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

  3. #92

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Т.е в реальности времена хранения без регенерации намного превосходят паспортные данные.
    А можно ткнуть носом в тот набор микрух которые отвечают за регенерацию ОЗУ?
    И в адрес процедуры загрузки с матафона
    где якобы используется программная регенерация ОЗУ(при отключенном экране)

  4. #93

    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN
    А можно ткнуть носом в тот набор микросхем, которые отвечают за регенерацию ОЗУ? И в адрес процедуры загрузки с магнитофона, где якобы используется программная регенерация ОЗУ (при отключенном ПДП).
    В схеме РК нет узла регенерации памяти, т.к она происходит сама по себе, в ходе считывания ПДП последовательных адресов памяти. Ради этого (чтобы не тратиться на схему регенерации ОЗУ) и "городится весь огород" с программным формированием КСИ, ССИ, бордюров и сдвижкой POSX и POSY на 8 и на 3. Хотя в схеме РК, благодаря наличию межстрочных линий, легко сделать схему регенерации, используя сигнал LC3.

    Подпрограммы RDBYTE и WRBYTE первым делом отключают работу ПДП. Далее, каким-то образом ОЗУ не разрушается, пока что-то грузится с ленты и экран погашен. За счёт чего это достигается, я не знаю (не то вся программа занимает не менее 128 ячеек, отчего при её прогоне считываются все адреса или ещё как-то).

    Код:
    RDBYTE: PUSH    HL
    	PUSH	BC
    	PUSH	DE
    	LD	D,A
    AFB9C:  LD	A,80H
    	LD	(VT_57+8),A
    А вот я не понимаю, почему ВГ75 работает так глупо. У неё есть внутренний буфер объёмом 80 байт. Т.е теоретически ВГ75 может загрузить целиком всю строку длиной до 80 байт. И тогда на время вывода всей строки, всех 10-ти линий растра входящих в строку, ей не придётся запрашивать ПДП и закачивать новые символы для вывода.

    Тогда время простоя процессора сократится в 10 раз и быстродействие из-за ПДП будет падать не на 25%, а всего на чуть-чуть. А сейчас ВГ75 запрашивает данные у ПДП крошечными порциями по 8 байт, отчего, чтобы закачать всю строку в 78 символов, рвёт программу 8 раз за время вывода строки (64 МКСЕК). Старое содержимое строки теряется из-за того, что выведенные символы удаляются из буфера, освобождая место для новых.

    Понятно, что при закачке строки по кусочкам, прогон программы прерывается на более короткий промежуток времени (хотя какая нам разница, если общее время простоя КР580 - то же самое).

    По поводу пользы в играх от ПДП. К сожалению, ВТ57 не умеет качать "память-память". А вот ВТ37 умеет это делать. Поэтому для тех кому нужно мгновенное панорамирование экрана во все стороны, надо ставить ВТ37. Тратится 1 маш.такт на байт. Тогда на пересылку всего экрана размером в 2340 байт будет тратиться 2340:1.77= 1.322 МСЕК. Что позволяет успеть сделать панорамирование во время бордюра по кадрам, что длится в РК86 1*64*10 + 5*64*10= 3.660 МСЕК. Т.е за кадровый бланк можно сдвинуть экран почти 3 раза.
    Последний раз редактировалось barsik; 13.03.2017 в 14:00.

  5. #94

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,926
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    290
    Поблагодарили
    216 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Далее, каким-то образом ОЗУ не разрушается, пока что-то грузится с ленты и экран погашен. За счёт чего это достигается, я не знаю
    Странные манипуляции с регистром SP там не просто так. Во время работы эти подпрограммы постоянно выполняют POP PSW, т.е. читают последовательно из памяти.

  6. #95
    HardWareMan
    Гость

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    А вот я не понимаю, почему ВГ75 работает так глупо. У неё есть внутренний буфер объёмом 80 байт. Т.е теоретически ВГ75 может загрузить целиком всю строку длиной до 80 байт. И тогда на время вывода всей строки, всех 10-ти линий растра входящих в строку, ей не придётся запрашивать ПДП и закачивать новые символы для вывода.

    Тогда время простоя процессора сократится в 10 раз и быстродействие из-за ПДП будет падать не на 25%, а всего на чуть-чуть. А сейчас ВГ75 запрашивает данные у ПДП крошечными порциями по 8 байт, отчего, чтобы закачать всю строку в 78 символов, рвёт программу 8 раз за время вывода строки (64 МКСЕК). Старое содержимое строки теряется из-за того, что выведенные символы удаляются из буфера, освобождая место для новых.
    ПДП+ВГ75 делают ту же работу, что и канал #0 первого ПДП у IBM PC. Сам догадаешься, или подсказать?

  7. #96

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,926
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    290
    Поблагодарили
    216 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    А вот я не понимаю, почему ВГ75 работает так глупо. У неё есть внутренний буфер объёмом 80 байт. Т.е теоретически ВГ75 может загрузить целиком всю строку длиной до 80 байт. И тогда на время вывода всей строки, всех 10-ти линий растра входящих в строку, ей не придётся запрашивать ПДП и закачивать новые символы для вывода.
    Я больше скажу: у ВГ75 два 8-битных буфера по 80 байт, и два 7-битных по 16 байт. И вся строка целиком грузится в течении вывода всех 10-ти (сколько запрограммировано) линий растра. Из одного буфера выводится, в другой грузится, потом меняются местами. Дополнительные буферы по 16 байт - это для кодов символов, если атрибут не должен занимать знакоместо. Хотя на самом деле атрибут всегда занимает знакоместо, просто выводится либо пробел (или символ с кодом ноль - тут я не в курсе), либо символ из 16-байтного буфера.

  8. #97

    Регистрация
    31.01.2007
    Адрес
    Москва
    Сообщений
    810
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    77
    Поблагодарили
    59 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Посчитал такты в emu80 v4 получилось ~23400, без понимания как вейтится подбирать последовательности комманд не знаю как.
    Последний раз редактировалось krt17; 15.03.2017 в 18:22.

  9. #98

    Регистрация
    05.04.2013
    Адрес
    Починки, Нижегородская обл.
    Сообщений
    1,371
    Спасибо Благодарностей отдано 
    401
    Спасибо Благодарностей получено 
    647
    Поблагодарили
    255 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    krt17, Поясни, какие такты ты считаешь, что это за тест по ссылке выше и что нужно проверить?

  10. #99

    Регистрация
    31.01.2007
    Адрес
    Москва
    Сообщений
    810
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    77
    Поблагодарили
    59 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Pyk Посмотреть сообщение
    krt17, Поясни, какие такты ты считаешь, что это за тест по ссылке выше и что нужно проверить?
    Я считаю такты в 1 кадре, нужно для понимания на что собственно рассчитывать коду для 50 fps и сколько займет обработка кадров. В верхнем левом углу пишется 3 байтовое число, это и есть собственно число тактов +/- немного, оно шестнадцатеричное, так проще выводить. Экран я просто заполняю, проверял при максимальном заполнении как бы, это я так понял не влияет.
    По отображению не совсем понятно, вот эти поля обязательны по краям или можно использовать а 8275 сам бланки сделает?

  11. #100

    Регистрация
    05.04.2013
    Адрес
    Починки, Нижегородская обл.
    Сообщений
    1,371
    Спасибо Благодарностей отдано 
    401
    Спасибо Благодарностей получено 
    647
    Поблагодарили
    255 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ага, понял, уже и в коде увидел.
    Заполнение не влияет.
    Поля обязательны, при выводе на телевизор они не помещаются на экране. В эмуляторе они показываются, а на реальном ТВ или мониторе поместится не все - где-то больше, где-то меньше.
    В принципе, наверное можно чуть расширить картинку с 31 до 32 строк (если использовать 8 скан-линий) - в экран ТВ должно влезть, да и цифра "круглее" получается. Но в стандартный диапазон видеопамяти наверное уже не поместится, даже с использованием F1, нужно будет использовать другую область памяти и перепрограммировать ПДП.

    А цифра на первый взгляд получилось немного расходящейся с теоретической, пока не понял причину. Я прикину еще и на реале потестирую...
    Последний раз редактировалось Pyk; 13.03.2017 в 21:50.

Страница 10 из 37 ПерваяПервая ... 67891011121314 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 210
    Последнее: 26.07.2019, 11:45
  2. Ответов: 6
    Последнее: 07.02.2016, 11:55
  3. Трюки с контроллером FDD 82077
    от Titus в разделе Утилиты
    Ответов: 4
    Последнее: 10.06.2011, 19:17

Ваши права

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