User Tag List

Страница 28 из 30 ПерваяПервая ... 24252627282930 ПоследняяПоследняя
Показано с 271 по 280 из 361

Тема: Секреты и трюки программирования (в том числе и игр) для РК-86

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    05.04.2013
    Адрес
    Починки, Нижегородская обл.
    Сообщений
    1,387
    Спасибо Благодарностей отдано 
    411
    Спасибо Благодарностей получено 
    661
    Поблагодарили
    259 сообщений
    Mentioned
    27 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Замеченные расхождения:

    0001.rka:
    Оригинал - при одновременной установке атрибутов мерцания и подчеркивания подчеркивание мерцает
    Emu80 и Emu - мерцает только символ, подчеркивание остается. У себя поправлю.

    7.rka:
    Оригинал и Emu80 - курсор присутствует
    Emu - курсор не виден
    (в то время как в 5.rka, например, курсор есть везде, в том числе и в Emu, а в 3.rka курсора нигде нет)

    tst01.rka:
    оригинал и Emu80 - курсор мигает
    Emu - курсор не виден

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

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    Если он установлен он не снимается больше сам по себе
    или в следующем кадре
    Нет, сам по себе не снимается. Даже командой Disable Enterrupt. Может висеть бесконечно, снимается только чтением.
    Или я неправильно понял вопрос?

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

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    я везде ставлю разрешить прерывания
    чтобы запустилось на реале с первой попытки
    Нет необходимости, Start Display вполне достаточно

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

  3. #2

    Регистрация
    05.04.2013
    Адрес
    Починки, Нижегородская обл.
    Сообщений
    1,387
    Спасибо Благодарностей отдано 
    411
    Спасибо Благодарностей получено 
    661
    Поблагодарили
    259 сообщений
    Mentioned
    27 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Pyk Посмотреть сообщение
    Emu80 и Emu - мерцает только символ, подчеркивание остается. У себя поправлю.
    Поправил, заодно и некоторые другие недоработки по ВГ75. В следующей сборке будет.

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

    Цитата Сообщение от zebest Посмотреть сообщение
    Видимо снова в параллельных Вселенных. У меня Ему на этих тестах на двух компьютерах крашиЦЦа. Еще на паре попробовать или у меня снова что то с кривизной?
    Перекачать Emu с сайта и поставить заново?

  4. #3

    Регистрация
    11.01.2008
    Адрес
    Ладошкино
    Сообщений
    1,811
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    386
    Спасибо Благодарностей получено 
    339
    Поблагодарили
    244 сообщений
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Кто-то. Подчистил.
    Profi v3.2 -=- Speccy2010,r2

  5. #4

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

    По умолчанию

    Расматриваю результаты.

    В вашем случае на фон прет содержимое только двух последних знакомест
    точнее участок в одно знакоместо между 2-мя
    (видно по 20-му тесту)

    как и предполагалось в инверсированном виде

    при этом вполне можно смешивать 2 разных цвета (видно по 21-му тесту)

    разрешение довольно высокое
    можно рассмотреть каждую пиксельную строку
    задеркжа в одну строку
    (видно на тестах 29,32)

    при плавной смене цветов искажений(смещение по оси Х) практически не видно

    Для вашего случая тесты 5,7,8,9,10,11,12,13,14,15,16,17,18,28,31,34,37,40
    к сожалению не актуальны

    самое интересное что в данном случае
    фон остается не изменным кроме варианта когда за границей экрана ничего нет вообще (черный бордюр)
    вот тогда фон немножко прибавляет яркости

    а яркость нормально меняется только у светящихся точек...





    ...интересно что это за кубоид справа снизу о_О
    в видео памяти его нет...

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

    Цитата Сообщение от Pyk Посмотреть сообщение
    Похоже, что это в самом Апогее какие-то наводки при пониженной яркости. В общем, вот:
    как по мне хорошее изображение
    стабильное но с какими то шумами
    (чего я не впилил обычный экран без каких либо эффектов о_О)

    щас быстренько сделаю закину

    вот
    0001.zip

    00 - без каких либо эффектов
    с него же стартует

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


    вот последние достижения
    как минимум 56 цветов (4 раза подряд) во всей своей красе
    Нажмите на изображение для увеличения. 

