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

User Tag List

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

Тема: Специалист_МХ2: новые программы для нового Специалиста.

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Moderator Аватар для fifan
    Регистрация
    30.05.2007
    Адрес
    г. Лянтор, Сургутского р-на, ХМАО
    Сообщений
    4,165
    Спасибо Благодарностей отдано 
    106
    Спасибо Благодарностей получено 
    125
    Поблагодарили
    71 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Специалист_МХ2: новые программы для нового Специалиста.

    Начинаю тему для свода всех размышлений по написанию и использованию новых программ для Специалиста_МХ2. Первым в этом деле был HardWareMan с его переделанным Монитором-4 и Loaderом. Я продолжаю своим SpetsCommanderом.

    Пока хочу с помощью него загружать под STD rks файлы с SD карты и файлы с Flash-диска от HardWareManа. Под МХ будут загружаться файл-образы odi, реальные дискеты (если контроллер дисковода подключен), либо просто ROM-диск пользователя. Сделал только вывод заголовка файлов. Половина процедур, если HardWareMan не против, взято с его Лоадера для загрузки ПЗУ образа с SD карты. Вот например, экран вывода заголовка файлов Flash-диска.

    Очень нуждаюсь в процедурах простейшего опроса клавиш, а то готовые любого Монитора слишком большие. А также необходим подсчёт оставшейся памяти в использовании и определения типа ПК: Специалист, МХ, МХ2.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	bios17.png 
