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

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 18

Тема: ОРИОН-128: Монитор М3 и ROM-BIOS F800

  1. #1
    Veteran Аватар для gdv2002
    Регистрация
    17.07.2013
    Адрес
    г. Курган
    Сообщений
    1,976
    Записей в дневнике
    2
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    150
    Поблагодарили
    105 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию ОРИОН-128: Монитор М3 и ROM-BIOS F800

    В Радио 1996-2 была статья "Из опыта работы с "Орионом-128"", там был опубликован драйвер для МС7007 по "Ленинградской" схеме для МОНИТОРа-2, отсканированный текст и оригинал тут: https://yadi.sk/d/jM1-1Z6H32PKUg
    Я вроде все вычитал, особенно коды, но бывает и на старуху проруха!
    Может кто сделает МОНИТОР-3 под ВМ80 и МС7007? Или какой там самый ходовой МОНИТОР?
    Под Z80 и МС7007 всяких МОНИТОРов как грязи, а под ВМ80 только один подкинули
    С уважением, Дмитрий.
    Pentagon-128 вер.2023+Turbo Sound+ZXM-GeneralSound
    ZXM-Phoenix 2048+Turbo Sound+ZXM-GeneralSound+ZXM-SoundCard Lite
    ZXM-Phoenix в Телеграмм

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

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

    По умолчанию

    Монитор под ВМ80 - это М2 из "Радио". Всё имеющееся Орионовское ПО прекрасно работает с ним. Как я понимаю вариант под клаву MS7007 был на базе него.
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  4. #3
    Veteran Аватар для gdv2002
    Регистрация
    17.07.2013
    Адрес
    г. Курган
    Сообщений
    1,976
    Записей в дневнике
    2
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    150
    Поблагодарили
    105 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Denn, получается что мониторы 3 и выше только под Z80?
    Не помню откуда М3 появился, видимо прийдется опять по всем публикациям рыться, и не факт что он публиковался!

    Пы.Сы. перечитываю тему с самого начала - столько интересного и полезного нашел уже Но почти 170 страниц не просто осилить осмысленно!
    С уважением, Дмитрий.
    Pentagon-128 вер.2023+Turbo Sound+ZXM-GeneralSound
    ZXM-Phoenix 2048+Turbo Sound+ZXM-GeneralSound+ZXM-SoundCard Lite
    ZXM-Phoenix в Телеграмм

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

    По умолчанию

    Цитата Сообщение от gdv2002 Посмотреть сообщение
    Denn, получается что мониторы 3 и выше только под Z80?
    Под РК'шную клаву есть для ВМ80, но смысла упираться в М3 не вижу вообще. М2 вполне достаточно. Не работать же в этом Мониторе, в конце концов, это просто набор стандартных подпрограмм, который практически не изменился со времён РК86

    П.С. у меня в коллекции есть файл "M41MS.ori" Но чесслово даже пробовать его в Орионе желания нет.
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  6. #5
    Veteran Аватар для gdv2002
    Регистрация
    17.07.2013
    Адрес
    г. Курган
    Сообщений
    1,976
    Записей в дневнике
    2
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    150
    Поблагодарили
    105 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Denn, просто я очень отстал, и не понимаю уже в этой суете, что к чему! Как дособираю Ориона - склею монитор и выложу.
    С уважением, Дмитрий.
    Pentagon-128 вер.2023+Turbo Sound+ZXM-GeneralSound
    ZXM-Phoenix 2048+Turbo Sound+ZXM-GeneralSound+ZXM-SoundCard Lite
    ZXM-Phoenix в Телеграмм

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

    По умолчанию

    Цитата Сообщение от gdv2002
    А какой это монитор, 1,2,3 ?
    Это M3-MS7007 самой древней версии (04.1991) для КР580. В нём вообще нет фонта русских букв. Скиньте мне на личку Ваш E-mail и я пришлю Вам точно такой-же M3 для MS7007 и КР580, но с полным фонтом. Причём с исходником.

    МОНИТОРЫ-3 перепутать невозможно. У всех у них без исключения, по адресу 0F842H есть текстовая строка с номером версии.

    Код:
    AF842:	defb	'V3.xx'
    Программы, которым необходим M3, а это M3-EXT, драйверы и расширители М3 проверяют монитор так :

    Код:
    	LD	HL,(0F842H)
    	LD	DE,'3' shl 8 + 'V' 	; можно LD DE,'3V' но не во всех ассемблерах
    	XOR	A
    	SBC	HL,DE			; для КР580: CALL CMPDH
    	JP	NZ,WRONG_MON
    OK:
    К сожалению, для КР580 после 1991 никто серъёзных доработок ROM-BIOS не делал. Если для Z80 есть десятки версий (других, чем в Вашем архиве), то для КР580 альтернативных версий почти нет. Могу прислать Вам МОНИТОР-4 (КР580, МС7007, В.Воронин, Новочеркасск, 1996) и МОНИТОР-2/TDA (КР580, МС7007, Дм.Тупицын, 1992). В обоих подключение клавиатур правильное, т.е совместимое с играми для клавиатур РК.

    Цитата Сообщение от Denn
    смысла упираться в М3 не вижу вообще
    М3 был сделан легендарным программистом В.Ивинских (разработан сказать нельзя, это оптимизация чужого, хотя 30% кода изменено) в январе 1991, одновременно с выходом М2.

    Скрытый текст


    В.Ивинских первым в стране адаптировал ВСЕ игры КООП SP-580 для стандартного СПЕЦИАЛИСТА (в т.числе Jet-Set) и сделал кучу системных программ. За пару дней, даже не имея НГМД, адаптировал для КР580 Manic-Miner от ZX-48. 80% игр сезона 1991-92 составляли игры СПЕЦИАЛИСТА, что были адаптированы им для ОРИОНА. Но самое смешное, что для ОРИОНА он делал программы всего 1 месяц, причём даже не имея личного ОРИОНА. Если бы с такой же эффективностью работали остальные программисты ОРИОНА, то сейчас для него было бы 50 тысяч программ.

    М3 стал известен раньше, чем был опубликован М2. Монитор М2 мы имели на месяц раньше, чем он был опубликован в ж.РАДИО 01.1991. Т.к М3 делал грамотный программист, то за счет более умелого программирования с'экономлено 150 байт (!) при одновременном улучшении параметров подпрограмм. В освободившееся место встроена подпрограмма ввода строки, CCP резидентного монитора и векторизация). К сожалению, не добавлена п/программа инициализации (это сделано в 1995, когда уже не было смысла).

    Что касается версии М3 для МС7007, то она использует совместимую схему включения (что снимает проблему несовместимости с играми для РК-клавиатуры).

    МОНИТОРЫ-3 работают по нажатию клавиш, а не по отпусканию (что в М2 - просто идиотизм, это единственный случай в мире, другого такого нет). Процедура сканирования клавиш в М3 - в 3 раза быстрее (а если бы не было диодов, то было бы в 15 раз быстрее, два считывания - и результат).

    В М3 есть векторизация клавиатурных подпрограмм. Можно загрузить свой драйвер, любой своей клавиатуры (что я и делал загружая драйвер аппаратной клавиатуры APPLE-II, дающей готовый ASCII-код, т.к моя клавиатура от РК86 была низкого качества на кнопках МП16).

    Вывод символов происходит быстрее. Причём выводится символ 6*9, а не 6*8 (отчего маркировка строки инверсией в М2 выглядит глупо, т.к текст не по центру инверсии).

    Смысл М3 был в М3-EXT, т.к тогда почти ни у кого еще не было ROM-дисков, а слово ORDOS считалось матерным. Т.е это даёт возможности МОНИТОРА-1, при сохранении подпрограмм ROM-BIOS от МОНИТОРА-2. Причём набор команд монитора может оперативно меняться - команды подгружаются. Например в 1991 были догружаемые команды HELP (выдает справочник по командам М3-EXT) и два мини-дизассемблера (для КР80 и Z80 запускаемые командой точка '.АДРЕС'). А после загрузки RAMDOS для ЭД, команды монитора также меняются - теперь часть команд для ОЗУ работает иначе: D-DIR, W-SAVE, X-EXE...

    МОНИТОРЫ-3 для Z80 отличаются тем, что у них большой сплошной курсор, не перепутаешь.

    МОНИТОРЫ-3 для Z80 имеют средства для автовозврата по сбросу. Достаточно заменить пару байтов и по сбросу ни в какую ORDOS Вы уже никогда не вернётесь. Будет стартовать тот код, что должен. Например программа "взломщика" или снимок экрана.
    Код:
    COLDST:	LD	HL, (0F3C1H)		; обслуживание автостарта
    	LD	SP, 0F3BFH
    	POP	BC
    	PUSH	HL
    	SCF
    	ADC	HL, BC
    	RET	Z
    Но главное, во всех МОНИТОРАХ-3 есть вектор INTA 0F3DFH, на который загружаются клавиатурные прерывания. Что позволяет иметь в драйверах управление сочетанием клавиш УС+СС + клавиша (удерживая УС и СС нажать клавишу). Тогда драйвер получается универсальным для МС и РК клавиатур, т.е драйверу не надо лезть в матрицу клавиш, чтобы реализовать управление (не занимая кодов клавиатуры). Драйверу и любой программе не надо знать какой конкретно тип клавиатуры у пользователя. От этого CP/M-драйвер получается универсальным. Сочетание УС+СС при М3 работает как одна доп.клавиша АЛЬТ в PC. Например, часто по УС+СС+K переключаются кодировки в драйверах КОИ-8 -> АЛЬТ -> КОИ-7.

    Это даёт как бы кучу дополнительных клавиш, используемых в программах. В некоторых драйверах для банки 2, а впоследствии для ACP/M 1.6x встроен резидентный SHELL. Его работа выглядит так. В абсолютно любой программе (что пользуется для ввода клавиатурой) по нажатию УС+СС + М, в середине экрана открывается окно (объёмом в пол-экрана), включается цвет и Вы оказываетесь в RAM-мониторе с помощью которого можете "шариться" по всем банкам ОЗУ, менять байты. Закончив работу командой 'Q' Вы возвращаетесь в прерванную программу в ту же точку и продолжаете её использовать.

    SHELL имеет оверлеи, которые может загрузить сам пользователь. В частности так грузится справочник по входам ROM-BIOS, по функциям BDOS CP/M, таблица ASCII и вообще любые справочные данные, которые Вам оперативно нужны в ходе работы. Шлите Ваш E-mail адрес - скину скрин-шоты, чтобы увидели как это выглядит.

    SHELL полезен когда дохнет каталог. Без SHELL - ценному листингу в 100 кило на Вашей дискете при дохлоте каталога - "кранты". Все данные пропали.

    Но с SHELL, Вы копируете дисковый буфер 2 Кб, содержащий каталог, ставите новую дискету, ^C, затем 'SAVE 8 DIR.DAT' Затем грузите DU, читаете уцелевшие сектора каталога, пишете их в файл. Из уцелевших секторов и считанного блока в 2К с помощью отладчика компонуете новый каталог. Теперь этот полностью восстановленный каталог можно записать как на обычное место каталога, так и на любой недохлый трек.

    Для начала пробуем восстановить каталог на родном месте. Делаем быстрый формат, чтобы отформатировать каталог. Если это получилось, то с помощью DU.COM просто заносим восстановленный каталог туда, где он и был. И копируем нужный файл на хорошую дискету, а эту дискету сразу выбрасываем.

    Но если трек каталога сдох насмерть, то и это не беда. C помощью DU.COM можно записать каталог в начало любого ненужного трека (например трек 2 (физически это трек 1 сторона 0). Если у Вас нет варианта CP/M не настраивающего формат дискеты по DPB из BOOT-сектора, то надо откорректировать DPB-диска, что находится в байтах 3...1F BOOT-сектора. Надо изменить число системных треков. При этом придётся пересчитать и контр.сумму (это арифм.сумма байтов DPB плюс 66H). Если у Вас нет калькулятора с HEX-режимом, то вручную складывать HEX-числа Вам будет сложно - но простенькая программка в 10 байт сделает это за миг. После изменения DPB любая CP/M ОРИОНА будет читать каталог уже не с 4-го трека, а со 2-го, где Вы и разместили восстановленный каталог.

    Но это не всё. Каталог на новом месте надо откорректировать. Так как номера блоков увеличатся на 2*5/2=5. То есть, во всех экстентах всех файлов надо увеличить номера блоков на 5. Если Вам нужен только один Ваш ценный файл исходника, над которым Вы работали 2 месяца, то достаточно откорректировать только его экстенты с помощью DU.COM. Это делается за 30 секунд труда. После этого Ваш ценный файл можно копировать. Ценные данные спасены.

    Все вышеперечисленные работы, при некотором опыте, выполняются не более, чем за 5 минут. Это небольшая цена, чтобы спасти труд 2-х месяцев работы. Впрочем, преимущества М3 может оценить только тот, кто тратил 10 часов, чтобы из кучи фрагментов на диске восстановить погибший исходник (и это не всегда удавалось целиком).

    Код:
    Отрывки реального кода: 
    
    TXT:    defb    13,10
    defb    'SHELL-EXTENT vers 1.02 loaded at B0: B800..C3FF.',10,24H
    
    BADDRV: RST     18H
    	defb    13,10
    	defb    'RAM conflict with current DRIVER !',13,10
    	defb    'Need free RAM B800...CFFF in Bank 0',13,10,0
    	RET
    
    M80, если строка начинается с цифры или апострофа понимает строку как DEFB, 
    так что DEFB не обязателен. Т.е ниже это реально транслируемый кусок.
    
    TXHELP:	defb    0CH
    
     ' * Резидентный SHELL-MONITOR  V1.03 (12.1990) *',13,10
     
     ' G<адрес> - старт (под)-программы (вып-ся CALL)',13,10
     ' D<нач.адр>,<кон.адр>,<банк> -  дамп памяти ЭВМ',13,10
     ' M<нач.адрес>,<банк> -    модификация ячеек ОЗУ',13,10
     ' F<нач.адр>,<кон.адр>,<байт> -   заполнение ОЗУ',13,10
     ' T<нач.а>,<кон.а>,<адр.цели>,<банк> - пересылка',13,10
     ' P<н.а>,<к.а>,<исх.банк>,<пр.банк>  копир.банок',13,10
     ' X<нач.а>,<кон.а>,<байт>,<банк> -  поиск  байта',13,10
     ' C<нач.а1>,<кон.а1>,<нач.а2> -  сравнение ячеек',13,10
     ' K<нач.адр>,<кон.адр> - подсчет контрольн.суммы',13,10
     ' N<нач.адр>,<кон.адр> -   подсчет  RARITY-байта',13,10
     ' H<число1>,<число2> - выч. HEX-суммы и разности',13,10
     ' Y0/1 - цвет SHELL. E<F> - вызов функц.экстента',13,10
     ' V<мл.нбл:фон,ст.нбл:сим> - цвет в CP/M (или 0)',13,10
     ' ? - вывод этого HLP текста. Q - возврат в CP/M',0
    
    Текст из одного загружаемого экстента справочника.
    
     '        Служебные ячейки ACP/M 1.6X',13,10,10
     
     'RUSLAT  0F30EH   а RUSLAT монитора (F3E5) это LOCK',13,10
     'C_MODE  0F30FH   COLOR FLAG (0-mono, FF-color)',13,10
     'STRLEN  0F310H   длина строки терминала',13,10
     'TKODIR  0F311H   кодировка: К7=0, К8=1, АЛЬТ=2',13,10
     'DUBLFA  0F312H   дубль порта FA',13,10
     'DUBLF8  0F313H   дубль порта F8',13,10
     'IDENT   0F314H   номер др-ра. Ст.нибл: шир.симв',13,10
     'SYSTIM  0F315H   3 байта инкрементa пo STATUS',13,10  ; RANDOMIZE и программный счёт времени
     '@ARDK   0F318H   исходная копия яч. F3C7',13,10
     '@ACOUT  0F31AH   исходная копия яч. F3CD',13,10
     '@AINT   0F31CH   исходная копия яч. F3DF',13,10
     'CHK     0F31EH   к.сумма F318...F31D (+1)',13,10
     'ACPM_F  0DCB7H   опознаватели ACP/M (06,19,92)',0
    [свернуть]


    Резюме. МОНИТОР-3 по качеству и по числу реализованных в нём простейшими средствами идей превосходит МОНИТОР-2 на порядок. Немного утрируя можно утверждать, что по сравнению с М3, М2 - просто "детский лепет".
    Последний раз редактировалось barsik; 08.12.2016 в 04:56.

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

    По умолчанию

    barsik, спасибо за увлекательный материал. Единственный момент - при чтении очень раздражают подобные вещи:

    "что в М2 просто идиотизм"
    "отчего маркировка строки инверсией в М2 выглядит глупо"

    Эти маркеры указывают на посыл автора: "я - Дартаньян, а вы все...".

    Лично я больше, чем уверен, что авторы Ориона делали по-максимуму что могли, на что хватало имеющихся сред разработки и знаний на тот момент.


    Цитата Сообщение от barsik Посмотреть сообщение
    Резюме. МОНИТОР-3 по качеству и по числу реализованных в нём простейшими средствами идей превосходит МОНИТОР-2 на порядок. Немного утрируя можно утверждать, что по сравнению с М3, М2 - просто "детский лепет".
    Из прочитанного я увидел, что некто поставил себе задачу переписать код Монитора "покруче", совместив примитивный командный интерфейс М1 с некоторыми расширенными возможностями стандарных подпрограмм М2, плюс добавив свои "плюшки", посчитав их архиважными. Ну, что ж, похвально. Только Орион придумали другие люди, и у них было своё видение, которое было нацелено не на работу пользователя с Монитором (в архаичном стиле РК86), а концепт был поинтереснее: ROM-диск + ОС, о чём было ясно сказано в статье про М2.

    Если посмотреть с точки зрения простого пользователя, то ему вообще без разницы какой Монитор стоит в его Орионе, для него главное чтобы работало игровое и прикладное ПО. Если ПО будет требовать для запуска какой-то нестандартный Монитор, то вряд ли юзер будет пользоваться таким ПО - это и есть правда жизни.
    Я хоть и не могу причислить себя к простому юзеру (мне интересно программировать под Орион), но встать на его место вполне способен: так вот, как у пользователя, у меня нужды в мониторе отличном от М2 с 1992-го и до сего года не возникало. Более того, всё орионовское ПО, которое мне попадалось, прекрасно работает с М2, а вот с М3 - увы, есть проблемы совместимости (авторы М3 посчитали ненужными некоторые стандартные подпрограммы и вместо них воткнули свои, с совершенно иным функционалом).
    Последний раз редактировалось Denn; 07.12.2016 в 14:35.
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  9. #8
    Veteran Аватар для gdv2002
    Регистрация
    17.07.2013
    Адрес
    г. Курган
    Сообщений
    1,976
    Записей в дневнике
    2
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    150
    Поблагодарили
    105 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Скиньте мне на личку Ваш E-mail и я пришлю Вам точно такой-же M3 для MS7007 и КР580, но с полным фонтом. Причём с исходником.
    Огромное СПАСИБО!!!
    Материалы получил, стараюсь все осмыслить. Спасибо за Ваши подробные комментарии - очень помогает , мне ламеру, разобраться в тонкостях!
    Пока кое что не ясно - разбираюсь, но материал подан очень подробно, при желании каждый сможет понять!
    Орион потихоньку собирается, но пока, если честно, я боюсь внедрять предложенные Вами доработки, хоть и понимаю, что они толковые! И дело тут не в недоверии, а скорее, пока, в моей неготовности сделать все это
    С уважением, Дмитрий.
    Pentagon-128 вер.2023+Turbo Sound+ZXM-GeneralSound
    ZXM-Phoenix 2048+Turbo Sound+ZXM-GeneralSound+ZXM-SoundCard Lite
    ZXM-Phoenix в Телеграмм

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

    По умолчанию

    Цитата Сообщение от Denn Посмотреть сообщение
    Я хоть и не могу причислить себя к простому юзеру (мне интересно программировать под Орион), но встать на его место вполне способен: так вот, как у пользователя, у меня нужды в мониторе отличном от М2 с 1992-го и до сего года не возникало. Более того, всё орионовское ПО, которое мне попадалось, прекрасно работает с М2, а вот с М3 - увы, есть проблемы совместимости (авторы М3 посчитали ненужными некоторые стандартные подпрограммы и вместо них воткнули свои, с совершенно иным функционалом).
    Пользователю от Монитора вообще ничего не надо кроме опроса клавиатуры, ИМХО, т.к. при наличии разных типов клавиатур это единственная аппаратно вариативная часть внутри "линейки Орионов-128" (опрос клавы удобнее в M3, кстати, при том что меньше по размеру). Все остальное так или иначе делается не Монитором (уж больно в нем убогие подпрограммы и чаще всего они в ОС следующего уровня заменены на что-то более приличное). RAMTOP - да, заглушили, вообще непонятно зачем он был нужен, такие вещи делаются не так. Толи авторы в момент сочинения этих процедур не имели плана "а как оно будет", то ли имели опыт с какой-то экзотикой (тудно понять какой). А вот где действительно искорежили нужное и стандартное - так это в подпрограммах Ориона-ПРО в режиме совместимости с Орионом-128. Причем какие-то (уже не помню) более нужные вещи поправили (RAMTOP кстати тоже там выпилен). Делал правки в своих драйверах под "это", плевался. А то что "вместо ненужного" добавили - глючное и наполовину заглушено RET-ами.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

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

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Пользователю от Монитора вообще ничего не надо кроме опроса клавиатуры
    Вот и я почти об том же. На самом деле помимо ввода, от Монитора важен ещё и вывод (F809h и F818h), ну и разумеется самая главная п/п - F800h


    Цитата Сообщение от Error404 Посмотреть сообщение
    т.к. при наличии разных типов клавиатур это единственная аппаратно вариативная часть внутри "линейки Орионов-128"
    Тем не менее, в играх используют прямой опрос клавы в обход Монитора, ибо требуется скорость и не требуется антидребезг.


    Цитата Сообщение от Error404 Посмотреть сообщение
    опрос клавы удобнее в M3, кстати, при том что меньше по размеру
    Как пользователь, я не заметил разницы. А вот перехват комбинаций УС+НР+F4 и т.п. - это для меня была подстава! Причём даже не на уровне F803h, а аж в F81Bh!


    Цитата Сообщение от Error404 Посмотреть сообщение
    Все остальное так или иначе делается не Монитором
    Вот именно. В связи с этим вообще не вижу смысла его трогать, все свои навороты прекрасно можно делать в ПО "поверх" п/п Монитора. В т.ч. хитрые загрузчики с нестандартных носителей.


    Цитата Сообщение от Error404 Посмотреть сообщение
    RAMTOP - да, заглушили, вообще непонятно зачем он был нужен, такие вещи делаются не так.
    А что не так с сохранением значения RamTOP в системной переменной? "Так" - это как?


    Цитата Сообщение от Error404 Посмотреть сообщение
    Толи авторы в момент сочинения этих процедур не имели плана "а как оно будет", то ли имели опыт с какой-то экзотикой (тудно понять какой).
    План вполне конкретный и очевидный, имхо. Т.к. ОЗУ для программ пользователя и всяких драйверов в общем-то одно - нулевая страница, то для защиты этих самых драйверов нужен механизм. Собственно он и был придуман: простой и логичный.


    Цитата Сообщение от Error404 Посмотреть сообщение
    А вот где действительно искорежили нужное и стандартное - так это в подпрограммах Ориона-ПРО в режиме совместимости с Орионом-128. Причем какие-то (уже не помню) более нужные вещи поправили
    С Монитором Ориона-ПРО есть одно, но большое счастье - он в природе один единственный! Слава богу, что руки рационализаторов до него не добрались. Хоть тут какая-то стабильность, и при написании софта можно быть уверенным, что не всплывёт какой-то "сюрприз" при обращении к стандартной п/п из-за того, что у пользователя экзотический Монитор.


    Цитата Сообщение от Error404 Посмотреть сообщение
    (RAMTOP кстати тоже там выпилен).
    Я так понимаю, что он сделан на базе какого-то М3. Так что не удивительно.


    Цитата Сообщение от Error404 Посмотреть сообщение
    Делал правки в своих драйверах под "это", плевался.
    Я плевался трижды!

    1). Пресловутый RamTOP, причём ладно бы подменили на что-то безобидное, так нет, поставли запись чего-то в произвольную страницу ОЗУ! Для чего это делать средствами Монитора?..

    2). Опрос клавиатуры F81Bh. Совершенно замечательная подпрограмма, ибо инвариантна к текущей странице ОЗУ, т.е. её можно вызывать из любой и она корректно работает! В М1 и М2 работает одинаково, в М3 работает по-другому. Другие времянки реакции, соответственно при реализации на базе этой п/п своего ввода, курсор мигает по-другому. Реакция на РУС/ЛАТ совершенно иная (в чём разница сейчас уже не вспомню, но помню что громко плевался, когда выяснил). Зачем?! Потом из-за перехвата невозможно пользоваться комбинацией УС+НР+F4... "Спасибо".

    3). Область непереключаемого ОЗУ: F300..F3FFh. М2 использовал некоторые документированные участки под системные переменные и стек. М3 "решил" оккупировать другие участки, оптом. "Фича" недокументированная, разумеется. ПО, которое использует это бесценное непереключаемое ОЗУ, вдруг "внезапно" портит мониторный опрос клавиатуры! "Здрасьте, давно не виделись!"

    Конечно всё решаемо (жопочасами с дизассемблером наперевес), но "за что?" и ради чего, спрашивается...
    Последний раз редактировалось Denn; 08.12.2016 в 12:06.
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

Страница 1 из 2 12 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 506
    Последнее: 15.09.2023, 02:34
  2. Service rom + 128 basic rom
    от VELESOFT в разделе Оси
    Ответов: 1
    Последнее: 24.03.2013, 04:48
  3. Орион-128: BASIC
    от ivagor в разделе Орион
    Ответов: 28
    Последнее: 03.05.2012, 20:03
  4. ОРИОН 128-продам
    от Nordic в разделе Барахолка (архив)
    Ответов: 23
    Последнее: 23.03.2009, 07:54
  5. Орион-128
    от AlexBel в разделе Барахолка (архив)
    Ответов: 1
    Последнее: 25.09.2007, 20:40

Ваши права

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