ох, Лёха, Лёха.
чот сходу не удалось переделать скрипт, чтоб ему не требовалось это недоразумение, поэтому прикрепляю tbl.bin.
если надо, напишу на сях конвертер.
Вложение 80003
Вид для печати
ох, Лёха, Лёха.
чот сходу не удалось переделать скрипт, чтоб ему не требовалось это недоразумение, поэтому прикрепляю tbl.bin.
если надо, напишу на сях конвертер.
Вложение 80003
Шикарно! Всё работает, спасибо!
Кстати, господа, поделитесь инфой, как настроить ВГ75 (и ВТ55, если это тоже надо) А то стандартный режим в 86РК.. Ну не то чтобы меня не устраивал, но хочется большего. Нашел (не скажу где) код, который переключает режим 38 строк + 1 на растр и переключает адрес видеопамяти на 4000h. Но вот комментариев там для меня явно недостаточно... Хотя сам код работает, как выяснилось... Правда после переключения адреса видеопамяти использовать стандартные подпрограммы не представляется возможным, но это мелочь ведь... Пока что так, но теряется синхронизация.
Или ВТ57 все равно перенастраивать надо?Цитата:
MVI A,0 ; формат экрана
STA 0C001h
MVI A,4dh ; 78 колонок
STA 0C000h
MVI A,1Eh ; 30 строк, чтобы не менять адрес видеопамяти
STA 0C000h
MVI A,76h ; 7 линий в знакоместе (без пропуском между строками)
STA 0C000h
MVI A,53h ; 0101.0011 - чорт знает, что это
STA 0C000h
MVI A,27h ; команда начала отображения
STA 0C001h
LDA 0C001h; очищаем байт прерывания
WAIT: LDA 0C001h
ANI 20h ; ждем бит запроса на прерывание VRTC
JZ WAIT
JMP 0F86Ch ; возврат в Монитор
Если используется приведённый выше пример кода, то синхронизация потеряется. Там выставлено 32 строки высотой по 7 линий, итого 224 строки растра. Для устойчивой синхронизации нужно примерно +-310 строк для 50 Гц и +-258 для 60Гц.
ВТ57 требуется перенастраивать, если в новом режиме отличается размер экранной области (в байтах).
То есть, для режима в 7 байт в строке нужно установить 44 строки? Тогда и получим 310 строк TV-изображения. А только адресное пространство будет ощутимо больше чем на стандартные настройки РК и переносить адрес видеопамяти все равно придется... Но, спасибо за пинок в нужную сторону.
Тут как бы такое - если уж изменяешь видеорежим, то почему бы заодно не изменить и адрес экрана и его размер. Обычно видеорежим же меняют чтоб показать что-то отличное от стандартного монитора - например для игры. А тогда и всё остальное всё-равно уже будет своё самописное, а не стандартные процедуры из монитора. Так то это больше миф, что экран (или тот же стек) намертво прибит гвоздями и ничего менять нельзя (особенно нельзя использовать нестандартные процедуры, ага))))).
Я подбирал режим программой: https://zx-pk.ru/threads/33056-progr...t75%C2%BB.html
Но, в эмуляторе Emu80. А в эмуляторе как понять, что синхронизация сбивается?
Ага, вижу...
У меня глюков нет т.к. у меня 30 строк, а не 30 + 1.
И снова вопрос к уважаемой общественности! Правильно ли будет использовать именно такой режим для современных мониторов / телевизоров?Код:LXI HL, KR580VG75 + 1
; Скрываем курсор
MVI M, 080h
DCR L
MVI M, 0FFh
MVI M, 0FFh
; Останов КР580ВГ57
INR L
MVI M, 0
DCR L
MVI M, 04Dh ; 78 столбцов
MVI M, 01Dh ; 30 строк, 3F -> 63 строки
MVI M, 076h ; 8 линий в знакоместе
MVI M, 053h ; 0101.0011
; Старт КР580ВГ57
INR L
MVI M, 027h
CALL VG75_READY
Хочу оставить так, для хотя бы кривой совместимости с эмуляторами, которые слабо поддерживают ВГ75. А разрешения псевдографики мне и так хватает, ибо про псевдографику...
Куча спрайтов гуглится по запросу "1 bit art". Вот я стал переносить некоторые спрайты, но радости не получил т.к. у нас пропорции псевдопикселя не квадратные, а прямоугольные. В итоге спрайты получаются гротескно вытянутые по высоте. Похоже что графику придется переизобретать для 86РК.
Проще всего использовать мою утилиту bin2tape. Поддерживает все форматы РК-подобных ПК и некоторые другие.
- - - Добавлено - - -
А еще он не поддерживает выдачу информации об обратном ходе луча...
- - - Добавлено - - -
Vinxru делал даже проще - просто ПДП программировался на буфер удвоенной длины. В каждой половине буфера свой полукадр, и не нужно ничего переключать.
- - - Добавлено - - -
Как вариант, можно еще в конец экранной области занести байт F3 (End of Screen - Stop DMA). Иногда может быть полезно.
- - - Добавлено - - -
Не совсем. Этот режим даст параметры развертки, близкие к NTSC (около 62 Гц). Современные ТВ должны без проблем этот режим растянуть, но как-то это не аккуратно - не наш стандарт все-таки...
Да и старое оборудование поведет себя непредсказуемо. Лучше запрограммировать на 37 строк, что, во-первых, позволит использовать бОльшее количество строк на экране (32 видимых), а во-вторых, даст практически стандартные параметры вертикальной развертки.