User Tag List

Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 19 из 19

Тема: Как на РК вывести символ с кодом 07h ?

  1. #11

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

    По умолчанию

    Боюсь, что barsik прав, и вывести этот код штатными средствами Монитора действительно нельзя. Если это поможет, могу подсказать еще один способ. Дело в том, что в первых двух ячейках системной области Монитора хранится адрес позиции видео-ОЗУ, в которой в настоящее время находится курсор. В РК-86, Партнере и Микроше это адреса 7600-7601H, но в Апогее - E100-E101, в а РК-86 16Кб - 3600-3601H.

  2. #12
    HardWareMan
    Гость

    По умолчанию

    А перехватить вывод символа нельзя? Там же вроде хук был в ОЗУ. По крайней мере в Специалисте был и можно было подменить на печать на принтер.

  3. #13

    Регистрация
    14.05.2013
    Адрес
    г. Москва
    Сообщений
    264
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    14
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В любом случае F809 - медленно. И универсальный код для таких машин все равно бессмысленнен.

  4. #14

    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,234
    Спасибо Благодарностей отдано 
    490
    Спасибо Благодарностей получено 
    989
    Поблагодарили
    641 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Джентльмены, всем спасибо, вопрос исчерпан - от идеи использовать псевдографику отказываюсь в пользу "порнографических" минусиков-плюсиков, зато которые "унисекс".
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  5. #15

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

    По умолчанию

    Цитата Сообщение от Denn
    Если речь про математику ПДП...
    Не знаю что за математика ПДП. Или Вы так обзываете наглые программы, которые нагло лезут в экранное ОЗУ. ПДП здесь не при чём. Программисту для чисто текстового режима не требуется знать о "железе", о микросхеме ПДП ВТ57, так как, каким способом символы визуализируются нас не волнует. Если Вы хотите делать универсальные программы РК-ОРИОНА, то Вам доступна всего одна функция, реализуемая искейп-кодом 1B,59. Таким образом Ваше нежелание определять тип машины, обрекает на усложнённые или убогие программы (убогие, в смысле без окон, а вывод рамок, как я понял, нужен для обрамления окон).

    Поясняю. Подпрограммы F81E (запрос координат курсора) в РК и ОРИОНЕ отличаются, так что в универсальной программе это Вы использовать не сможете (посмотрите мой предыдущий пост). В РК86 есть п/п-мма RD_SYM (F821), позволяющая считывать символ с позиции курсора. Но в ОРИОНЕ такой подпрограммы нет. Таким образом чтобы в корректной и универсальной программе иметь окна, или придётся перевыводить весь экран заново по закрытию окна, или же иметь в ОЗУ свою текстовую копию экрана, что позволит по закрытию окна восстановить экран под окном.

    Кстати, без определения типа клона РК86, Вы не сможете выводить цвет. Это ещё один довод в пользу определения типа машины для универсальных программ.


    - - - Добавлено - - -


    Цитата Сообщение от Denn
    от идеи использовать псевдографику отказываюсь
    Напрасно.

    Pyk предложил отличный вариант решающий все Ваши проблемы. Но надо только определить тип машины РК+клон или ОРИОН. И если это РК или РК-клон, то просто позиционируете курсор на правый угол окна и из "ячейки абсолютного экранного адреса" 7600 (или E000, если это Апогей) считываете этот адрес и затем кладете по этому адресу код 7. И простейшим способом получается универсальная программа. Кстати, это одновременно способ "вычисления" экранного адреса по координатам.

    Правда, при отказе от псевдографики, Ваша программа смогла бы работать и на других ЭВМ с входами в области F800. Интересно посмотреть полный список всех отечественных ЭВМ, что имеют ПЗУ F800 (тогда можно делать программы сразу для всех них).

    Извиняюсь, что этот пост "вышел" уже после закрытия темы, но начал я его набирать до этого, пару часов назад. Если это так уж фатально, то модераторам следует удалить этот пост.
    Последний раз редактировалось barsik; 13.02.2017 в 05:20.

  6. #16

    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,234
    Спасибо Благодарностей отдано 
    490
    Спасибо Благодарностей получено 
    989
    Поблагодарили
    641 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    barsik, идея с практически халявным обнаружением адреса экранной области целевого символа и записью кода прямо в экран хороша, но не подходит.
    К сожалению, я изначально не совсем корректно сформулировал задачу, сказав что мне это нужно на РК. Как раз основная задача - вывод не на конкретном ПК, а на разных машинах, без какой-либо привязки к аппаратной реализации вывода символов, используя только стандартные подпрограммы.
    У одного РК два варианта ОЗУ, т.е. две разных реализации экрана! Если я для всех 8-биток буду подстраиваться под железо, то код вывода уголка получится больше самой программы, а это уже бессмыслица. Оно не стоит того.
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

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

  8. #17

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

    По умолчанию

    Цитата Сообщение от Denn Посмотреть сообщение
    Вывод кода 07h стандартными подпрограммами Монитора (F809h и F818h) выводит звуковой сигнал, что в общем-то логично.
    трипл феиспальм
    никак не логично
    подстраиваться под ненужные функции какого то дремучего стандарта в ущерб функциональности
    при этом делать один и тот же комп с разной картой памяти
    городить городуху чтоб комп стартовал не 0000h адреса для совместимости с каким то мифическим цпм под который ничего кроме компиляторов то и нет (вообще кто додумался лепить туда не ПЗУ изначально скажите мне????)
    а потом ищо писать, что разработчик настоятельно рекомендует использовать стандартные подпрограммы пзу для обеспечения совместимости...

  9. #18

    Регистрация
    10.07.2005
    Адрес
    Ставрополь
    Сообщений
    1,158
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    61
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Немного отвлеку от основной темы, но для РКшки уважаемый Alex_LG уже давно сваял возможность загружаемого знакогенератора, http://zx-pk.ru/threads/20714-pomech...l=1#post713206 . Так что псевдографика немного устарела...

  10. #19

    Регистрация
    08.02.2015
    Адрес
    г. Санкт-Петербург
    Сообщений
    242
    Спасибо Благодарностей отдано 
    15
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от rw6hrm Посмотреть сообщение
    возможность загружаемого знакогенератора,
    не подходит, потому как

    Цитата Сообщение от Denn Посмотреть сообщение
    пишу ПО, которое обязано работать на совершенно разных железках

Страница 2 из 2 ПерваяПервая 12

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

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

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

Похожие темы

  1. Помогите вывести видео со спека
    от NehakeR в разделе Несортированное железо
    Ответов: 29
    Последнее: 12.03.2023, 09:22
  2. Как правильно вывести AY, бипер и TAPE со Spectrum +2 Black (ISSUE 4) ?
    от ZX_NOVOSIB в разделе Зарубежные модели
    Ответов: 23
    Последнее: 24.06.2014, 08:05
  3. СИМВОЛ
    от D-M в разделе Клоны на ПЛИС, МК и БМК
    Ответов: 11
    Последнее: 22.07.2006, 18:26
  4. Быстро вывести число 0-255 на экран
    от Aprisobal в разделе Программирование
    Ответов: 7
    Последнее: 26.01.2005, 08:05

Ваши права

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