Просмотров:	885 
Размер:	12.8 Кб 
ID:	29570  
    Последний раз редактировалось fifan; 16.10.2011 в 19:52.

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

  3. #2
    Member
    Регистрация
    02.07.2010
    Адрес
    Запорожье
    Сообщений
    65
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от fifan Посмотреть сообщение
    Очень нуждаюсь в процедурах простейшего опроса клавиш, а то готовые любого Монитора слишком большие.
    выдай 0 на нижнюю линию клавиш и 1 на все остальные, а потом считывай только столбцы: все основные нужные клавиши находятся на этой линии: стрелки, пробел, вк, пс и пв. ВВ55: PA, PC0-3 - ввод, PB - вывод

  4. #3
    Привидение Аватар для AlexFantasy
    Регистрация
    17.02.2006
    Адрес
    Светлогорск на Березине
    Сообщений
    1,093
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от fifan Посмотреть сообщение
    Пока не запустил Специалист_МХ2 пишу Коммандер, так его назовём,
    MX-Commander
    MX2Commander
    SpetsCommander


    А ваще скриншот смотрится классно!!!
    Последний раз редактировалось AlexFantasy; 03.10.2011 в 20:38.

  5. #4
    Moderator Аватар для fifan
    Регистрация
    30.05.2007
    Адрес
    г. Лянтор, Сургутского р-на, ХМАО
    Сообщений
    4,165
    Спасибо Благодарностей отдано 
    106
    Спасибо Благодарностей получено 
    125
    Поблагодарили
    71 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А вот коды этой подпрограммы и некоторых других я взял то с сайта Shoorickа (если автор не против), конкретнее с архива.

  6. #5
    Member
    Регистрация
    02.07.2010
    Адрес
    Запорожье
    Сообщений
    65
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от fifan Посмотреть сообщение
    если автор не против
    не против

  7. #6
    Moderator Аватар для fifan
    Регистрация
    30.05.2007
    Адрес
    г. Лянтор, Сургутского р-на, ХМАО
    Сообщений
    4,165
    Спасибо Благодарностей отдано 
    106
    Спасибо Благодарностей получено 
    125
    Поблагодарили
    71 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от shoorick Посмотреть сообщение
    не против
    Я использовал некоторые подпрограммы мат. вычислений из файлов math.inc и graf.inc из упомянутого несколько постов назад архива.

    P.S. Написал полную подпрограмму опроса кода нажатой клавиши. Какую задержку использовать для устранения дребезга и где её ставить - до или после нажатия? Принялся за определение количества страниц RAM-диска в режиме МХ. Использую предложенный HardWareManом способ.

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

    По умолчанию

    Я уже выкладывал этот док на соседнем форуме, но думаю, что он понадобиться и тут. Это реплика удобной таблички команд 580ВМ80 из журнала Радио, статья про Радио-86РК. Думаю, что в соседней ветке про Радио и Орион она тоже будет полезна.

  9. #8
    Guru Аватар для breeze
    Регистрация
    11.02.2005
    Адрес
    【RB】
    Сообщений
    3,692
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    42
    Поблагодарили
    30 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    Thumbs up

    Цитата Сообщение от fifan Посмотреть сообщение
    Начинаю тему для свода всех размышлений по написанию и использованию новых программ для Специалиста_МХ2. Первым в этом деле был HardWareMan с его переделанным Монитором-4 и Loaderом. Я продолжаю своим SpetsCommanderом.
    Класс! Когда видишь, как люди делают подобные вещи, у самого начинают руки чесаться и хочется тоже что-то сделать! Удачи с проектом!
    (๑•̀ㅂ•́)و✧ Doors UI → https://t.me/doorsui | https://t.me/atari_xl_xe ← Atari XL/XE (●´ω`●)ゞ

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

    По умолчанию

    Я, пожалуй, начну с BIOSа. И так понятно, что это ответственная часть. В самом BIOSе всего несколько ключевых подпрограмм. И начну я с вывода символа.

    Вывод символа будет стандартный для Спеца (для поддержки совместимости): 64х25, даже координатная сетка будет та же. Только реализация будет быстрой и с поддержкой цвета. Задумок много, пока только оформлю хотелки. Для начала все будет писаться для именно для стандарт режима, потом допилится и до МХа.

    1. Полная совместимость со старыми программами, которые печатают старый текст в режиме КОИ7. А значит будет управляющий код, переключающий КОИ7 и ... (нет, не КОИ8р, я его с линупсов не люблю. :3) ср866. Почему? FAT. Этим все сказано.

    2. Полная поддержка цвета. 5/8 для стандарта и 16 для МХа. Символы будут выводиться без проверки на перекрытие байтом атрибутов двух символов. Так что эстетическая сторона полностью на совести программистов. :3

    3. Поддержка ESC кодов. Вообще, весь сервис планируется именно через ESC последовательности. Во первых, они стандартны (вроде как), а во вторых - можно придумать много своих, не теряя в совместимости со старыми программами.

    Пошерстил журнальчики про Орион, 86РК и Спец и нарыл следующие управляющие коды, которые будет поддерживаться моим выводом символа:
    Код:
    07H - Гудок
    08H - Влево, с переходом на строку выше на границе экрана
    0AH - Перевод строки со скроллингом
    0CH - Домой
    0DH - Возврат каретки
    18H - Вправо с переходом на следующую строку на границе экрана
    19H - Вверх со скроллингом
    1AH - Вниз со скроллингом
    1FH - Очистка экрана
    7FH - Инверсия вывода (выключается повтором кода)
    
    1BH - ESC:
    1BH, 41H - Вверх
    1BH, 42H - Вниз
    1BH, 43H - Вправо
    1BH, 44H - Влево
    1BH, 45H - Стирание экрана
    1BH, 48H - Домой
    1BH, 4AH - Стирание ниже курсора
    1BH, 4BH - Стирание правее курсора
    1BH, 59H, (XXH+20H), (YYH+20H) - Позиция курсора
    1BH, 61H - Гашение курсора
    1BH, 62H - Восстановление курсора
    Эта таблица не полная, поэтому призываю к активному обсуждению и дополнению ее. Так же, будет введен код управления направления автосмещения. По умолчанию, это курсор вправо. Но можно будет задавать вверх, вниз, влево и даже отменять автоматическое перемещение. Это позволит быстро рисовать всяческие рамки. Так же, хочется повторить много управляющих кодов из МХа, но там они однобайтовые, что в нашем случае не подходит: у нас полная кодовая страница ср866, за исключением кодом менее 20Н. Давайте обсудим это и я примусь за реализацию.

    Ах да, сам вывод символа будет запускаться из ПЗУ и сам фонт так же будет находиться в ПЗУ. Как в стандарте, так и в МХе.

  11. #10
    Moderator
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,577
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    106
    Поблагодарили
    92 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Я, пожалуй, начну с BIOSа. И так понятно, что это ответственная часть. В самом BIOSе всего несколько ключевых подпрограмм. И начну я с вывода символа.

    Вывод символа будет стандартный для Спеца (для поддержки совместимости): 64х25, даже координатная сетка будет та же.
    Будет ли Монитор иметь константы в ОЗУ, описывающие геометрию экрана (как в Орионе) - на Орионе это позволяло уменьшать "область экрана драйвера" (вводить служебные строки, не попадающие под искейп-обработку)?

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    3. Поддержка ESC кодов. Вообще, весь сервис планируется именно через ESC последовательности. Во первых, они стандартны (вроде как), а во вторых - можно придумать много своих, не теряя в совместимости со старыми программами.

    Пошерстил журнальчики про Орион, 86РК и Спец и нарыл следующие управляющие коды, которые будет поддерживаться моим выводом символа:
    Я правильно понял, будешь идти по возможности близко к стандартам VT-52?

    Вот результат моих исследований:
    Код:
    				VT52 compliant codes
    				====================
    
    			Orion Monitor-2		Orion CPM (ACPM)	MYZ80 CPM.EXE
    			---------------		----------------	-------------
    
      01h			------------		------------		HOME
      04h			------------		------------		CLS+HOME
    
      07h			BELL			BELL			BELL
    + 08h			cursor LEFT		cursor LEFT		BACKSPACE
    + 09h			TAB			TAB			TAB
    + 0Ah			LF 			LF			LF
      0Bh			------------		------------		cursor UP
      0Ch			HOME			------------		CLS
    + 0Dh			CR			CR			CR
      
      18h			cursor RIGHT		cursor RIGHT		CLREOLN
      19h			cursor UP		cursor UP		-----------
      1Ah			cursor DOWN		cursor DOWN		CLS+HOME
    
      1Eh			------------		------------ 		HOME
    + 1Fh			CLS+HOME		CLS+HOME		CR+LF
    
    + 7Fh			INVERSE			------------		-----------
    
    + 1Bh+34h='4' 		------------		LineWrap ON		-----------
    + 1Bh+35h='5' 		------------ 		LineWrap OFF		-----------
    + 1Bh+36h='6' 		------------		Inverse ON		-----------
    + 1Bh+37h='7' 		------------ 		Inverse OFF		-----------
    
      1Bh+3Ah=':' 		------------		cursor ON		CLS
      1Bh+3Bh=';' 		------------ 		cursor OFF		CLS
    
    + 1Bh+41h='A'		cursor UP		cursor UP		cursor UP
    + 1Bh+42h='B'		cursor DOWN		cursor DOWN		cursor DOWN
    + 1Bh+43h='C'		cursor RIGHT		cursor RIGHT		cursor RIGHT
    + 1Bh+44h='D'		cursor LEFT		cursor LEFT		cursor LEFT
    + 1Bh+45h='E'		CLS			CLS			CLS+HOME
    
    + 1Bh+48h='H'		HOME			HOME			HOME
      1Bh+49h='I'		------------		set/get ActiveScreen	reverse LineFeed
    + 1Bh+4Ah='J'		CLRREOSCR		CLRREOSCR		CLRREOSCR
    + 1Bh+4Bh='K'		CLREOLN			CLREOLN			CLREOLN
      1Bh+4Ah='L'		------------		INSROW			INSROW
      1Bh+4Bh='M'		------------		DELROW			DELROW
    
      1Bh+52h='R'		------------		set cursor height	DELROW
    
    + 1Bh+59h='Y'+X+Y	cursor position		cursor position		cursor position
    
      1Bh+64h='d'		------------		-----------		CLRBOSCR
      1Bh+65h='e' [		------------		-----------		cursor ON
      1Bh+66h='f'		------------		-----------		cursor OFF
    
      1Bh+6Ah='j'		------------		-----------		save cursor
      1Bh+6Bh='k'		------------		-----------		restore cursor position
      1Bh+6Ch='l'		------------		-----------		clear line
    
      1Bh+6Fh='o'		------------		-----------		CLRBOLN
      1Bh+70h='p'		------------		-----------		Inverse ON
      1Bh+71h='q'		------------		-----------		Inverse OFF
    
      1Bh+76h='v'		------------		-----------		line wrap on
      1Bh+77h='w'		------------		-----------		line wrap off
    Коды помеченные "+" должны быть реализованы обязательно в минимальном наборе (т.е. вместе с другими, возможно не только они).

    Использование только "+"-помеченных кодов позволило мне написать коммандер (исходники на сайте) работающий не только как в "классическом" MS-DOS эмуляторе CP/M, так и на всех VT-52 версиях CP/M Ориона. Кроме того, этот коммандер корректно отображается в RS-232 терминальных клиентах, понимающих VT52 (например стандартном виндовозном HyperTerm). Этот результат на Орионе больше не одним псевдографическим коммандером не достигнут - все прочие рисуют по RS-232 кашу даже при включенной эмуляции VT52.

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Так же, будет введен код управления направления автосмещения. По умолчанию, это курсор вправо. Но можно будет задавать вверх, вниз, влево и даже отменять автоматическое перемещение. Это позволит быстро рисовать всяческие рамки. Давайте обсудим это и я примусь за реализацию.
    Файл во вложении - описание Esc-последовательностей драйвера ACPM Ориона. Оконные функции реализовывались через коды расширенного драйвера VT-52 Ориона - последовательностью Esc+W (и не только: стандартные ESC,'L' , ESC,'M' внутри окна дают вертикальный скроллинг содержимого окна вверх/вниз). Esc-W в Орионе реализовано не совместимо с "оконными" искейпами эмулятора MyZ80, но оконные Esc-расширения стандарта VT-52 и не прижились в "стандартных" CP/M приложениях - не используются почти нигде, и как бы это помягче сказать - вообще "недостандартизованы" (неполны, неудобны, не совпадают от мануала к мануалу).

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Ах да, сам вывод символа будет запускаться из ПЗУ и сам фонт так же будет находиться в ПЗУ. Как в стандарте, так и в МХе.
    Будут ли векторизированы в ОЗУ подпрограммы Монитора, адрес фонта в некоторой ячейке и т.д.? Это даст подключать пользовательские драйвера и фонты... Например для CР/M, 64х25 - это мало, неудобно. Иногда надо 64х24, и почти всегда надо 80х25, т.е. по любому в CP/М придется подгружаемый драйвер иметь.
    Вложения Вложения
    Последний раз редактировалось Error404; 17.10.2011 в 15:46.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

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

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

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

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

Похожие темы

  1. Трекер нового поколоения
    от newart в разделе Музыка
    Ответов: 63
    Последнее: 02.02.2016, 09:55
  2. Изучается спрос на плату для Специалиста
    от Павел Рябцов в разделе Барахолка (архив)
    Ответов: 109
    Последнее: 30.11.2010, 10:16
  3. Продается Лик (клон Специалиста)
    от KALDYH в разделе Барахолка (архив)
    Ответов: 1
    Последнее: 20.02.2010, 14:29

Ваши права

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