Последние темы
» Вити больше нет!автор bug19 Пн Фев 20 2023, 19:54
» Собираем оригинальный Орион 128
автор bug19 Пн Фев 20 2023, 19:47
» Проблема плющеного экрана ОРИОНА
автор kanzler Пн Ноя 28 2022, 12:05
» Орион 128 и его клоны возрождение 2019-2022 год
автор kanzler Пн Ноя 28 2022, 12:03
» Электроника КР-04. Информация, документы, фото.
автор kanzler Пн Ноя 28 2022, 12:02
» Новости форума
автор kanzler Пн Ноя 28 2022, 11:52
» Орион-128 НГМД запуск 2021 года
автор matrixplus Сб Сен 10 2022, 17:36
» ПЗУ F800 для РК86
автор ведущий_специалист Сб Сен 10 2022, 10:37
» Микропроцессорная лаборатория "Микролаб К580ИК80", УМК-80, УМПК-80 и др.
автор Электротехник Вт Июл 26 2022, 19:33
» Орион-128 SD карта в Орионе
автор matrixplus Чт Июн 02 2022, 09:00
» 7 Мая. День Радио!
автор Viktor2312 Чт Май 12 2022, 10:58
» Серия: Массовая радио библиотека. МРБ
автор Viktor2312 Ср Май 11 2022, 12:17
» Полезные книги
автор Viktor2312 Пн Май 09 2022, 15:07
» Орион 128 Стандарты портов и системной шины Х2
автор matrixplus Вс Май 08 2022, 23:08
» Орион-128 и Орион ПРО еще раз про блоки питания
автор matrixplus Вс Май 08 2022, 19:09
» Орион-128 Программаторы
автор matrixplus Вс Май 08 2022, 19:02
» Орион ПРО история сборки 2021 до 2022
автор matrixplus Вс Май 08 2022, 18:47
» Анонсы монет (New coin).
автор Viktor2312 Сб Май 07 2022, 23:11
» Хочу свой усилок для квартиры собрать не спеша
автор Viktor2312 Сб Май 07 2022, 19:33
» Амфитон 25у-002С
автор Viktor2312 Сб Май 07 2022, 09:38
» Майнер: T-Rex
автор Viktor2312 Вс Май 01 2022, 09:12
» GoWin. Изучение документации. SUG100-2.6E_Gowin Software User Guide. Среда разработки EDA.
автор Viktor2312 Пн Апр 25 2022, 01:01
» GoWin. Изучение документации. UG286-1.9.1E Gowin Clock User Guide.
автор Viktor2312 Сб Апр 23 2022, 18:22
» GoWin. Documentation Database. Device. GW2A.
автор Viktor2312 Ср Апр 20 2022, 14:08
» GOWIN AEC IP
автор Viktor2312 Ср Апр 20 2022, 12:08
Самые активные пользователи за месяц
Нет пользователей |
Поиск
ПЭВМ "Специалист": Вопросы программирования
Страница 1 из 1 • Поделиться
ПЭВМ "Специалист": Вопросы программирования
1
Данная тема создана с перспективой на будущее и вообще потому, что такое существует в природе. Я выложу здесь ту информацию, которая мне доступна и как вроде связанна с данной темой. В надежде, что пользователи поправят меня, если что, и дополнят тему в будущей перспективе...
Viktor2312- RIP
- Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск
Viktor2312- RIP
- Сообщения : 15492
Дата регистрации : 2012-08-10
Возраст : 45
Откуда : Пятигорск
смена фонта резидентного драйвера
3
У Специалиста, точнее в его базовом ROM-BIOS есть одно свойство, которое уже несколько раз (с интервалом в десятки лет) заставляло меня усомниться в своих умственных способностях. В ПЗУ загрузчика есть одна ошибка, которая заключается в том, что в ячейки где хранится адрес фонта можно подставлять не любой адрес.
Эти ячейки предназначены для того, чтобы можно было оперативно менять фонт, без необходимости перезашивки ПЗУ. Это используется, например, в драйвере КОИ-8 Зверкова. В ОРИОНЕ тоже есть такие же ячейки, служащие для смены фонта. Но там они реально работают без нареканий. Казалось бы, что сложного - подставил адрес своего фонта в ячейки и пользуйся. Но иногда подставишь в эти ячейки адрес фонта, а на экран вместо символов выводится мусор. Кому в голову придёт, что это ПЗУ дохлое, ведь раньше тот же код (лишь для другого адреса драйвера) прекрасно работал. Потому никак не подумаешь, что это в ПЗУ А.Волкова ошибка. Потому трахаешься с этим и постепенно начинаешь думать, что уже свихнулся, перестал понимать работу процессора КР580 и следует перейти на более примитивный процессор 6502.
Эти ячейки предназначены для того, чтобы можно было оперативно менять фонт, без необходимости перезашивки ПЗУ. Это используется, например, в драйвере КОИ-8 Зверкова. В ОРИОНЕ тоже есть такие же ячейки, служащие для смены фонта. Но там они реально работают без нареканий. Казалось бы, что сложного - подставил адрес своего фонта в ячейки и пользуйся. Но иногда подставишь в эти ячейки адрес фонта, а на экран вместо символов выводится мусор. Кому в голову придёт, что это ПЗУ дохлое, ведь раньше тот же код (лишь для другого адреса драйвера) прекрасно работал. Потому никак не подумаешь, что это в ПЗУ А.Волкова ошибка. Потому трахаешься с этим и постепенно начинаешь думать, что уже свихнулся, перестал понимать работу процессора КР580 и следует перейти на более примитивный процессор 6502.
barsik- Ветеран
- Сообщения : 1032
Дата регистрации : 2016-11-10
Откуда : Россия, СПб
Re: ПЭВМ "Специалист": Вопросы программирования
4
А если исправить этот баг?
Вообще, имхо, надо было сразу сделать поддержку двух фонтов: 6х8 и 8х8, потому что второй на порядок быстрее. Интерфейс Коммандера или того же RAMFOS от этого только выиграл бы - не было бы такого мучительно медленного перерисовывания (RAMFOS так вообще однопанельный, ему фонт 8х8 - то что доктор прописал). Большинство софта Специалиста - это игры, а их дизайн тривиально адаптировать под фонт 8х8. Игры от быстрых фонтов тоже только выиграли бы!
Единственное, где узкий шрифт полезен - это текстовый редактор, чтобы больше информации влезло. И то, для Ассемблера это нафиг не надо, листинг все равно узкий. Бейсик - да. А для чего ещё текстовый редактор нужен на Специалисте?
Если уж говорить про настоящий текстовый редактор, то у архитектуры Специалиста есть уникальное отличие от прочих 8-биток, которое почему-то было проигнорировано. Он ведь имеет графический экран! Зачем было везде использовать эмуляцию моноширинного шрифта, когда ему просто прописан был шрифт с символами переменной ширины! Тем более Биос уже из коробки умеет рисовать символы в любых координатах экрана, а не только кратных 8. Доработка не такая уж сложная: надо лишь к каждому символу добавить его ширину, для этого достаточно 3 бит, которые можно записать в левый нижний угол символа, который редко используется, а при выводе на экран занулять их. Биос дополнить функцией, вычисляющей длину строки текста в пикселях. Ну и конечно должен быть полноценный знакогенератор с заглавными и строчными буквами, английскими и русскими. Этого было бы достаточно для реализации крутого текстового редактора с такими шрифтами, каких нигде больше не было.
Я в свое время пытался сделать такой драйвер текста, причем символы в знакогенераторе 8х8 имели такой дизайн, чтобы отбрасыванием двух столбцов пикселей (кажется, второго и пятого) получить 6х8. Это колоссально экономило память, хотя вывод шрифтов 6х8 становился ещё медленней.
Вообще, имхо, надо было сразу сделать поддержку двух фонтов: 6х8 и 8х8, потому что второй на порядок быстрее. Интерфейс Коммандера или того же RAMFOS от этого только выиграл бы - не было бы такого мучительно медленного перерисовывания (RAMFOS так вообще однопанельный, ему фонт 8х8 - то что доктор прописал). Большинство софта Специалиста - это игры, а их дизайн тривиально адаптировать под фонт 8х8. Игры от быстрых фонтов тоже только выиграли бы!
Единственное, где узкий шрифт полезен - это текстовый редактор, чтобы больше информации влезло. И то, для Ассемблера это нафиг не надо, листинг все равно узкий. Бейсик - да. А для чего ещё текстовый редактор нужен на Специалисте?
Если уж говорить про настоящий текстовый редактор, то у архитектуры Специалиста есть уникальное отличие от прочих 8-биток, которое почему-то было проигнорировано. Он ведь имеет графический экран! Зачем было везде использовать эмуляцию моноширинного шрифта, когда ему просто прописан был шрифт с символами переменной ширины! Тем более Биос уже из коробки умеет рисовать символы в любых координатах экрана, а не только кратных 8. Доработка не такая уж сложная: надо лишь к каждому символу добавить его ширину, для этого достаточно 3 бит, которые можно записать в левый нижний угол символа, который редко используется, а при выводе на экран занулять их. Биос дополнить функцией, вычисляющей длину строки текста в пикселях. Ну и конечно должен быть полноценный знакогенератор с заглавными и строчными буквами, английскими и русскими. Этого было бы достаточно для реализации крутого текстового редактора с такими шрифтами, каких нигде больше не было.
Я в свое время пытался сделать такой драйвер текста, причем символы в знакогенераторе 8х8 имели такой дизайн, чтобы отбрасыванием двух столбцов пикселей (кажется, второго и пятого) получить 6х8. Это колоссально экономило память, хотя вывод шрифтов 6х8 становился ещё медленней.
SpaceEngineer- Новичок
- Сообщения : 3
Дата регистрации : 2021-10-12
Похожие темы
» ПЭВМ "Специалист МХ2" ПЛМ
» ПЭВМ Специалист-М
» ПЭВМ Специалист-МХ
» ПЭВМ "Специалист-2a"
» ПЭВМ Специалист-Экспресс
» ПЭВМ Специалист-М
» ПЭВМ Специалист-МХ
» ПЭВМ "Специалист-2a"
» ПЭВМ Специалист-Экспресс
Страница 1 из 1
Права доступа к этому форуму:
Вы не можете отвечать на сообщения