PVV wrote:варианты переделки архитектуры возможны, только у меня возникает вопрос, а где простота конструкции?
При использовании процессора 8088 простота не конструкции, а переделки имеющейся платы сохраняется. Перенос адресов портов обходится всего в несколько корпусов.
Смотрите сами. Чип-селект ПЗУ E000 есть готовый на выходе DD11. А чтобы получить новые чип-селекты портов достаточно добавить ИД7 - на один его /CS подаём выборку C000 с DD11, на второй его неинверсный CS - адрес A12, чтобы этот дешифратор выбирал область D000...DFFF. На адресные входы этого доп.ИД7 - адреса A9, A10 и A11. Т.о чтобы изменить адреса портов тратим только 2 TTL-корпуса (ещё один корпус формирует выборку ОЗУ в 52К).
Перенос портов оправдан, т.к для РК86 наиболее качественные игры имеют большие размеры и если DOS работает в основном ОЗУ 32 кб, то она отнимает ~10 кб из 32-х кб, что с учётом того, что и экран отнимает 3 кб, не позволяет грузить и запускать программы крупнее 18 кб.
Т.е без расширения ОЗУ и сама DOS теряет всякий смысл. RK-DOS решает эту проблему тем, что размещается выше 8000 и не отнимает основное ОЗУ. Т.о если не расширить сплошное ОЗУ, то вообще нет смысла ставить 8088 в РК86, тогда уж лучше ставить 8088 в ИРИШУ, где 64/128 кб.
Что касается команд OUT. Их ввести при 8088 легче, чем при КР580. Но в этом нет особого смысла. То, что в 8088 целых 65535 портов это не польза (достаточно десятка портов). При OUT конверсия программ сложнее, лишь при портах в памяти не надо менять логику и маш.команды. Кроме того в программах (например в RK-DOS) с портами работают косвенной адресацией через двойные регистры, а если применить OUT, то замучишься переделывать.
То что адресация по OUT освободит немного памяти - это не довод. Т.к достаточно ОЗУ всего 32+10=42 кб - это основное ОЗУ для конвертированных РК-игр и ещё 10 кб для загрузки туда DOS.
Много ОЗУ в РК надо было лишь в 80-тые годы, т.к без дисковода, чем больше ОЗУ, тем больший исходник мы можем загрузить и странслировать. На самОм РК без наличия дисководного ассемблера было трудно странслировать программу объёмом более 2 кб. Например, программу объёмом в 4 кб надо транслировать из двух кусков вручную переписывая адреса перекрёстных ссылок модулей, что очень утомляет, т.к делать это приходилось при каждой перетрансляции, каждый раз сохраняя и перезагружая исходники на МГ-ленте. Потому все приличные игры для РК были написаны на кросс-ассемблерах на других машинах (в основном на ДВК, т.к только они были доступны).
Много ОЗУ требуют и компиляторы ЯВУ. Самые хорошие компиляторы требуют 62 кб. Причём есть CP/M-компиляторы, которые требуют 62 кб не просто ОЗУ, а 62 кб TPA, что получается когда в основной банке остаются только входы в BDOS и BIOS CP/M, а её исполняемый код находится и прогоняется в другой банке. Но сейчас трансляцию программ, в том числе и на ЯВУ на порядок удобнее делать на PC. Потому предложенной архитектуры с избытком достаточно для всех нужд, тем более, что в сегменте 0 даже всего при одной банке РУ5 есть сплошное ОЗУ в 64 кб.
PVV wrote:Второй же вариант имеет смысл делать придерживаясь раскладки архитектуры IBM PC
В этом вообще не вижу смысла, т.к не уверен, что для текстового адатера MDA есть текстовые игры, которые можно было бы адаптировать.
Всё что можно для такой машины адаптировать - это MSDOS, что позволит использовать текстовые программы MSDOS. Это самые примитивные текстовые редакторы, работающие на MDA и компиляторы ЯВУ и ассемблера. Даже с учётом, что исходник MSDOS 1.0 опубликован, адаптация MSDOS сложна, т.к надо дизассемблировать ROM-BIOS IBM PC изучить его и написать аналог. И всё это только ради того, чтобы получить инструментарий для разработки программ в MSDOS. Но это у меня есть и так, т.к у меня Win XP, где работают программы MSDOS. К тому же большинство приличных программ MSDOS откажутся работать в MSDOS версии 1.0.
Мне кажется тут изначально ставилась задача не сделать ущербный клон PC XT с MDA, а получить радиолюбительский компьютер более удобный, чем РК86, причём минимальной ценой. Замена процессора на 8088 вполне оправдана, т.к он даже лучше и удобнее, чем Z80 и благодаря конвейеру при одном и том же такте должен быть быстрее, чем Z80.
Оригинальному РК86 не хватает немного доп.ОЗУ, наличия альтернативных фонтов и скорости. Устранить эти недостатки я и пытался тщетно уговорить изготовителей новодельных плат РК86 на одном подобном сайте с плохой модерацией. Но молодёжи интересно только копировать исторические оригиналы, изготовители новоделов плат просто ретрограды, а неудобство программирования для базового РК никого не волнует.
Думаю, что сейчас всё что можно сделать, - это разработать платку переходник, чтобы её можно было с минимальными доработками поставить в оригинальную плату РК86 и клонов. При этом действительно минимум переделок получается, если сохранять адресацию портов. Но адресация портов не особо важна, - каждый может конвертировать игры РК86 под свою адресацию портов.
А я уже убедился, что сейчас глупо учитывать интересы других пользователей. Энтузиастов осталось так мало, что если кто-нибудь и будет повторять такую конструкцию, то их будут всего полтора человека. И они явно будут в состоянии сделать несколько лишних разрезов на плате, чтобы перенести адреса портов. Вряд-ли удастся набрать заказы на промышленное изготовление платок-переходников.
PVV wrote:прикинул вариант, как уйти от двух ПЗУ по мотивам этой картинки
Нет смысла. Распаять проводками два регистра и триггер - работы больше, чем распаять проводками вторую РФ2. Тем более, что обычно в таких случаях я использую выпиленные фрагменты других плат, особенно банки ОЗУ или ПЗУ.
Две ПЗУ РФ2 для экономии места на плате можно спаять в 2 этажа, отогнув в сторону 8 выходов данных у верхней РФ2. И эти 8 выводов можно как смонтировать проводами, так и вывести на 8 штырьков на конце косы, чтобы было удобнее переставлять при многократных перепрошивках.