Название:	02.jpg 
Просмотров:	315 
Размер:	30.5 Кб 
ID:	60471
    правда на чернобелом телевизоре
    Последний раз редактировалось NEO SPECTRUMAN; 04.04.2017 в 18:09.

  6. #5

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

    По умолчанию

    тк тут дополнительных цветных результатов тестов по управлению яркостью фона
    до сих пор нету

    обсуждение получения Hires-а переезжает в другую тему
    http://zx-pk.ru/threads/27593-progra...adio-86rk.html

  7. #6

    Регистрация
    21.08.2006
    Адрес
    Ижевск
    Сообщений
    941
    Спасибо Благодарностей отдано 
    23
    Спасибо Благодарностей получено 
    298
    Поблагодарили
    164 сообщений
    Mentioned
    20 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    тк тут дополнительных цветных результатов тестов по управлению яркостью фона
    до сих пор нету
    Может, никому это не нужно
    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    Реквестируются
    результаты (40 фоток\скриншотов) работы на разных телеках\тв тюнерах

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    и впилевание поддержки эффекта в emu80
    Можно. И только ради того что бы показать *****код (рисование на бордюрах)

    Ссылка на некоторые результаты (не вечная).

    ---

    Upd: уточнил название чипа в тюнере. Обновил его драйвера и софт. В новом софте доступна опция режима горизонтальной синxронизации. Снял видео в режиме "Poor Signal".
    Последний раз редактировалось DDp; 16.04.2017 в 16:52.
    фдеукю у-ьфшдЖ ввз"шярюсщь D356 47C0 35F8 F55E 8A52 A88F F3F8 B003 03EB 3D7F

  8. #7

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

    По умолчанию

    Цитата Сообщение от DDp Посмотреть сообщение
    Можно. И только ради того что бы показать *****код (рисование на бордюрах)
    Ну во первых эффект теплый и ламповый (то есть возникает на реальном железе)
    во вторых если я буду что то делать я буду его использовать

    и на помню что в eightyone эмулируются даже помехи от проца на экране...
    (хотя и не на каждом видео на ютубе их и видно(у некоторых идеально чистый экран...))

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

    что то мне сходу не дошло что тапки летят не в мою сторону...

    Цитата Сообщение от DDp Посмотреть сообщение
    Может, никому это не нужно
    может

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

    Да
    результаты 0001.rka.SAA7135.RGB
    впечатляют (меня)
    я ожидал более слабого эффекта
    такие симпатичные цветные градиенты
    вот бы так вели себя все телевизоры!!!

    Нажмите на изображение для увеличения. 

Название:	28.JPG 
Просмотров:	305 
Размер:	38.4 Кб 
ID:	60564Нажмите на изображение для увеличения. 

Название:	18.JPG 
Просмотров:	903 
Размер:	29.6 Кб 
ID:	60561Нажмите на изображение для увеличения. 

Название:	05.JPG 
Просмотров:	288 
Размер:	32.2 Кб 
ID:	60558Нажмите на изображение для увеличения. 

Название:	16.JPG 
Просмотров:	329 
Размер:	34.8 Кб 
ID:	60560Нажмите на изображение для увеличения. 

Название:	26.JPG 
Просмотров:	254 
Размер:	32.0 Кб 
ID:	60563Нажмите на изображение для увеличения. 

Название:	25.JPG 
Просмотров:	235 
Размер:	29.8 Кб 
ID:	60562Нажмите на изображение для увеличения. 

