Важная информация

User Tag List

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

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

  1. #11
    Veteran Аватар для Pyk
    Регистрация
    05.04.2013
    Адрес
    с. Починки, Нижегородская обл.
    Сообщений
    1,181
    Спасибо Благодарностей отдано 
    263
    Спасибо Благодарностей получено 
    457
    Поблагодарили
    182 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  2. #12
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    598
    Поблагодарили
    444 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  3. #13
    Activist
    Регистрация
    14.05.2013
    Адрес
    г. Москва
    Сообщений
    254
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    6
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  4. #14
    Guru Аватар для Denn
    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,220
    Спасибо Благодарностей отдано 
    475
    Спасибо Благодарностей получено 
    900
    Поблагодарили
    592 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  5. #15
    Banned
    Регистрация
    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
    Guru Аватар для Denn
    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,220
    Спасибо Благодарностей отдано 
    475
    Спасибо Благодарностей получено 
    900
    Поблагодарили
    592 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

    По умолчанию

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

  9. #18
    Veteran Аватар для rw6hrm
    Регистрация
    10.07.2005
    Адрес
    Ставрополь
    Сообщений
    1,153
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    57
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  10. #19
    Activist Аватар для Stampmaker
    Регистрация
    08.02.2015
    Адрес
    г. Санкт-Петербург
    Сообщений
    240
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    13
    Поблагодарили
    5 сообщений
    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

Ваши права

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