Как говорил Андрей Миронов в каком-то кинофильме "Такие вопросы, господин посол, с кондачка не решаются. Нам надо посоветоваться с товарищами, зайдите на недельке."Сообщение от fifan
А если серъёзно, то действительно, в данном вопросе ни в коем случае спешить не стоит. Мы уже многократно свидетели, что плохой ROM-BIOS в бытовом компьютере наносит много вреда. Вообще я (а также и разработчики всех остальных ЭВМ в мире) считаю, что прикладным программам, типа текстовых редакторов, ассемблеров и т.п. вовсе не место в адресном пространстве процессора. Оно слишком дорого, т.к может использоваться с гораздо большей пользой.
В ПЗУ стоящее в адресном пространстве разумно прошивать ROM-BIOS, т.е набор драйверов для обслуживания железа. А для хранения прикладных программ следует использовать внешние носители, такие как дисковод, винчестер, их эмуляторы, 'microSD' с прямым доступом (с которым по SPI напрямую работает основной CPU), устройства на базе 'microSD' с контроллером и DOS поддерживающей FAT32 прошитой в микроконтроллер (от vinxru) и если этого нет, то резидентные программы хранят в ROM-диске объём которого не ограничен.
'MicroSD' с контроллером кому-то удобен, но мне несимпатичен, т.к консервирует магнитофонный вариант ЭВМ. Уж лучше купить на Али дешёвый китайский эмулятор дисковода который стОит всего 1000 рублей, хранит данные во флэшке, которую легко вытащить и переставить в другой такой же эмулятор стоящий на другой ЭВМ. Это даёт 1000 и более дискет 720/1440 кб и самый удобный способ хранить и переносить программы из IBM PC в рэтро компьютеры. Это и лампово, т.к вместо эмулятора можно поставить настоящий дисковод с настоящими раритетными дискетами.
На сегодняшний день базовый СПЕЦИАЛИСТ остаётся единственным бытовым компьютером, который не имеет ни дисковода, ни винчестера, ни RAM-диска или даже ROM-диска. Он "умер" до того, как эти устройства стали приемлемыми по цене и доступными широким массам любителей. Это несправедливо и нуждается в исправлении. СПЕЦИАЛИСТ - лучший компьютер СССР и должен иметь то же, что имеют все другие бытовые компьютеры той эпохи..
Естественно, если ПЗУ в СПЕЦИАЛИСТЕ достаточно большое, то там хватит места и для ROM-BIOS и для десятка прикладных программ. Но как показала практика и в этом случае разумно хранить в ПЗУ только те программы, что используются чаще всего. А это в первую очередь программы типа Нортон, служащие для управления файлами на внешних носителях. Это м.быть Нортон конкретной DOS, которую предпочитает пользователь или коммандер обеспечивающий интерфейс с 'microSD' с контроллером от vinxru.
Я уже писал, что практически единственный вариант получить большое ПЗУ, это страничное ПЗУ с окном максимально доступного размера. Из-за присутствия В/У в области F800, единственным кратным размером является 8 кб, а единственным окном, где эти 8 кб можно коммутировать, является окно C000...DFFF, т.к только в этом случае возможно прямое подключение управляющих битов к адресным входам ПЗУ. Если это окно поставить, например в область D000...EFFF, то понадобится дополнительный кодопреобразователь адреса (например 556 РТ4 или ИМ6).
Для страничного переключения нужны биты и взять их можно только напаяв 555 ТМ9 вторым этажом на какую-то стоящую на плате микросхему. Адрес этого регистра несущественен. Если кто-то принципиально не хочет иметь дешифратор ИД7 на область F800, то в качестве строба записи в регистр можно использовать чип-селект F000...F7FF.
Если же этого не делать и оставить ПЗУ нестраничным, то даже, если включить 27256 на весь участок, то свободно будет всего 6 кб, т.к на D000 стандартно ставится драйвер КОИ-8 или шрифта 8*8, драйвера других МГ-форматом (ZX, MSX, ОРИОН), драйвер принтера и уФ-прошиватель. Нет смысла обсуждать, что можно зашить в 6 кб. Это каждый может выбрать сам. В 6 кб не влезет даже бейсик, если не считать TINY-бейсики, которые имеют размер всего в 2 кб.
Теоретически для случая большого ПЗУ или ROM-диска удобно иметь стартовую программу меню, как это было сделано в ИРИШЕ, ещё в 1984 году. По сбросу выводится меню, где пользователь перемещая балку подсветки выбирает пункт и нажимает <ВК>. Это крошечная программка позволяет пользователям по определённым правилам оформлять свои резидентные программы, прошивая их в внешний ROM-диск или в ПЗУ на основной плате.
Для систем без внешнего носителя прошиваются тесты, основной RAM-монитор, бейсик, редактор, ассемблер и дизассемблер. А для систем с внешним носителем - загрузчик DOS и, уже невидимо из меню, Нортон для этой DOS. Наличие Нортона в ПЗУ освобождает от необходимости хранить его на всех дисках. Тогда по выходу из программы, нортон будет быстро перезагружаться из ПЗУ, а не писать на экране поставьте дискету с нортоном.
Я считаю, что в ПЗУ стОит прошить цветные драйверы VT52 D6, D7 и D8, драйвер мыши, драйвер аппаратной клавиатуры, подпрограммы чтения/записи сектора для дисковода, винчестера, RAM-диска и 'microSD' с доступом процессора. В идеале было бы иметь в ПЗУ GUI интерфейс такой же как в Apple MAC-128.
Это вполне реально. Заметим, что первоначально в Макинтош собирались ставить 8-ми разрядный процессор и иметь моно-экран с размерами точно как у СПЕЦИАЛИСТА 384*256. Т.е инженеры не сомневались, что скоростей 8-ми разрядки хватит для такого графического интерфейса.
Кроме того, в ПЗУ надо иметь загрузчики разных DOS и загрузчик программы обслуживания 'microSD' от vinxru. В качестве DOS, в связи с нехваткой памяти разумно использовать самые минимальные по объёму DOS, а я знаю только 2 подходящие по этому критерию системы, это DOS А.Мамонтова для "Львова" и DOS Е.Седова для РК86. Любая DOS может работать с любым носителем, для смены носителя достаточно поменять две подпрограммы.
Аксиомой при всех доработках ПЗУ должна остаться совместимость с загрузчиком А.Волкова и с монитором Орлова, причём не только по стандартным точкам, но и по внутренним. Дополнительные устройства должны подключаться на вектора, как это сделано в ленинградском мониторе СПЕЦИАЛИСТА и в ОРИОНЕ. Благодаря векторам резидентные в ПЗУ подпрограммы подменяются другими подпрограммами, находящимися в ОЗУ или ПЗУ. Так в упомянутом мониторе, чтобы включить другой шрифт достаточно нажать НР+F2, а чтобы изменить МГ-формат на MSX достаточно нажать НР+F3, чтобы отформатировать VDISK - НР+F5, а старт коммандера НР+F6.
Вышеприведённым хочу сказать, что ROM-BIOS СПЕЦИАЛИСТА для более удобного программирования для него программ с более красивым интерфейсом должен быть изменён. Это не может быть решено с кондачка и сделано за 1 день. ROM-BIOS дорабатывают годами, тем более, когда стоит условие совместимости с точками не сгруппированными как принято в начале кода, а раскиданными по всему ПЗУ.
Просто вставить в ПЗУ драйверы, слегка переделав само ПЗУ, чтобы ввести вектора и добавить п/п-ммы чтения/записи доп.банок ОЗУ можно быстро, но пока только для Z80, т.к код драйверов нуждается в очистке от команд Z80 и переделке под другой алгоритм цвета. Но что-то рабочее сделаю до Нового Года. Тогда можно будет посмотреть в эмуляторе CP/M и RK-DOS с встроенным VDISK-ом. Сейчас я занят конверсией RK-DOS и её утилит на другие адреса и адаптацией CP/M для обоих типов КНГМД (программный РК-КНГМД и аппаратный c БИС ВГ93).
Буквально сегодня я получил конфиг для EMU80 для эмуляции СПЕЦИАЛИСТА в котором не только есть выбор Z80/КР580, ROM-диск от ОРИОНА, верхнее ОЗУ, 4 доп.банки ОЗУ, 4-х страничное ПЗУ, два дисковода РК-КНГМД и на ВГ93, но и есть возможность отключать ПЗУ, давая сплошные 62 кб ОЗУ. Это позволяет удобно отлаживать и использовать любые ROM-BIOS.
Заметим, что глупые возражения, о том что это уже не СПЕЦИАЛИСТ неверны. Для программы без разницы работает она в ПЗУ или в ОЗУ, а доп.банки ОЗУ ничуть не хуже чем любой другой носитель, т.к служат только для RAM-диска. А т.к остальное железо и его адреса не меняются, то о чем тут говорить? Из существенных доработок - только доп.банки ОЗУ. Но это только для меня и тех кто ценит удобство. Раз прикладное ПО о этих банках не знает и, соответственно, не использует, то это никому не мешает, также как контроллер 'microSD' от vinxru.




Ответить с цитированием