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

User Tag List

Страница 83 из 136 ПерваяПервая ... 798081828384858687 ... ПоследняяПоследняя
Показано с 821 по 830 из 1351

Тема: Орион-128: Разное

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

    По умолчанию

    Да, он сделал это работая в ORDOS, хотя возможно и имея уже CP/M. Но от CP/M он, как и все фанаты ORDOS использовал лишь файловую систему, т.е имел её только для хранения файлов. Т.е имея CP/M, он всё-равно работал в ORDOS в силу привычки, а также из-за недостатка информации и непонимания преимуществ хороших инструментов.

    А когда получил CP/M, то написал ORDOS-A и ORDOS-E. Смысл которых заключался в том, что в ORDOS вводился диск E. В который файлы писались в формате эл.диска 120К от ACP/M 1.53 (это самая ранняя дурацкая версия, где ещё нет КС секторов, отчего при сбойном компьютере плодились дохлые файлы). А т.к КС секторов нет, то сектора пишутся впритык, поэтому для записи CP/M и не нужна - достаточно высчитать с какого адреса идёт первый свободный блок CP/M и кидать туда код файла, остаётся лишь сформировать каталоговую запись. Такая концепция вполне заменяла LORD и PMBB и позволяла фанатам ORDOS дальше "жить и бороться"

    Вот ORDOS-A и документация на неё. А вообще В.Воронин молодец. Самоучка, но достиг больших успехов в программировании. Он типичная жертва ORDOS. Каких бы успехов он достиг, если бы пользовался макро ассемблером, а не МИКРОНОМ?

    У меня есть только два нортона для ORDOS В.Воронина, позволяющие обмен CP/M--ORDOS, два его текстовых редактора и по мелочи. Если кого интересует, могу скинуть.
    Вложения Вложения
    Последний раз редактировалось barsik; 26.04.2017 в 23:47.

  2. #822
    Member Аватар для zhan57
    Регистрация
    09.05.2016
    Адрес
    с. Муравейка, Приморский край
    Сообщений
    60
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если очень надо, то могу странслировать такой М1 MS-7007, как для Z80, так и для КР580.
    Да просто собрал журнальный вариант Ориона, под клаву МС7007. А вот в сборке монитора стоит М1РК. Ну и соответственно курсор не управляемый.Так-то у меня стоит М2МС. Но хотелось бы и 1 под 7007 . К580. Чтоб всё до кучи.

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

    По умолчанию

    Так как я временно завис с эмуляторами СПЕЦИАЛИСТА и МИНСК-64 (не могу найти там одну серьёзную ошибку), то решил отвлечься чем-то совсем простым. Потому на досуге странслировал МОНИТОР-1 для Z80 и клавиатуры MS-7007. Если не будет нареканий, то странслирую версию и для КР580 (но она будет оверлейной, в ней русские буквы будут только, если есть ROM-диск).

    M1ZRK.DAT - это монитор-1 для РК86-клавиатур с процессором Z80.

    После замены некоторых КР580-команд на команды Z80 и оптимизации кода, удалось выиграть ~120 ячеек. Эти ячейки были потрачены на:

    - исправление неэффективной и неудобной п/п-ммы F803 (и соов-но F81B)
    - замену неудобной процедуры ввода команд на CCP из МОНИТОРА-3
    - на полную замену директивы M на упрощенную директиву M МОНИТОРА-3
    - на полную замену директивы D на упрощенную директиву D МОНИТОРА-3

    Теперь Вы имеете возможность сравнить работу драйверов клавиатур от M3 и от M1, M2.

    Директива 'D' имеет 2 параметра начальный и конечный адрес. В отличие от МОНИТОРА-3 нельзя задать 3-тий параметр номер банки (работает лишь для банки 0). Во всех командах нельзя вводить HEX-числа со старшим байтом FF (т.к это используется п/п-мой конверсии текстовой HEX-строки в числовое значение, как флаг ошибки). Это не недостаток (если например, в 'D' надо ввести конечный адрес FFFF, то введите вместо этого число больше 0, но меньше начального адреса, например 1).

    Директива 'M' также не принимает второй параметр (N банки), отчего может использоваться только для модификации банки 0. Напоминаю свойства директивы 'M' из монитора-3. Можно переходить к предыдущей ячейке и последующей, нажимая курсорные клавиши вверх и вниз. Можно вводить не только HEX-числа, но и ASCII. Для этого сначала надо нажать префиксную клавишу <АР2>, а затем клавишу соответсвующую нужному символу. Конец редактирования точка.

    Существенно была оптимизирована подпрограмма ввода с МГ (RDBYTE), благодаря чему на столь маленькой подпрограмме было выиграно ~30 байтов ! Однако эта МГ-процедура не проверялась ни в реале, ни в эмуляторе (т.к мой эмулятор работает в MSDOS и потому не умеет читать WAV-файлы в реальном времени).

    На реале, я тоже не могу проверить, т.к на моих платах нет адаптеров магнитофона (операционники были выкушены и сданы на "злато" ещё в начале 90-тых). Потому убедительная просьба к владельцам ОРИОНА на Z80 полноценно проверить этот монитор в реале. А также сравнить удобство ввода с клавиатуры с оригинальным М1.

    Ещё желательно было бы переделать процедуры вывода символов и процедуры FLASH курсора. А также ввести более грамотный автоповтор. Но на это уже нет места в ПЗУ (не хватает ~80 ячеек).

    M1ZRK-00.DAT. Это промежуточная версия, аналог M1, в котором заменены только директивы D и M. Изменена также процедура ввода строки, т.к в M1 она была уж совсем дурная. А процедуры ввода с клавиатуры и работы с МГ-лентой оставлены полностью оригинальные.

    Теперь, что успел сделать для MS7007. Как и писал в предыдущем посте, для КР580 возможна только оверлейная версия с подгрузкой фонта из ROM-диска. Для начала я сделал версию для Z80 (который даёт выиграть место для более крупного драйвера MS-7007). Если вариант для Z80 не вызовет нареканий, то несложно вновь переделать исходник на коды КР580, и странслировать (удалив из ПЗУ половину компрессованого фонта). Но тут понадобится существенная оптимизация, чтобы сохранить резидентными хотя бы все латинские буквы и цифры.

    M1ZMS - практически неизменённый код М1. Лишь выиграно менее ~100 ячеек которые потрачены на замену драйвера РК-клавиатуры на драйвер MS-7007 клавиатуры по схеме из ж.РАДИО 12.1991. Здесь всё должно работать также как в оригинальном М1. К сожалению драйвер MS7007 работает примерно вдвое быстрее, чем драйвер РК-клавиатуры. А т.к в М1 и М2 применена довольно глупая процедура ввода (основанная не на логике, а на задержках), то возможны проблемы с автоповтором. Если не устроит придётся что-то менять...

    К сожалению, не имею возможности проверить M1-Z/MS ни в эмуляторе (нет эмуляторов MS-7007), ни на реале, т.к нет MS-7007 клавиатуры (они довольно быстро изнашиваются, плохая пластмасса, надписи на клавишах исчезают, т.к пластмасса истирается, напыление плёнок стирается, пленка ломается). То есть это вообще никак не проверенный монитор. Но уверен, что он будет работать.

    Кроме этого вкладываю версию МОНИТОРА-2 (КР580) для MS-7007 по схеме ж.РАДИО 12.1991. И две версии М3 MS-7007 - M3-Z80 для MS-7007 из 1992 (но не оригинал, а перетрансляция, чтобы забить вектора на F3F0, чтобы не было конфликтов с программами <censored>, что нагло лезут в ОЗУ предназначенное только для ROM-BIOS) и М3 MS-7007 для КР580.

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

    Вложение этого поста удалено, как устаревшее и в дополненном виде вставлено в какое-то моё следующее сообщение.
    Последний раз редактировалось barsik; 29.04.2017 в 09:39.

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

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    К сожалению, не имею возможности проверить M1-Z/MS ни в эмуляторе (нет эмуляторов MS-7007), ни на реале, т.к нет MS-7007 клавиатуры (они довольно быстро изнашиваются, плохая пластмасса, надписи на клавишах исчезают, т.к пластмасса истирается, напыление плёнок стирается, пленка ломается). То есть это вообще никак не проверенный монитор. Но уверен, что он будет работать.
    Посмотрел M1ZMS в эмуляторе с клавиатурой МС7007 - очень быстро работает ввод, надо бы раза в три медленнее. По функционалу не скажу, т.к. M1 пользуюсь первый раз.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

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

    По умолчанию

    Windows программа-драйвер 'Punto-Switcher', позволяющая сделать переключение РУС-ЛАТ одноклавишным, вредит, по-крайней мере, эмуляторам написанным для MSDOS (причём всем). При загруженном 'Punto-Switcher' реакция на клавиши в эмуляторах становится очень заторможенной. Иногда отклик через секунду после нажатия, а если клавишу задержать чуть-чуть дольше, то срабатывает встроенный в 'Punto-Switcher' автоповтор и выскакивает сразу до десятка символов нажатой клавиши. Поэтому пользоваться эмуляторами с этим дурацким 'Punto-Switcher'-ом практически невозможно. Его приходится выгружать, а для набора текстов снова загружать. Это очень неудобно для отладки программ в эмуляторе, т.к при разработке программ, самый выгодный метод - это небольшие изменения текста исходника и потому очень частые перетрансляции для проверок.

    Цитата Сообщение от error404
    Посмотрел M1ZMS в эмуляторе с клавиатурой МС7007 - очень быстро работает ввод, надо бы раза в три медленнее
    Сделал новую версию выше-выложенного M1ZMS , в котором доработал ввод с клавиатуры (добавил паузу перед началом процедуры автоповтора). По прикидкам это должно помочь, но точную константу я высчитал лишь теоретически, поэтому мог ошибиться, теперь уже в большую сторону (сообщите если темп автоповтора стал слишком медленным).

    error404, проверьте пожалуйста эту версию. Также интересует работа и версий для РК-клавиатур. Хотя проверка в эмуляторе не даёт точного представления о поведении программы (что конечно зависит от точности эмулятора). Разве ни у кого нет Z80 с MS-7007 клавиатурой? Это надо проверить перед тем, как делать версию для КР580.

    Также существенно доработал версию M1-Z80 для РК-клавиатур (новая версия М1.03). Относительно выложенной несколько часов назад версии М1.02, в новой версии переделана и подпрограмма вывода на экран и подпрограмма FLASH курсора.

    Подпрограмма вывода теперь выводит не 8 линий знакоместа из 10, а 9 линий из 10-ти. Кроме того, теперь, как и во всех моих мониторах курсор сделан большим и его форма изменяется при включении русского регистра. К сожалению, индикации включённого регистра высотой тона подзвучки сделать нельзя, т.к в М1 вообще нет подпрограммы вывода звука F83F. И единственный звук который присутствует в этом мониторе - это клик нажатия клавиши. Чтобы хоть что-то звучало по звуковому вызову F83F, этот вход теперь переадресован на клик нажатия клавиши.

    Интересно узнать какие программы для M2 не будут работать с М1.Т.к вектора CONIN/CONOUT одинаковы, то смогут работать драйвера загружаемые на вектора ПЗУ (отчего в CP/M не должно возникнуть проблем).

    Из-за остутствия в М1 оконных функций и координат окна, не должны работать только оконные программы, в которых устанавливается размер окна и управляющими кодом выполняется очистка. С закраской цветом проблем не будет, т.к в М2 также нет процедур закраски окна цветом и вывода в цвете (отчего в ORDOS всё приходится делать "по железу", т.к даже цветных оконных драйверов для ORDOS просто нет).

    Да и базовые функции ПЗУ в основном не поддерживают ни окна, ни цвет. Например, позиционирование по 1B,59 позиционирует не учитывая установленное окно, как положено, а так как будто окно и не было установлено.

    М1 содержит совсем маленький набор команд (не сравнить с М3). Вот перечень команд, что я нашёл внутри него.

    'M' - модификация ячеек ОЗУ
    'D' - просмотр дампа памяти
    'I' - ввод блока с МГ (аналог дир.I в РК86)
    'O' - вывод блока на МГ (аналог дир.O в РК86)
    'R' - загрузка и старт 2 кб из ROM-диска на B800
    'Z' - JMP BFFD
    'C' - один параметр: старший нибл цвет фона, младший цвет букв
    'G' - запуск программы по указанному адресу.

    PS: В полностью базовый M1 (без модификаций кода) за счёт замены на коды КР580 (что освобождает ~100 ячеек и еще ~40 выигрываются оптимизацией кода, без замены логики) можно встроить 2 команды чтения и записи МГ-файла в формате ORDOS, что сделает ненужной программу CH$.

    PPS: Да, забыл упомянуть. Также как в оригинале М1, оставлена работа с системными регистрами только командами STA F800 (F900,FA00), хотя использование команд OUT позволило бы выиграть кучу байтов. Это сделано специально. Чтобы М1 работал на Z80 без установленного дешифратора на OUT.

    Из-за таких свойств М1, это позволяло использовать его на Z80-ОРИОНАХ, где нет дешифратора на OUT или есть "дохлота" в схеме, отчего OUT не проходят (тогда М2, М3, М4 не работают, а М1 работает). Также это полезно при поэтапной замене КР580 на Z80, где установка дешифратора на OUT, это последний этап доработки.

    Да, ещё нюанс. Вывод звука во всех выложенных версиях - триггерный по OUT FF (так же сделано в Apple-II). Собственно звука, как такового, в М1 вообще нет (т.к нет звуковой подпрограммы F83F), речь, естественно о звуке клика клавиатуры. Если кого-то это не устраивает, то могу перетранслировать, чтобы звук выводился по биту МГ-OUT (это плохо, потому что по разному при РК и MS клавишах) или сделать подзвучку за счёт таймера ВИ53 стоящему по адресу F740.

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

    Вложение этого поста удалено как устаревшее, более свежие версии есть в следующих постах http://zx-pk.ru/threads/6066-orion-1...l=1#post910453.
    Последний раз редактировалось barsik; 24.04.2017 в 23:14.

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

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Windows программа-драйвер 'Punto-Switcher', позволяющая сделать переключение РУС-ЛАТ одноклавишным, вредит, по-крайней мере, эмуляторам написанным для MSDOS (причём всем). При загруженном 'Punto-Switcher' реакция на клавиши в эмуляторах становится очень заторможенной. Иногда отклик через секунду после нажатия, а если клавишу задержать чуть-чуть дольше, то срабатывает встроенный в 'Punto-Switcher' автоповтор и выскакивает сразу до десятка символов нажатой клавиши. Поэтому пользоваться эмуляторами с этим дурацким 'Punto-Switcher'-ом практически невозможно. Его приходится выгружать, а для набора текстов снова загружать. Это очень неудобно для отладки программ в эмуляторе, т.к при разработке программ, самый выгодный метод - это небольшие изменения текста исходника и потому очень частые перетрансляции для проверок.
    В PuntoSwitcher можно настроить список приложений, нажатия в которых он не проверяет, меню "Программы-исключения". Очень полезно например для программ типа Putty где без этого PS пытается переводить на русский команды UNIX которые с его точки зрения скорее ближе к русскому набору букв. Возможно, добавление исключений и с эмуляторами решит проблему ввода.

    Цитата Сообщение от barsik Посмотреть сообщение
    Интересно узнать какие программы для M2 не будут работать с М1.Т.к вектора CONIN/CONOUT одинаковы, то смогут работать драйвера загружаемые на вектора ПЗУ (отчего в CP/M не должно возникнуть проблем).
    Новая версия M1ZMS теперь вполне комфортно работает с вводом как на 2,5, так и на 3,5 и на 5Мгц.
    Пo "R" запускается Ордос, но далее почему-то по "D" Ордос в ДИРе выдало только первый файл каталога (VC$ - нортон), а его запуск (LVC) привел к завису. Возможно как раз из-за оконных функций, VC же там чего-то рисует панелях командера.
    Лучше сделать и жалеть, чем не сделать и жалеть.

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

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

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

    По умолчанию

    Цитата Сообщение от error404
    Пo "R" запускается Ордос, но далее почему-то по "D" Ордос в ДИРе выдало только первый файл каталога (VC$ - нортон), а его запуск (LVC) привел к завису
    Вот чёрт... Я бы мог ожидать такого от версий для РК-клавиатур (где я много поменял), а не для MS-клавиатуры, т.к там из-за нехватки места, я ничего не имел возможности изменить. Непонятно, как драйвер клавиатуры мог столь фатально нарушить работу ORDOS.

    То что VC$ вешается - это нормально, т.к он сделан уже для М2. Но NC$ (по-крайней мере, ранних версий из 1990 года) уж точно должен работать, т.к М2 в 1990 вообще не было. Но вот то, что по <ВК> на пустой строке или D<ВК> не выдаётся каталог ORDOS - это совсем не нормально. Надо проверить в ORDOS версий 2.0 и 2.40 (вдруг в этом дело, т.е вдруг версия ORDOS 4.03 тоже привязана к M2).

    Если бы речь шла о последней версии M1.03 для РК-клавиатуры, где я поменял ячейки POSX и POSY, чтобы приблизить М1 к М2, то можно было бы грешить на это (хотя и это трудно предположить, не настолько же глупы авторы этих программ, чтобы привязываться к ячейкам, не проверив предварительно версию ПЗУ). Но в версиях для MS я ничего не менял (хотел бы, да не мог, нет свободного места в ПЗУ).

    Не могли бы Вы проверить поведение оригинального М1 (для РК-клав) с ORDOS 2.0, 2.40 и 4.03 (более старых и более свежих у меня нет). Даже крутой ORDOS от А.Вакуленко и той уже не имею (утратил в 2000 году). Только такой опыт позволит выяснить в чём дело. Впрочем для проверки ПЗУ для РК-клавиатур годится любой эмулятор (это для MS-7007 эмулятора не найти). Я так понял, в Вашем эмуляторе точно есть клавиатура MS-7007. А разве эмуляции клавиатуры от РК86 нет? Это было бы странно, ведь клавиатура от РК86 - основная.

    Спасибо за инфо, что Punto-Switcher можно автоматически отключать при старте эмуляторов.

    Погорячился с утверждением, что с М1 можно использовать драйверы для ORDOS и для CP/M. Заглянул в листинг М1 и оказалось, что п/п-мма CONOUT векторизована, а вот п/п-мма CONIN не векторизована. Так что, увы, прощайте мечты об использовании с М1 драйверов. Впрочем грамотные версии CP/M имеют свои вектора (хотя много неграмотных авторов это игнорировали, сдуру по-прежнему вешая драйвера на вектора ПЗУ). Драйвера CP/M на векторах ПЗУ приводят к тому, что из CP/M становится невозможно запустить игру не отгрузив каким-либо способом драйвер.

    Кстати, для ORDOS, если не считать мои драйвера для ORDOS, я знаю всего один драйвер KEYALT$ от LUKSIAN KEY из Омска (да и его пришлось переделывать для М3, т.к М3 выводит символ по центру знакоместа (а не скраю, как делают М1 и М2).

    Вот способ, как избавляться от драйверов при старте игр в версиях CP/M, где драйверы навешаны на векторы ПЗУ. М3 для Z80 имеют автостартовый "хук", загрузив на который свой JMP можно делать JMP F800 (или нажимать на сброс) - программа автоматически вернётся в нужную точку без разрушения ОЗУ с полностью инициализированными раб.ячейками ПЗУ, что отгружает все драйвера. Но с М1 и М2 такой возможности нет.

    Тогда надо использовать следующий трюк. При запуске игры, форматируем квазидиск B и записываем на него файл с именем EXT$. В этом файле-программе короткая программа, что удаляет файл EXT$ с квазидиска а затем передает управление на старт игры. Это делает Нортон предназначенный для запуска ORD, DAT и COM-файлов игр. Нортон загружает игру в банку 0 и создаёт описанный выше файлик EXT$ (который грузится на адрес B700 или F300), а затем делает JMP F800.

    Возможен также стартёр, что предварительно копирует стартуемый ORDOS файл в квазидиск 'B' и стартует его средствами ORDOS (это надо для оверлейных ORDOS программ, что "лазят" в свой код в квазидиске в ходе работы, а также многофайловых ORDOS-программ), но такого я не делал, т.к пользуюсь DOS для банки 0 (что не разрушает квазидиск, как DOS для банки 1).

    Однако для использования этого трюка надо обязательно иметь в ROM-диске ORDOS. M3 позволяет и ещё один трюк для восстановления векторов ПЗУ. Достаточно поставить на BFFD команду JMP на адрес загрузки игры и подогнать байт паритета области B800...BFFF до E6. Причём этот трюк работает даже с ранними версиями М3, т.к автостартовость по паритету, - это врождённое свойство М3 (в то время как автостартовая ловушка добавлена только в Z80 версиях в 1992).

    Кстати, некоторые версии М3 после 1995 года имели специальный вход инициализации ячеек ПЗУ, что отгружает все драйвера одной командной CALL. Это вход за 3 байта до WARM BOOT F86C. Чтобы этим воспользоваться, надо проверить, что по этому адресу стоит байт C3 и сделать CALL туда.

    Прилагаю монитор-1, чтобы можно было сравнить как в нём работает ORDOS 4.03 (а также исходник М1). Где-то ещё был исходник ORDOS 4.03 (но его долго искать).
    Вложения Вложения
    Последний раз редактировалось barsik; 23.04.2017 в 17:34.

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

    По умолчанию

    Цитата Сообщение от error404
    по директиве "D" ORDOS выдаётся только первый файл каталога
    Да, это же уже 26 лет известная недоработка ORDOS, основанная на ПЗУ авторов ОРИОНА. Авторам лень было встроить 3 команды КР580 в начало директивы 'D', чтобы убедиться, что клавиатуру уже освободили.

    Вы когда последний раз пользовались ORDOS-ом с монитором-3 или 4? Вы что уже забыли, как работает ORDOS с ПЗУ, где клавиши срабатывают по нажатию. ?

    Такой вывод каталога в ORDOS наблюдается на всех ПЗУ, в которых подпрограмма ввода с клавиатуры работает по нажатию, а не по отпусканию, как это очень странно сделано в мониторах авторов. Это неумно бороться с быстрым автоповтором, дожидаясь отпускания клавиши. Нет в мире другого компьютера где-бы клавиатура работала по отпусканию.

    Мониторы 1 и 2 - это единственные в мире ROM-BIOS с таким опросом клавиатуры. Хотя простейший алгоритм правильной реализации автоповтора и борьбы с дребезгом вдвое короче, чем применённый в М1 и М2 и не зависит от скорости компьютера. Надеюсь, что в ОРИОН-ПРО это сделали уже по-человечески.

    ORDOS при выводе каталога работает так. При опросе клавиш по нажатию, вход в директиву DIR происходит ещё при нажатой клавише <ВК>. Директива выдачи каталога, выдав первую строку, делает CALL F81B, чтобы узнать не нажал-ли пользователь на какую-либо клавишу для стопа (как будто этот стоп вообще нужен, ведь в квазидисках не бывает более 25-ти файлов, так что все влезают в экран). Обнаружив, что из F81B вернулся не FF, т.е что-то нажато, директива 'D' останавливает вывод каталога и вываливается в CCP ORDOS.

    Достаточно понизить скорость прогона до 1 МГЦ или нажимать на <ВК> очень коротко, и тогда весь каталог выводится. Или нажать <ВК> десяток раз чтобы курсор дошёл до низа экрана. Тогда по выводу <ВК> по окончании печати первой строки начнётся ролик всего экрана, что длится треть секунды, а за это время клавиша будет Вами отпущена. И пройдёт полный вывод каталога.

    Проблема возникла оттого, что авторы драйвера клавиатуры MS-7007, увы, были традиционны и использовали срабатывание клавиш по нажатию, а не по отпусканию. Так что моей вины в этом нет. Это вина авторов ORDOS.

    Исправить эту ошибку в коде ORDOS - дело минуты, если есть исходник. Авторы сознательно не исправляли это, чтобы отблокировать нормальные ROM-BIOS. А мне не хотелось заниматься исправлением ORDOS, т.к считал что она вскоре вымрет сама по себе.

    Насчёт зависа VC$ сложнее. Насчёт реала не знаю (никогда не пробовал), но в эмуляторе при процессоре Z80 и с некоторыми ROM-BIOS он зависает. Но при КР580 работает всегда.

    Связано ли это с конфликтом по ячейкам F3F0...F3FF, что отведены только для ROM-BIOS (и программы никогда не должны туда лезть) или ещё с чем-то, - не знаю. NC$ (2VS) работает без проблем с любым ПЗУ, в том числе и с М1. И Нортоны В.Воронина тоже работают с М1.

    Кстати, помнится в 1991 году был популярен ORDOS нортон с шрифтом 8*8. Фамилию автора забыл, но часто видел эти файлы в каталогах разных торговцев ПО. Там было, кажется, 2 файла, - сам нортон и драйвер 8*8 с именем W.DR. Хотел бы взглянуть на этот интерфейс. Нортон А.Вакуленко и его другое ПО тоже использовал шрифт 8*8, и только авторское ПО всегда почему-то ориентировалось на некрасивый мизерный шрифт 6*8.

    К сожалению, в VC$ и других ORDOS программах не указан номер версии. И несложно было сделать HELP, пусть и оверлейный. По нажатию <F1> ищется файл VC.HLP и запускается как оверлей, выводя окно с HELP-ом, отчего потерь размера TPA нет.

    Наверное, вскоре дизассемблирую и исправлю этот глюк ORDOS по выводу каталога и похоже придётся дизассемблировать и изучить VC$. А может быть странслирую свой NC для ORDOS (работающий без ORDOS, т.к сама ORDOS заменяется кодом в 200 байт и нет смысла тратить в 10 раз больше ОЗУ впустую).

    В общем, я смог проверить только версию М1-Z80 для РК-клавиатуры и почти всё работало так как и ожидалось. Версию для MS-7007 проверить не смог (впрочем она и не интересная, там всё сплошной оригинал). С VC$ я разберусь позднее. А в ближайщие дни смогу сделать только версию ORDOS 2.41 и 4.04, в которых лишь исправлю директиву вывода каталога. А также сделаю версию M1/MS-КР580 с подгрузкой фонта из ROM-диска.

    Внесение имени MSDOS-программы в список исключений Punto-Switcher не помогает (возможно помогает только для программ Windows). Если бы Punto-Switcher понимал командную строку, т.е если бы его можно было выгрузить командной строкой, где после имени указан ключ /OFF, как это можно для всех приличных TSR-программ MSDOS, то проблема бы решилась.
    Последний раз редактировалось barsik; 23.04.2017 в 23:06.

  10. #829
    Activist Аватар для ABRAMKA0
    Регистрация
    16.10.2015
    Адрес
    г. Нытва
    Сообщений
    277
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Такой вывод каталога в ORDOS наблюдается на всех ПЗУ, в которых подпрограмма ввода с клавиатуры работают по нажатию, а не по отпусканию. как это <censored> сделано в мониторах авторов. Это <censored> бороться с автоповтором, дожидаясь отпускания клавиши. Нет в мире другого компьютера где-бы клавиатура работала по отпусканию.
    Владимир Иванович,ну хватит уже "хаять " ORDOS, что такое она Вам сделала? И авторы Ориона для Вас из года в год <censored>. Они являются отцами-создателями НАШЕГО ЛЮБИМОГО ОРИОНА,а родителей надо уважать и чтить,какими бы они не были.
    Теперь насчет клавиатуры.


    Цитата Сообщение от barsik Посмотреть сообщение
    Нет в мире другого компьютера где-бы клавиатура работала по отпусканию.
    Есть такой компьютер,и называется он "IBM" или PC.На нем клавиатура работает и по нажатию и по отпусканию(см.фрагмент описания принципа работы клавиатуры на сайте http://www.cyberguru.ru/operating-sy...ers-page9.html)

    Цитата Сообщение от barsik Посмотреть сообщение
    Наверное, вскоре дизассемблирую и исправлю этот глюк ORDOS по выводу каталога и похоже придётся дизассемблировать и изучить VC$. А может быть странслирую свой NC для ORDOS (работающий без ORDOS, т.к сама ORDOS заменяется кодом в 200 байт и нет смысла тратить в 10 раз больше ОЗУ впустую).
    Цитата Сообщение от barsik Посмотреть сообщение
    В общем, я смог проверить только версию М1-Z80 для РК-клавиатуры и почти всё работало так как и ожидалось. Версию для MS-7007 проверить не смог (впрочем она и не интересная, там всё сплошной оригинал). С VC$ я разберусь позднее. А в ближайщие дни смогу сделать только версию ORDOS 2.41 и 4.04, в которых лишь исправлю директиву вывода каталога. А также сделаю версию M1/MS-КР580 с подгрузкой фонта из ROM-диска.
    Как тогда прикажете понимать Ваши слова,что Вы хотите исправлять "горячо не любимую" Вами ОРДОС?
    Последний раз редактировалось Error404; 24.04.2017 в 12:11. Причина: Идиомы удалил. Детский сад :)

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

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Да, это же уже 26 лет известная недоработка ORDOS, основанная на ПЗУ авторов ОРИОНА. Авторам лень было встроить 3 команды КР580 в начало директивы 'D', чтобы убедиться, что клавиатуру уже освободили.

    ... как это <censored> сделано в мониторах авторов. Это <censored> бороться с быстрым автоповтором, дожидаясь отпускания клавиши.

    ...Проблема возникла оттого, что авторы драйвера клавиатуры MS-7007 <censored>использовали срабатывание клавиш по нажатию, а не по отпусканию. Так что моей вины в этом нет.

    Исправить <censored> в коде ORDOS ...

    Авторы сознательно не исправляли это <censored>, чтобы отблокировать нормальные ROM-BIOS. А мне не хотелось заниматься исправлением ORDOS, т.к считал что она вскоре вымрет сама по себе.

    Убедительное просьба к модератору: прекратить на форуме это поливание грязью авторов ПРК ОРИОН. Честное слово, всю эту "лирику" противно читать. Здесь технический форум, а не вумен.ру !
    Последний раз редактировалось Error404; 24.04.2017 в 11:56. Причина: Идиомы удалил. Детский сад :)
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

Страница 83 из 136 ПерваяПервая ... 798081828384858687 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Специалист: Разное
    от Splinter в разделе Специалист
    Ответов: 171
    Последнее: 09.05.2018, 07:50
  2. Видео про спекрум новое разное
    от AAA в разделе Новости
    Ответов: 19
    Последнее: 05.08.2016, 22:57
  3. Куплю Поиск, Радио - 86, Орион, БК
    от luzanov в разделе Барахолка (архив)
    Ответов: 23
    Последнее: 03.04.2007, 17:50
  4. Ответов: 4
    Последнее: 05.10.2006, 20:18
  5. Я готов купить Радио и Орион
    от Shaos в разделе Барахолка (архив)
    Ответов: 7
    Последнее: 18.12.2005, 22:15

Метки этой темы

Ваши права

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