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

User Tag List

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

Тема: BASIC на Корвете

  1. #11
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    2,712
    Благодарностей: 979
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    У оператора LUT есть недостаток (или наоборот достоинство, кому как).
    Я смутно вспоминаю, как мы вредничали LUT-ом, делая наверное черный на черном. Хорошо, что спастись из такой ситуации было нетрудно.
    Больше игр нет

  2. #12
    Junior
    Регистрация
    08.06.2015
    Адрес
    г. Санкт-Петербург
    Сообщений
    8
    Благодарностей: 14
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    У оператора LUT есть недостаток (или наоборот достоинство, кому как). После синтаксической ошибки (например, случайно набрали что-то в строке и нажали ввод) цвета вернутся к исходным, а в моем варианте они изменятся "навсегда".
    Это наоборот достоинство же )
    Последний раз редактировалось bars_z; 05.12.2018 в 15:32.

  3. #13
    Moderator Аватар для Serebriakov
    Регистрация
    06.04.2013
    Адрес
    г. Могилев, Беларусь
    Сообщений
    180
    Благодарностей: 150
    Записей в дневнике
    1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Как известно, в Корвете есть две половинки символов знакогенератора:

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

Название:	korvetfont-korvet2.png 
Просмотров:	58 
Размер:	10.7 Кб 
ID:	67389

    Символы из первой половинки вывести в бейсике очень легко:
    PRINT CHR$(код от 32 до 255)

    Вопрос: можно ли как-то из бейсика переключиться на вторую половину знакогенератора? Может есть какие-нибудь управляющие символы или может возможно записать через POKE бит по какому-нибудь хитрому адресу для переключения?

    Из стандартных управляющих символов мне известны:
    Цитата Сообщение от «Знакомьтесь: персональная ЭВМ Корвет», страница 152
    PRINT CHR$(27);"3" - включение режима "32 cимвола в строке" - широкие символы
    PRINT CHR$(27);"2" - включение режима "64 cимвола в строке" - стандартный режим
    PRINT CHR$(27);"6" - инвертирование строки
    PRINT CHR$(27);"7" - обратное инвертирование строки
    Последний раз редактировалось Serebriakov; 20.12.2018 в 20:39.

  4. #14
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    4,128
    Благодарностей: 1370
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В Бейсике 2.0 есть штатные средства:
    PRINTCHR$(27);"0" - основной знакогенератор
    PRINTCHR$(27);"1" - альтернативный знакогенератор

    В Бейсике 1.1 можно использовать POKE (в 2.0 они тоже сработают)
    POKE&HFB3A,PEEK(&HFB3A)AND251 - основной знакогенератор
    POKE&HFB3A,PEEK(&HFB3A)OR4 - альтернативный знакогенератор

  5. Этот пользователь поблагодарил ivagor за это полезное сообщение:
    Serebriakov (20.12.2018)

  6. #15
    Moderator Аватар для Serebriakov
    Регистрация
    06.04.2013
    Адрес
    г. Могилев, Беларусь
    Сообщений
    180
    Благодарностей: 150
    Записей в дневнике
    1
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Круто! Большое спасибо! Давно хотел сделать тест знакогенератора на бейсике, но не знал как переключать знакогенератор.

    Тогда еще вопрос. Заметил, что PRINT CHR$(код) не умеет выводить символы ниже 32. Нашел другой способ их вывода - писать через POKE напрямую в память АЦЗУ код символа.
    Например: POKE &HFC00,2 - выведет смайлик c кодом 2 в верхний левый угол.
    Адреса методом тыка нашел следующие: от &HFC00 (64512) - верхний левый угол экрана до &HFFFF (65535) - правый нижний.

    Может быть существует какой-нибудь штатный способ их отрисовки (символов ниже 32)?

    Цитата Сообщение от ivagor Посмотреть сообщение
    В Бейсике 2.0 есть штатные средства:
    PRINTCHR$(27);"0" - основной знакогенератор
    PRINTCHR$(27);"1" - альтернативный знакогенератор
    Ни в дисковом, ни в пзу-шном Бейсике 2.0 такой способ почему-то не заработал.

    Цитата Сообщение от ivagor Посмотреть сообщение
    В Бейсике 1.1 можно использовать POKE (в 2.0 они тоже сработают)
    POKE&HFB3A,PEEK(&HFB3A)AND251 - основной знакогенератор
    POKE&HFB3A,PEEK(&HFB3A)OR4 - альтернативный знакогенератор
    Этим способом получилось. Очень интересно, как вы его нашли? Как нашли адрес в памяти и почему к нему применяются именно эти логические операции? Они накладывают какую-то определенную битовую маску? Действительно очень интересно.
    Последний раз редактировалось Serebriakov; 22.12.2018 в 08:13.

  7. #16
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    4,128
    Благодарностей: 1370
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Serebriakov Посмотреть сообщение
    Ни в дисковом, ни в пзу-шном Бейсике 2.0 такой способ почему-то не заработал.
    Могу только привести скриншоты из emu
    Нажмите на изображение для увеличения. 

Название:	rom20.png 
Просмотров:	40 
Размер:	1.5 Кб 
ID:	67398Нажмите на изображение для увеличения. 

Название:	rom20alt.png 
Просмотров:	41 
Размер:	1.8 Кб 
ID:	67399Нажмите на изображение для увеличения. 

Название:	disk20.png 
Просмотров:	42 
Размер:	1.6 Кб 
ID:	67400Нажмите на изображение для увеличения. 

Название:	disk20alt.png 
Просмотров:	41 
Размер:	2.0 Кб 
ID:	67401

    Цитата Сообщение от Serebriakov Посмотреть сообщение
    Этим способом получилось. Очень интересно, как вы его нашли?
    Есть техническая информация, например здесь. В данном случае нужно смотреть регистр VIREG, а конкретный бит можно понять по маске FONT1.

  8. Этот пользователь поблагодарил ivagor за это полезное сообщение:
    Serebriakov (22.12.2018)

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

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

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

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

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

Похожие темы

  1. Ответов: 33
    Последнее: 05.12.2018, 10:00
  2. 128 basic
    от sevol в разделе Для начинающих
    Ответов: 15
    Последнее: 30.10.2010, 04:07
  3. Дизассемблер BASIC-48
    от Prusak в разделе Пресса
    Ответов: 4
    Последнее: 22.06.2010, 21:52
  4. Программы на BASIC
    от form в разделе ДВК, УКНЦ
    Ответов: 14
    Последнее: 17.04.2010, 14:41
  5. Софт от MSX на Корвете
    от AlexFantasy в разделе MSX
    Ответов: 4
    Последнее: 09.07.2008, 20:07

Ваши права

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