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

User Tag List

Страница 1 из 11 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 107

Тема: 80 символов в строке и режим 512 точек вообще

  1. #1
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,115
    Спасибо Благодарностей отдано 
    792
    Спасибо Благодарностей получено 
    655
    Поблагодарили
    402 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию 80 символов в строке и режим 512 точек вообще

    Подумал, что я никогда не пытался даже точечку нарисовать в этом режиме. А скорость вывода текста в МикроДОС всегда навевала тоску. И решил попробовать сделать сам. Провозился день, но понял только, что МикроДОС не пальцем деланый и с учетом обстоятельств выводит текст еще даже можно сказать быстро.

    Моя совсем пока неотесанная попытка (гист в прекрасме).

    Сначала сделал вариант честный, который очищает сам себе знакоместо (это blx_jumptbl), как это требуется в эмуляции терминала. Потом сделал второй, который считает, что текст всегда печатается по заранее очищенной области слева направо (nblx_jumptbl). В условиях эмуляции терминала это нельзя гарантировать, но в других случаях это по-моему разумное ограничение.

    Шрифт 6х8 разворачивается половинками глифов: 8 байт для плоскости A000 + 8 байт для плоскости C000 (используются младшие три бита, в Векторовской проекции это получается сдвиг на 5).

    Впечатления довольно тяжкие. 512 точек -- ужасно неудобный для рисования режим, а уж 80 символов в строке, при том, что получается по три бита на знакоместо -- восьмикратно неудобный. Думаю, может быть я вообще что-то неправильно понял и можно совсем не так все делать. Было бы прикольно, если б получилось выжать за прерывание хотя бы строку. Сейчас выходит только 43 символа. То есть если 80х25, то нужна почти секунда, чтобы заполнить весь экран текстом.

    Нету ли, кстати, в удобном виде шрифта, который используется в МикроДОС-е? Тот шрифт 6x8, который я нашел, только родная мама способна полюбить.
    Последний раз редактировалось svofski; 12.07.2022 в 03:12. Причина: 54 символа / прерывание
    Больше игр нет

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

  3. #2
    Master Аватар для Improver
    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    974
    Спасибо Благодарностей отдано 
    428
    Спасибо Благодарностей получено 
    396
    Поблагодарили
    221 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    А скорость вывода текста в МикроДОС всегда навевала тоску.
    Кстати, в теме про операционки, ivagor проводил исслелования по скорости вывода текста, рекорд был за РДС, следом Т-34 и Т-72...

    Цитата Сообщение от svofski Посмотреть сообщение
    Нету ли, кстати, в удобном виде шрифта, который используется в МикроДОС-е? Тот шрифт 6x8, который я нашел, только родная мама способна полюбить.
    Шрифт в бинарном виде есть в тех же исходниках РДС, в текстовом виде через "DB ..." я делал в исходниках Т-34 и Т-72, но удобным его тоже не назовёшь.
    Последний раз редактировалось Improver; 11.07.2022 в 15:06. Причина: добавил ссылки

  4. Этот пользователь поблагодарил Improver за это полезное сообщение:

    svofski (11.07.2022)

  5. #3
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,115
    Спасибо Благодарностей отдано 
    792
    Спасибо Благодарностей получено 
    655
    Поблагодарили
    402 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    DB это достаточно удобно. А где эти самые исходники?

    Ну что ж, у меня примерно 2150cps с упомянутыми ограничениями. В сравнении с 776cps это кажется много, но в МикроДОСе работает еще эмуляция терминала, и вряд ли шрифт хранится развернутым в 4КБ памяти. Так что пока мой результат так себе. RDS мощна.

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

    P.S. Увидел ссылки на исходники.
    Больше игр нет

  6. #4
    Master Аватар для Improver
    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    974
    Спасибо Благодарностей отдано 
    428
    Спасибо Благодарностей получено 
    396
    Поблагодарили
    221 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    Ну что ж, у меня примерно 2150cps с упомянутыми ограничениями.
    Это почти в три раза быстрее! Упомянутые ограничения же не замедлят вывод в три раза?

    Тут, кстати, есть ещё такой ньюанс: тест ivagorа выводил не полную таблицу символов, а у Т-72 и Т-34 из-за особенностей драйвера кириллица выводится медленнее, чем латиница. Так что средняя скорость вывода там будет меньше, и 2150 символа в секунду -- это прямо хороший результат по сравнению с ДОСами. Можно ещё сравнить скорость со скоростями в мониторах-отладчиках, для полноты картины.

    Цитата Сообщение от svofski Посмотреть сообщение
    вряд ли шрифт хранится развернутым в 4КБ памяти
    ДОСы так его и хранят в памяти, развёрнутым, но не на 4кБ, а всего 1792 байта в Т-72 и 2560 байт в РДС...

  7. #5
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,115
    Спасибо Благодарностей отдано 
    792
    Спасибо Благодарностей получено 
    655
    Поблагодарили
    402 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Трудно предсказать, что именно съест время, поэтому все-таки сравнивать лучше эквивалентные вещи.

    В моем примере все символы равноценны и их 256, так проще. Вот как у РДС получилось 2560 байт вместо 4096 -- любопытно. Предполагаю, что отрезанием непечатных и подменой глифов типа русская A / латинская A ?

    Меня огорчает, что в этом развернутом хранении используются три бита от каждого байта. Обидно столько замечательных бит терять, ведь люди делали. Но все сдвиги и маскирования на 8080 даются ужасной болью.

    Думаю, может быть можно что-то выгадать, если сразу принять, что строка 80 символов рисуется целиком залпом. Определенно небольшое количество вычислений координат можно упростить, но это вряд ли даст очень много - в моем бенчмарке максимум можно будет увидеть следующую букву, может полторы. Все-таки львиная доля -- это сдвиги, загрузки, маскирование.

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

    Update: 44 символа =) Там конечно есть еще чуть чуть лишнего, но до 80 так вряд ли получится доехать.
    Больше игр нет

  8. #6
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,842
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,814
    Поблагодарили
    1,043 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сразу скажу, что blit не переделал (поленился), но и на примере nblit примерно понятны пределы роста. Можно еще быстрее, но совсем на чуть-чуть.

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

    И еще вот так можно
    Последний раз редактировалось ivagor; 18.07.2022 в 17:08. Причина: удалил вложения в связи с появлением более хорошего варианта

  9. #7
    Master Аватар для Sandro
    Регистрация
    20.01.2010
    Адрес
    г. Зеленоград
    Сообщений
    590
    Спасибо Благодарностей отдано 
    27
    Спасибо Благодарностей получено 
    211
    Поблагодарили
    115 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    Думаю, может быть можно что-то выгадать, если сразу принять, что строка 80 символов рисуется целиком залпом.
    А если столбцами? Там можно кое-что выгадать, я думаю.

    Особенно если рисовать, как делает Manwe, побитовыми столбцами.

  10. #8
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,842
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,814
    Поблагодарили
    1,043 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Моск приблизился к точке кипения, стала проскакивать тупая копипаста, но почти букву еще выгрыз
    Последний раз редактировалось ivagor; 18.07.2022 в 17:07. Причина: удалил вложение в связи с появлением более хорошего варианта

  11. #9
    Master Аватар для Improver
    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    974
    Спасибо Благодарностей отдано 
    428
    Спасибо Благодарностей получено 
    396
    Поблагодарили
    221 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    Вот как у РДС получилось 2560 байт вместо 4096 -- любопытно.
    Получается в шрифте РДС на один символ 2560 / 256 = 10 байт, вполне нормально, даже с запасом на надстрочные и подстрочные "закорючки"... Надо посмотреть исходники РДС, как там символы кодируются.

  12. #10
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,115
    Спасибо Благодарностей отдано 
    792
    Спасибо Благодарностей получено 
    655
    Поблагодарили
    402 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ivagor, спасибо! у меня тоже моск выкипел честно говоря. При беглом просмотре вижу, что у тебя примерно что и у меня в последних изменениях -- ты сделал вторую половинку в обратную сторону (чтобы делать dcr на второй странице) и креативное используешь bc в некоторых сдвигах. Попробую разобраться когда немножко остужу моск.

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

    А bc/de/hl ты переставил чтобы pchl использовать?

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

    А, вижу, ты битмапы развернул хитро.
    Больше игр нет

Страница 1 из 11 12345 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 56
    Последнее: 02.08.2021, 17:58
  2. РК86: CP/M 2.2 BIOS и 80 знаков в строке
    от tchv71 в разделе Радио-86РК
    Ответов: 32
    Последнее: 11.04.2021, 11:08
  3. Глюк в режиме 512 точек
    от tki в разделе Вектор
    Ответов: 13
    Последнее: 31.01.2011, 20:47
  4. 52 символа в строке...
    от Strunov в разделе Программирование
    Ответов: 6
    Последнее: 30.01.2006, 03:38

Ваши права

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