User Tag List

Показано с 1 по 10 из 190

Тема: ОРИОН - Флейм. "Бойцы вспоминают минувшие дни..."

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

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

    Arrow

    Цитата Сообщение от Denn
    ОРИОН есть глупость относительно, например, IBM PC того же времени
    Нехорошо сказал. У ОРИОНА своя ниша, а у PC своя. Без уточнения того же времени, эту фразу в определённом смысле можно считать верной, но для 1990 это было не так.

    Привозное IBM-железо хлынуло в солидных количествах и по приемлемой цене только в 1993. И поначалу оно обходилось раз в 5-6 дороже сборки ОРИОНА с дисководом. В 1994 цена 386-тых (без винта) в 3 раза превышала цену ОРИОНА. Но рабочий XT без монитора стоил уже как комплект деталей ОРИОНА.

    Т.о не учитывая ожиданий пользователей, ОРИОН в крупных городах до 1994 не был глупостью. В том смысле который Вы имели ввиду. А для периферии это было аж до 1995. Поэтому в 1995 был такой стремительный "отлив" пользователей. Ушли те, кто думал, что ОРИОН сможет им дать то же, что IBM PC. Остались только радиолюбители, апаратчики и программисты любители. Для них ценовой аспект и реальная польза от ОРИОНА не играла роли. PC - для пользы, рэтро железо - для души.

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

    Цитата Сообщение от Denn
    Есть такое понятие, как "уважение коллег по цеху"
    Речь не о личностях, а о идеях. У любого человека полно глупых идей. Но мало кто старается довести свою глупую идею до абсурда, пользуясь имеющимися преимуществами. Отвергая даже саму мысль об исправлении хотя бы того, что стоит труда в 10 минут. И если назвать глупую идею гениальной, это не сделает её менее глупой.

    Цитата Сообщение от Denn
    RAMTOP не со Спеца ли присутствует в Мониторе?
    Исходно в СПЕЦИАЛИСТЕ 1985 нет никакого RAMTOP-а. Но при адаптации для него монитора РК86 он появился. Хотя этим, видимо, никто не пользовался, т.к в СПЕЦИАЛИСТЕ легко "открыть" 8 Кб верхнего ОЗУ D000...EFFF, чтобы грузить туда драйвера и ДОС. Кроме того в СПЕЦИАЛИСТЕ куча свободных панелек для ПЗУ. Поэтому там обычно драйвера принтера, передачи по линии, шрифтов КОИ-8 и 8*10, а также МГ-формата MSX, прошивали в ПЗУ, чтобы они всегда были "под рукой".

    А в РК86 RAMTOP введён, чтобы загрузив драйвер принтера под вершину свободного ОЗУ, можно было стартовать текстов редактор или бейсик и он бы не затёр драйвер. В РК86 запрос/установка RAMTOP правильно сделана подпрограммой, т.к РК86 был изначально рассчитан на смену архитектуры.

    Что предполагалось достичь "втыканием" в панельку для ИД7 косы с DIP-разъёмом идущую к крошечной платке, где стоит "реконфигуратор" 556РТ4 (РТ11) и пара корпусов обрамления. Но почему-то, несмотря на анонсы, у авторов РК "руки не дошли" это опубликовать. Кстати, почему-бы кому-нибудь не опубликовать такую схемку сейчас? Раз уж при наличии Интернета это стало так просто.

    То есть, в РК86 адрес ячейки RAMTOP (7631) предполагалось менять. Потому и введены подпрограммы ASKTOP и SETTOP. А в ОРИОНЕ просто "с'обезъянничали" две подпрограммы ASKTOP (F830) и SETTOP (F833), хотя там это и ни к чему. Т.к ячейка RAMTOP (F3EC) уже и так находится в вершине ОЗУ и перемещать её выше нет нужды. Поэтому программы могут напрямую "лазить" туда, не опасаясь изменения её адреса в будушем.

    Команды LD (RAMTOP),HL и CALL SETTOP имеют одинаковый размер в 3 байта. И потому даже, если надо прогонять на ОРИОНЕ программу РК86 с использованием п/п-мм ASKTOP и SETTOP, то замена 3-х байт занимает даже у самого тупого новичка в программровании не более 30 секунд - запускаем команду поиска "слова" F833. Проверяем, что это CALL F833 и заменяем на 3 байта команды LD (F3EC),HL.

    К тому же даже корректные текстовые программы РК86 всё-равно не работают на ОРИОНЕ. Это происходит потому, что авторы ОРИОНА не знали, что РК86 работает с клавиатурой по принципам имитации аппаратной клавиатуры (что не отражено в журнальных статьях). А точнее, подпрограмма STATUS (F812) не только возвращает флаг "есть/нет символ в буфере", но и кладёт символ в символьный буфер. А в ОРИОНЕ этого нет. По этому какой смысл "цепляться" за никому не нужные подпрограммы для RAMTOP.

    Но... И это подчёркиваю, даже эти две бессмысленные RAMTOP-подпрограммы 95% версий МОНИТОРОВ-3 сохраняли (те, где была возможность работать с ORDOS). К версиям ROM-BIOS для Z80 3.2...3.5 я отношения вообще не имею, и не считаю их МОНИТОРАМИ-3, т.к они не рассчитаны на подгрузку стандартного M3-EXT и вообще работу в мониторной среде и тем более в ORDOS. Они и были рассчитаны только на пользователей дискетной CP/M и работать с ними в ORDOS и даже просто в RAM-мониторе вообще не предполагалось. К тому же, как указано выше, некоторые из них - "глючные" по клавише <RUSLAT>, хотя в CP/M это никак нельзя было обнаружить. Это обнаруживается только в ORDOS или в "голом CCP". Для выхода в "голый CCP" надо при сбросе удерживать УС или СС (любую из них, но не обе), тогда загрузка 2-х кило из ROM-диска или загрузка BOOT-сектора с НГМД блокируется и происходит JMP на F8B6 (вход в CCP).

    Все эти версии А.Новгородова и С.Караваева (V3.6,1993), я впоследствии (1995) изменил, устранив глюки, исправив упрощенный и неудобный автоповтор, введя большой курсор и сделав их действительно М3 (для чего достаточно было переместить 6 подпрограмм на положенные места). Эти доработанные "чужие" версии имеют номера: 3.21MS, 3.22RK, 3.31D, 3.41, 3.51D, 3.53, 3.63, 3.71. М-3.70 это была моя первая попытка (1993) получить удовлетворительную версию M3-Z80, чтобы ей можно было пользоваться в ORDOS. Раньше на это просто никто не обращал внимания, т.к предполагалось "Какой нормальный человек будет пользоваться туфтой ORDOS?", если у него есть нормальная дискетная CP/M.

    Предполагалось, что ORDOS умрёт сама собой, по мере распространения дисководов. Однако, нашлись вредители, которые придумали способы использовать ORDOS даже с дисководом: SPDOS, PMBB, BIG, LORD (М.Бриджиди), LK SHELL, спустя всего 3 года BRU4 и АТЛАС от ОРИОНСОФТ, а спустя всего 6 лет и MSCOM$ от С.Коровкина. Понятно, что этим людям пришлось сделать обмен между дискетой и ORDOS, т.к другого выбора и не было, при господстве ORDOS, т.к она есть у всех.

    Я не понимаю, зачем в 1991-93 было "цепляться" за ORDOS, для неё же вообще не было тогда программ, если не считать бейсик, и неудобный текстов редактор от авторов ОРИОНА (PENX$ я не считаю, т.к С.Коровкин сделал его дисковую версию). Впрочем, программ для ORDOS не особо прибавилось и позднее, а всё, что стоило иметь работало без ORDOS. Думаю, что главную роль здесь сыграло "печатное слово", т.е журнал РАДИО с публикациями про ORDOS. Вывод: можно "втюхать" любую туфту, если обеспечить рекламу.

    Мои собственные версии М3-Z80 (начиная с 1994) используют другую нумерацию M3.11...M3.15x и являются настоящими М3 (т.е сохраняют концепцию и совместимость с М3.1). Их легко отличить по большому курсору. Обычно на свободное место в них "засунуты" директивы D и M, т.е это полноценные мониторы, даже без подгрузки расширения в ОЗУ.

    А версия 3.5-BETA, на которой почему-то основываются все обвинения в адрес M3, это во-первых не М3, а личные версии ROM-BIOS нескольких пользователей с Z80 (имеющих доступ к исходникам) странслированные для своих личных целей, без учёта концепции М3. Например, М3.5 содержит встроенный загрузчик дисковода. И она при всём желании не может работать в ORDOS и, соответственно, обслуживать в ORDOS-программах запрос и установку RAMTOP. Поэтому зачем же было сохранять ненужные подпрограммы, тратя на это драгоценные байты?

    Кстати, error404, а зачем Вы заглушили стандартный вход РК86 F86C (WARM BOOT). Вы же видели в исходнике, что, чтобы сохранить этот стандартный для РК86 и ОРИОНА вход в ROM-BIOS 3.5 пришлось "изворачиваться" с лишним JMP-ом. Ясно же, что это было сделано "не сдуру", а так надо. Т.к из многих программ есть выход туда, а с Вашими версиями ROM-BIOS произойдёт улёт.

    Но самый интересный вопрос - почему это М3, если всё. что образовывало М3 из ПЗУ выкинуто? Полностью выкинут CCP, подпрограмма ввода строки, п/п-ма конверсии текстовых HEX-цифр в их значения, устранена совместимость с М3-EXT. От М3 остался только эффективный алгоритм распаковки фонта, драйверы вывода символа на экран и ввода с клавиатуры, плюс резидентный обработчик нажатий УС+СС+клавиша. Это скорее М2 с другим кодом самих подпрограмм.

    Кроме того, если я верно помню, там возможны и серъёзные ошибки. Проверьте работу INTA на предмет сохранения регистров (HL и DE) при нажатии УС+СС. В каких-то версиях Новгородова HL не сохранялся при нажатии УС+СС - надо обрамить CALL INTA - PUSH HL, POP HL.

    Конечно, это не обнаружить, если не нажимать УС+СС. Есть ORDOS-программы, где при опросе клавиатуры или выводе символов HL важен и, если случайно нажать УС+СС (даже не нажимая 3-ю клавишу), то будет улёт. А CALL SINTA вызывается для ввода и вывода, отчего почти всегда можно прервать любую программу (даже, если не загружен внешний драйвер клавиатурного прерывания - есть несколько резидентных в ПЗУ АЛЬТ-команд). Например, пошёл ролик и не успеваете прочитать - УС+СС+S и ролик встал. Читайте спокойно. Любая клавиша - ролик пошёл дальше.

    В моих мониторах так (здесь видно, что INTA вызывается после вывода символа, но также CALL SINTA выполняется и перед опросом клавиатуры).
    Код:
    YCOUTC:	CALL    F809V    ; это CALL F3CC (сюда попадаем по CALL F809)
    SINTA:	PUSH	AF       ; в Вашем исходнике это метка 'AFB15'
    	PUSH	HL       ; у Вас этого PUSH HL в листинге нет
    	CALL	INTA
    	POP	HL
    	POP	AF
    	RET
    Не факт, что PUSH HL требуется, т.к в Вашем ПЗУ упрощённая А.Новгородовым реализация автоповтора. У меня эта подпрограмма другая, не А.Новгородова и не В.Ивинских, и естественно не из М2, где этого вообще нет. Я, к сожалению проверить Ваш ROM-BIOS не могу. Сами коды я не могу проверить, т.к по сбросу он пытается что-то считать с каких-то неизвестных устройств. А в итоге вылетает на вход ERROR, вместо того, чтобы загрузить 2 кило из ROM-диска и стартануть их. M3-EXT он не может загрузить, т.к Вы удалили резидентный CCP. Я конечно могу в своем эмуляторе выйти в отладчик и вручную набрать программу теста и стартануть её, но это, сами понимаете, удовольствие ниже среднего.

    Пока не нашёл Вашей версии ROM-BIOS, которая выходила бы хотя бы в ORDOS. А если есть выход в ORDOS или M3-EXT, то можно стартовать тест из ROM-диска. А изменить исходник ROM-BIOS, чтобы грузилась ORDOS и странслировать, я не могу по причине того, что у Вас колоссально длинные метки. Т.е мне предварительно надо долго редактировать укорачивая метки до нормальной длины. В М80 максимальная длина меток - 6 символов. Чем это Вы такое транслируете?

    Цитата Сообщение от Denn
    М3 "решил" оккупировать другие участки F300..F3FF, оптом. "Фича" недокументированная, разумеется.
    Чушь. Во-первых, использование ОЗУ в ДОК к М3 исчерпывающе подробно документировано. С сопроводительной документацией у меня проблем не было. Жаловались, что Инфо много, но что мало или неполное - никогда. В самом первом тексте, что был для М3.1 (04.1991) чётко всё указано и расписано. Раз этот текст Вам "понравился", значит он у Вас есть. Посмотрите туда.

    Код:
    РАБОЧИЕ ЯЧЕЙКИ МОНИТОРА-3 (НЕ ИНИЦИАЛИЗИРУЮТСЯ ПО СБРОСУ)
    
    F300...F1F3 - БУФЕР ВВОДА ДИРЕКТИВЫ
    F320/F321 - 1-Й ПАРАМЕТР ДИРЕКТИВЫ
    F322/F323 - 2-Й ПАРАМЕТР ДИРЕКТИВЫ
    F325/F325 - 3-Й ПАРАМЕТР ДИРЕКТИВЫ 
    F326/F327 - 4-Й ПАРАМЕТР ДИРЕКТИВЫ
    "Фича" (не знаю, что это значит, но по смыслу подходит слово 'свойство', - почему не уважать родной язык?) - вполне документированная. Но самое главное, - это никому не мешает ! Это же не F3F0...F3FF, что жёстко принадлежит ROM-BIOS. И только ему. Это ОЗУ свободно. А используется только при вводе команды. И когда ушли из М3-EXT, то это ОЗУ снова свободно. Ну кому это могло повредить? Не придирайтесь. У МОНИТОРА-3 - всё правильно.

    Насчёт "дефицитности" некоммутируемого ОЗУ. Да тут же почти 3C0H ячеек (за вычетом стека). Какая нехватка и необходимость экономии. Вот как грамотно работать с этим ОЗУ. При старте драйверов, игр, или других программ, жестко привязаных к архитектуре ОРИОНА они должны проверить в какой банке их запустили. Для этого нужно кинуть блок кода в область F000. Но мы не знаем, что там уже используется, - занято под фонт, или коды раскраски драйверов. Поэтому во временный буфер сливается хоть всё содержимое области F000, туда копируется своя программа, она отрабатывает, затем исходное содержимое ОЗУ F000 восстанавливается. Вот и всё.

    Насчёт управления памятью в F000...F3FFF. Даже в самых древних версиях ACP/M (04.1992) был механизм, когда каждый драйвер описывал какой кусок ОЗУ в банке 0 и какой кусок ОЗУ в области F000 он занимает. Доки к древним ACP/M давно сгинули, но доки к ACP/M 1.65 есть и там об этом тоже есть.Но заметьте никто этим не стал пользоваться, - всем до лампочки. Т.е работал девиз - "Я сделал, у меня работает, на остальное плевать". Анархия. Но на это даже обижаться нельзя. А вот на то, что идиоты "лезли" на F3F0...F3F3, - вот это действительно грустно..
    Последний раз редактировалось barsik; 17.12.2016 в 14:47.

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

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

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

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

Ваши права

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