Насколько я понял из темы "Режимы ВГ75" этот трюк с кодом F1 обнаружил и проверил на практике vinxru, который недавно ушёл с сайта и теперь уточнить детали нЕ у кого.
Использование кода F1 позволяет немного сократить размер экранной области, причём, если ставить F1 во всех строках чётко в позицию 72 (это 8+64; 8 это бордёр слева), то, если я правильно понимаю, бордёр справа получается не программным, а аппаратным, т.е ВГ75 сама будет гасить луч, формируя правый бордёр. И при этом программирование даже не усложняется, как будет в случае, если код F1 ставить не в чёткие позиции, а сразу за последним печатаемым символом.
Вообще-то надо увеличивать число строк с 31 до 38, а не до 36, т.к 38*8=304 линии растра, что надо для сохранения частоты кадров (по стандарту надо выводить в кадре 312 линий), а при 36-ти строках получается 36*8=288 линий растра, а частота кадров растёт до (312/288)*50= 54 Герц, что срывает синхронизацию в телевизоре.
В стандартном режиме (что программируется по сбросу) начало любой строки можно посчитать по формуле (76D0 + N_строки * 78), что позволяет четко позиционировать в экране. Если F1 стоит в позиции 72, то мы экономим по 5 символов в 38-ми строках, т.е экономия в 190 байт. Тогда позиция считается так: (76D0 + 73*Y +X). А при использовании кода F1 для максимальной экономии, ставя его за последним печатаемым символом в строке, размер затрачиваемый на каждую строку непредсказуем (в зависимости от числа атрибутов и реальной длины строки).
190 выигранных байт при длине строки в 73 символа дают раздвижку экрана всего на 2 строки, а надо 7 строк. Потому толку от такого трюка при стандартной длине строки в 64 - немного, а если используются атрибуты, то ещё меньше. Только, если сократить отображаемый размер экрана с 64 позиций до 50, на 14 знакомест, что с центровкой сдвинет экран на 7 знакомест вправо, выигрыш в каждой строке составит 7+5= 12 байтов и всего 38*12=456 байтов или 456/(8+50)= ~8 строк. Т.е будем иметь требуемые 38 строк, но уже мизерного экранчика, а остаток линий растра по кадрам можно выиграть увеличив число строк на обратный ход луча по кадрам, что не только сплющит экран, но и визуально поднимет его вверх на 1 строку. Т.е использование трюка с F1 даёт увеличение вертикального размера экрана за счёт сокращения горизонтального размера экрана.
В этом случае экран для использования псевдографики, т.е с шириной строк не в 10, а 8 линий растра влезет в стандартную экранную область 76D0...FFFF.
Однако я считаю, что вместо таких извращений в программировании, проще кинуть 1 проводок от ВГ75 к ПЗУ фонта, прошить фонт извращённым фонтом и получить знакоместо 6*10 (а лучше 8*10, заменив ИЕ4 на ИЕ5), что даёт возможность рисовать сплошные вертикальные линии, т.е сплошные рамки в стандартном режиме дисплея. Однако при этом фонт придётся не до-прошить, а пере-зашить, т.к надо в псевдографике сделать элементарный пиксель высотой не 4 линии, а 5 линий растра. Для текстового вывода строки высотой в 10 линий растра лучше, чем в 8 линий. И главное, фонт красивее и псевдографика "сплошнее" без возни с перепрограммированием режимов ВГ75.
Фонт обычно прошивают извращённым образом для того, чтобы не сдвигать адреса A3...A9 на ПЗУ фонта с целью, чтобы линия LC3 от ВГ75 шла на адрес A3, отчего пригоден обычный фонт с шагом 16. Для сдвижки надо перепаивать проводники на входах ПЗУ фонта - A3 на А4, А4 на А5, А5 на А6... а на А3 сигнал LC3 от ВГ75.
Так вот, те ленивые, что не хотят этого делать, прошивают извращенный фонт 8*10, где линии растра 9 и 10 прошиваются не с отступом 9 и 10 от начала знакоместа, а во второй килобайт, т.е первые 8 линий знакоместа в первом килобайте, а две последние во втором. Шаг в фонте остаётся 8. Но такие извраты не годятся для большого ПЗУ фонта, содержащего кучу спрайтов для игр. Лучше иметь фонты в нормальном виде, с шагом 16, чем извращаться перед прошивкой ПЗУ, да и посмотреть правильный фонт удобно на экране ОРИОНА или СПЕЦИАЛИСТА, а извращённый фонт не посмотришь. Так что надо перепаивать 8 проводников на входе ПЗУ фонта.
- - - Добавлено - - -
Формат ORD это формат в котором файлы ORDOS компьютера ОРИОН хранятся в его квазидисках. Квазидиском, в свою очередь называется банка ОЗУ целиком отданная для хранения файлов в формате ORDOS. Кроме квазидисков в ОРИОНЕ бывают и электронные диски, это диски в формате нормальных ДОС (т.е ДОС в которых есть каталог, фрагментация файлов и размер диска не ограничен в 60К). ORDOS это исторически первая ОС для ОРИОНА использующая в качестве носителя ОЗУ из излишней банки ОРИОНА. Хотя ORDOS туфта и давно вышла из употребления, но формат файлов примененный в ней оказался удобным для хранения файлов на дискетах. По моим данным первым такой формат применили в 1991 или Мистахов в своём PMBB или Мастер Бридж в своём LORD для CP/M.Сообщение от jerri
Формат ORD состоит из метки файла длиной в 16 байтов (иногда это неверно называют ORDOS-заголовком) и собственно самого файла, в котором нет информации о длине и адресах загрузки.
Формат ORD позволяет хранить в метке адрес загрузки, длину файла (хотя и не точную, лишь с кратностью на параграф), а если не зацикливаться на ORDOS, то также КС и дату файла. Недостатком формата является слишком короткое имя всего 8 символов. Для исправления этого недостатка в 90-е годы использовали кодирование 3-х символов расширения одним байтом токеном, который ставится в метке файла в байте с офсетом 0DH. Прилагаю текст, описывающий формат для компьютера ИРИША, использующий формат ORD. У меня файлы для СПЕЦИАЛИСТА, ОРИОНА, РК86 и ИРИШИ хранятся в формате ORD.
Могу конвертировать файлы из формата ORD в формат GAM.




Ответить с цитированием