Название:	07.JPG 
Просмотров:	403 
Размер:	25.2 Кб 
ID:	60559

    Цитата Сообщение от DDp
    а видео даже еще лучше
    видно чаво нельзя делать
    и как при этом срывается синхронизация

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

    Цитата Сообщение от DDp Посмотреть сообщение
    (не вечная).
    оставьте 0001.rka.SAA7135.RGB
    выглядит не плохо
    весит не много
    Последний раз редактировалось NEO SPECTRUMAN; 09.04.2017 в 18:00.

  9. #8

    Регистрация
    12.11.2009
    Адрес
    Москва
    Сообщений
    403
    Спасибо Благодарностей отдано 
    50
    Спасибо Благодарностей получено 
    90
    Поблагодарили
    66 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    тк тут дополнительных цветных результатов тестов по управлению яркостью фона
    до сих пор нету
    На маленьком жк-тв, к которому у меня подключён Апогей, никаких эффектов яркости не наблюдается. Во всех 40-а тестах вертикальные цветные полосы на чёрном фоне - уровень яркости у фона и самих полос одинаковый, сверху-донизу, и не меняется от теста к тесту.
    Сейчас Апогей с отпаяной клавиатурой - как соберу его обратно, могу проверить на ещё двух жк-тв. Но есть вероятность что и там никаких эффектов заметно не будет.

  10. #9

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

    По умолчанию

    Вопрос к знатокам кухни программирования под РАДИО-86РК.

    Столкнулся с великой странностью при работе с п/п Монитора. Заметил, что обращения к п/п вывода символа на экран (F809h) по каким-то неведомым причинам и поперёк всякой разумной логики сбрасываются биты порта.. клавиатуры (8002h)! Казалось бы при чём тут печать в экран и клавиатурный порт ВВ55? Сначала грешил на аппаратный глюк, но потом выяснилось, что и в эмуляторе точно также, значит дело не в железке.
    И действительно, анализ "по-диагонали" содержимого п/п F809h показал, что прямо с первых строк идёт обращение к п/п F812h (тест клавы), а из неё к F81Bh (получение кода нажатой клавиши), в последней первым делом записывается 00h в тот самый порт клавиатуры (8002h). Это какая-то жесть!

    Зачем это всё? Какой в этом сакральный смысл? От п/п вывода требуется только вывод символов или ESC-последовательностей. Или я чего-то не понимаю?
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  11. #10

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

    По умолчанию

    Цитата Сообщение от Denn
    Какой в этом сакральный смысл? От п/п вывода требуется только вывод символов или ESC-последовательностей. Или я чего-то не понимаю?
    Насколько я помню в РК86 работа с клавиатурой сделана грамотнее, чем в ОРИОНЕ. Суть в том, чтобы эмулировать работу аппаратной клавиатуры. Которая, в отличие от ОРИОНА и РК86 работает самостоятельно, не нуждаясь в процессоре. Такая клавиатура поставляет в каком-то порту бит статуса (флаг есть код или нет) и в каком-то порту выдаёт готовый ASCII-код. При аппаратной клавиатуре нажатия на клавиши не пропадают, а при программной клавиатуре пропадают, если процессор недостаточно часто проверяет клавиатуру.

    Идея эмулирования такой клавиатуры заключается в том, что каждая подпрограмма ПЗУ должна вызывать исполнительную часть подпрограммы STATUS (F812) и проверять нет ли нажатия. Если такое нажатие есть, то вызывается F81B, считывается код нажатой клавиши и кладётся в буфер клавиатуры. После чего подпрограмма STATUS всегда будет выдавать готовность символа до тех пор пока не будет вызова F803. Поэтому даже когда вызов F803 произойдёт уже после того, как пользователь отпустил клавишу, будет считан правильный код, т.к он будет считан не с клавиатуры, а взят из буфера.

    А в порт C клавиатуры кидается код, чтобы была верная индикация регистра светодиодом РУС-ЛАТ. Т.к нажатие могло быть и на клавишу РУС-ЛАТ, а светодиод должен загораться в момент нажатия на РУС-ЛАТ, а не несколько секунд позднее. Т.к клавиша РУС-ЛАТ не в основном поле, то для неё нет автоповтора, потому ждётся пока клавишу отпустят. Это свойство используется для останова ролика экрана при долгом TYPE.

    Таким образом подпрограммы ПЗУ РК лезут в клавиатуру даже тогда, когда об этом не просят ради того, чтобы не потерять нажатия клавиш (например при долгом TYPE огромного текста). Такая работа с клавиатурой упрощает установку CP/M на РК86. А в ОРИОНЕ этого нет и в первых версиях CP/M для ОРИОНА работа с клавиатурой сделана неграмотно (так же неграмотно как это в мониторе), отчего есть проблемы двойных нажатий или дребезг и только с 1992 работа с клавиатурой сделана более менее грамотно. А в OS-DOS это так и осталось неграмотно.

    В ACP/M и последующих ДОС использован следующий принцип борьбы с бешенным автоповтором и двойными нажатиями. Если по CONIN введён код клавиши, то в счётчик заносится 256. После чего независимо от того, нажата клавиша или нет, функция STATUS в течение 256-ти вызовов выдаёт флаг, что символа в буфере нет. И лишь по 257-мому вызову STATUS начинается реальный опрос клавиатуры. Так грамотно устраняется бешенный автоповтор.

    Думаю, что такую идею в РК86 использовали по аналогии с другими компьютерами или же из опасения, что скоростей РК86 не хватит. Но в вообще-то делать такой опрос клавиш не стоило. Можно было проще, как в ОРИОНЕ. Потому что в BDOS CP/M есть свой буфер клавиатуры, который по вызову STATUS также кладёт символ в свой буфер. Т.е делает то же самое, что делает ПЗУ РК86. В итоге получается двойная буферизация. Программа CP/M перед вводом освобождает клавиатуру. Она действует так. Сначала вызывает STATUS и если получает флаг неготовности, то уходит на CONIN. А если получен флаг, что в буфере клавиатуры есть символ, то вызывается CONIN, символ считывается и отбрасывается и только потом делается переход на CONIN. Освобождение клавиш делается, чтобы прежние нажатия не влияли. А при двойной буферизации, освобождение клавиатуры не достигается. Таким образом, в IBM PC буфер клавиатуры на 16 нажатий, в базовой CP/M - на одно нажатие, а в CP/M РК86 на два нажатия. Правильнее, для опустошения буфера считывать с CONIN до тех пор пока STATUS не выдаст признак отсутствия символа в буфере.

    Сакральный смысл есть. Из-за этого смысла программы РК86 работают с клавиатурой в стиле CP/M, хотя это и не требуется. Для этого сначала в долгом цикле вызывается STATUS и когда получен флаг, то делается уход на CONIN. Смысл при этом в том, что пока идёт периодический в цикле опрос STATUS, процессор может делать и другую работу. Например, мигать курсором, если курсор не аппаратный, обслуживать периферию (в частности, делать фоновую печать на принтер, как это делает программа фоновой печати CP/M), а также в играх гонять спрайты по экрану.

    Но в РК86 курсор сдуру сделали аппаратным, отчего процессору просто нечего делать в цикле контроля STATUS-а клавиатуры. Проще просто сделать JMP на CONIN. Именно из-за такого трюка многие игры от РК86 не работают на ОРИОНЕ, а нуждаются в небольшой доработке. Курсор следовало сделать программным, т.к тогда можно было бы использовать 11 символов псевдографики (расход деталей кучка диодов и резистор), потому что горизонтальная линия псевдографики и позиция курсора задаётся одним и тем же числом. Потому стоит выбор, или рисование сплошных рамок псевдо графикой, или аппаратный курсор.

    А программный курсор выгоднее, чем аппаратный. Программный курсор зажигается по первому-же вызову STATUS или CONIN, гасится перед исполнением CONOUT, а мигает по вызовам STATUS и CONIN. Разницы между программным курсором и аппаратным курсором нет. Только удобнее программно менять форму курсора и не надо принимать специальных мер, чтобы отключить курсор.
    Последний раз редактировалось barsik; 29.05.2017 в 10:28.

Страница 28 из 30 ПерваяПервая ... 24252627282930 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 210
    Последнее: 26.07.2019, 11:45
  2. Ответов: 6
    Последнее: 07.02.2016, 11:55
  3. Трюки с контроллером FDD 82077
    от Titus в разделе Утилиты
    Ответов: 4
    Последнее: 10.06.2011, 19:17

Ваши права

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