Увы, на данный момент поддерживается только 8080, хотя Z80 также планируется сделать.
А за замечание по хелпу спасибо - поправлю.
Увы, на данный момент поддерживается только 8080, хотя Z80 также планируется сделать.
А за замечание по хелпу спасибо - поправлю.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
В схеме РК нет узла регенерации памяти, т.к она происходит сама по себе, в ходе считывания ПДП последовательных адресов памяти. Ради этого (чтобы не тратиться на схему регенерации ОЗУ) и "городится весь огород" с программным формированием КСИ, ССИ, бордюров и сдвижкой POSX и POSY на 8 и на 3. Хотя в схеме РК, благодаря наличию межстрочных линий, легко сделать схему регенерации, используя сигнал LC3.Сообщение от NEO SPECTRUMAN
Подпрограммы RDBYTE и WRBYTE первым делом отключают работу ПДП. Далее, каким-то образом ОЗУ не разрушается, пока что-то грузится с ленты и экран погашен. За счёт чего это достигается, я не знаю (не то вся программа занимает не менее 128 ячеек, отчего при её прогоне считываются все адреса или ещё как-то).
А вот я не понимаю, почему ВГ75 работает так глупо. У неё есть внутренний буфер объёмом 80 байт. Т.е теоретически ВГ75 может загрузить целиком всю строку длиной до 80 байт. И тогда на время вывода всей строки, всех 10-ти линий растра входящих в строку, ей не придётся запрашивать ПДП и закачивать новые символы для вывода.Код:RDBYTE: PUSH HL PUSH BC PUSH DE LD D,A AFB9C: LD A,80H LD (VT_57+8),A
Тогда время простоя процессора сократится в 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.
Я больше скажу: у ВГ75 два 8-битных буфера по 80 байт, и два 7-битных по 16 байт. И вся строка целиком грузится в течении вывода всех 10-ти (сколько запрограммировано) линий растра. Из одного буфера выводится, в другой грузится, потом меняются местами. Дополнительные буферы по 16 байт - это для кодов символов, если атрибут не должен занимать знакоместо. Хотя на самом деле атрибут всегда занимает знакоместо, просто выводится либо пробел (или символ с кодом ноль - тут я не в курсе), либо символ из 16-байтного буфера.
Посчитал такты в emu80 v4 получилось ~23400, без понимания как вейтится подбирать последовательности комманд не знаю как.
Последний раз редактировалось krt17; 15.03.2017 в 18:22.
krt17, Поясни, какие такты ты считаешь, что это за тест по ссылке выше и что нужно проверить?
Я считаю такты в 1 кадре, нужно для понимания на что собственно рассчитывать коду для 50 fps и сколько займет обработка кадров. В верхнем левом углу пишется 3 байтовое число, это и есть собственно число тактов +/- немного, оно шестнадцатеричное, так проще выводить. Экран я просто заполняю, проверял при максимальном заполнении как бы, это я так понял не влияет.
По отображению не совсем понятно, вот эти поля обязательны по краям или можно использовать а 8275 сам бланки сделает?
Ага, понял, уже и в коде увидел.
Заполнение не влияет.
Поля обязательны, при выводе на телевизор они не помещаются на экране. В эмуляторе они показываются, а на реальном ТВ или мониторе поместится не все - где-то больше, где-то меньше.
В принципе, наверное можно чуть расширить картинку с 31 до 32 строк (если использовать 8 скан-линий) - в экран ТВ должно влезть, да и цифра "круглее" получается. Но в стандартный диапазон видеопамяти наверное уже не поместится, даже с использованием F1, нужно будет использовать другую область памяти и перепрограммировать ПДП.
А цифра на первый взгляд получилось немного расходящейся с теоретической, пока не понял причину. Я прикину еще и на реале потестирую...
Последний раз редактировалось Pyk; 13.03.2017 в 21:50.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)