Ясно, опять "попугаи" измеряют люди. Вопрос закрыт.
Вид для печати
Доброй ночи! Можно узнать подробнее про эту доработку?
В РК maddev*xlat уже стоят РУ5, осталось доработать, чтобы использовать более чем 32К. :)
Интересно что? Непонятно. Исходники для самого РК86 не интересны, т.к уже ничего невозможно изменить в РК-ДОС. Там очень плотный код, нет ни одного свободного байта (кроме надписи "E.SEDOV" в конце). ДОС 2.95 это предел того, что можно выжать из КР580 и 4К ПЗУ. Лучшая версия для такой архитектуры уже невозможна. Единственное для чего может понадобиться такой исходник - это адаптация для РК на Z80. После устранения OUT и тому подобных вещей, код разбухнет и не будет влезать в 4К. По счастью выручают JR-команды. Они позволят ужать код до 4К.Цитата:
Сообщение от tnt23
Из контекста понятно, что речь идет не об оригиналах Е.Седова (где бы я их взял ?), но о полноценных исходниках, полученных ручным дизассемблированием. Получить просто дизассемблированный текст (например, чтобы посмотреть код) - очень легко. А вот получить полноценный исходник, т.е чтобы код можно было перемещать, без потери функциональности, намного сложнее. Особенно, если используется извращённый метод работы со стеком. При этом недостаточно понять где код, где данные, - приходится разбираться в коде.
Мне пришлось получать полный исходник РК-ДОС, потому что надо было перемещать код. Чтобы получить несмешную версию РК-ДОС для ОРИОНА. Оригинальная версия, т.е с управляющими ячейками посередине ОЗУ глупо выглядит на ОРИОНЕ. И кстати, мне пришлось пользоваться примитивным дизассемблером, что сложнее.
У РК-ДОС очень неудачный интерфейс. В отличие от других ДОС, она абсолютно неперемещаема, т.к интерфейс в ней не только через вход E001, а напрямую управляется жестко фиксированными ячейками в ОЗУ. Поэтому грамотно переделать RK-DOS для другого компьютера невозможно, не потеряв совместимости. Даже сохранив вход E001, но убрав из области 7600 управляющие ячейки ДОС, теряется совместимость с абсолютно всеми программами РК-ДОС. Поэтому для переноса РК-ДОС и упр.ячеек на другие адреса (сразу под экран C000), мне и пришлось получать исходники всех программ РК-ДОС.
В РК-ДОС для Z80 мне пришлось также убрать работу с портами командами IN/OUT, а также анализ флагов КНГМД командой INC (HL), адресуемой в порт.
Исходники оригинала РК-ДОС не интересны, т.к их очень легко получить. Более интересны версии RK-DOS переделанные на другой формат диска. Но они только для ОРИОНА. Причём на Z80 (вариант "голый Z80", т.е базовая схема установки Z80 1991 года). Переделать обратно на КР580 - не проблема (достаточно заменить JR и DJNZ), т.к другие свойства Z80 не использованы. Но полученный код КР580 не влезет в ПЗУ 4К на плате РК-КНГМД, даже если выкинуть драйвер эл.диска из излишнего ОЗУ ОРИОНА.
Если Вы скинете мне в личку Ваш E-mail адрес, то через час я пришлю Вам исходники РК-ДОС, форматеров и SYS-файлов (всех кроме тех, что для работы с МГ, это мне было не надо).
Могу также скинуть сами версии РК-ДОС для ОРИОНА, - только скажите для реального ОРИОНА на Z80, или для эмулятора ОРИОНА. В обоих диск A: это эл.диск из излишнего ОЗУ, поэтому их можно стартовать без дисковода, как в реале, так и в эмуляторе. Версия для реала имеет подпрограммы РК-КНГМД. Причём ДОС для ОДНОГО конкретного числа секторов, т.е есть версии на 5 секторов, 7 секторов и 8 секторов. Кроме того в версии РК-ДОС для ОРИОНА встроены драйверы шрифтов 5*10, 6*10, 6*8, 7*10, 8*10, 8*8 разных версий.
Т.е возникает очень много версий. В итоге общее число исходников всего, что есть для РК-КНГМД составляет 48 мб (28 мб для CP/M, 19 мб для РК-ДОС и 1 мб других ДОС). Версии для эмулятора отличаются тем, что в них для эл.диска используются 7, а не 4 банки ОЗУ ОРИОНА - столько остаётся в ОЗУ PC после загрузки самого эмулятора ОРИОНА (90 Кб). Если в Вашем эмуляторе ОРИОНА банок ОЗУ меньше 7, то в версиях для эмулятора будут проблемы.
Сутки назад ответил E-mail-ом.Цитата:
Сообщение от cy6
Кто-нибудь скиньте какое-нибудь сообщение (минимальное это - 1 точка) в эту тему. Нужна прослойка. А то, если я сделаю следующее сообщение, то оно "слипнется" с этим (на других WEB-движках этого нет).
Интересно - в смысле "интересует". Исходники РК-ДОС интересуют не с целью что-то в них изменить, а посмотреть, как там сделано то да сё. Например, нигде никакой информации по поводу "резидентных драйверов ДОС" нет.
Варианты и переделки под Орион, к сожалению, меня лично не интересуют. Но вдруг кого интересуют?
Мой email: tim.tashpulatov@gmail.com. Спасибо.
tnt23 я послал Вам E-mail-ом 15 мб исходников, 13 мб некачественных фотографий и 1 мб текстов. Все тексты и исходники в альтернативной кодировке MSDOS с построчными разделителями 0D,0A.
Готовя E-mail нашёл в древних текстах фрагменты о расширении ОЗУ РК86. Причём это даже не все, есть ещё, как минимум два, подобных текста, где рассказывается о простых аппаратных доработка РК.Цитата:
Сообщение от cy6
Вот более древний вариант введения расширенного ОЗУ, но в окне не в 15К, а только в 8К, - зато он даёт доступ ко всем 64К. Впоследствии выяснилось, что для ДОС мало 8 Кб, поэтому пришлось увеличить размер окна до 15К:Цитата:
Проблема решается, если иметь в адресах выше 8000 дополнительное ОЗУ, только для целей системы. Если в РК86 память выполнена на 565РУ3, то расширить ОЗУ удобно на статических ОЗУ 6264. Плата РК86 специально имеет участок "слепыша" (со стороны ПЗУ с фонтом), где при минимальных трудозатратах за полчаса труда распаивается панелька для 6264 (537РУ17).
Если же основные 32К ОЗУ реализованы на 565РУ5, то есть еще один вариант расширения ОЗУ. ОЗУ РУ5 ставятся следующим образом. На 13,14 ноги мультиплексора DD19 заводят адреса А14,А15 (38,37 ноги КР580) и выход 12 этого мультиплексора формирует адрес MX7 для динамических ОЗУ (9 нога у РУ5). Микросхему DD10 155ЛА3 выкусывают и запаивают вместо неё 555ЛА9 (это то же самое, что ЛА3, но с открытым коллектором, поэтому выходы вентилей ЛА9 можно соединять друг с другом напрямую - по схеме "монтажное ИЛИ"). Выходы 6 и 8 у этой ЛА9 соединяют, что и дает сигнал /CAS для 565РУ5. To есть вся работа сводится к распайке 3-х проводов. При этом используется то свойство отечественных (и некоторых импортных аналогов 4164, 2164 или 8164), что вектор регенерации у них не 8-ми битовый, а как и в 565РУ3 - семибитовый (в 565РУ7 вектор 9-ти битовый). Поэтому так проста замена 565РУ3 на 565РУ5.
Но даже, если Ваши ОЗУ имеют 8-ми битовый вектор регенерации, то они все-равно будут работать в РК86 (что странно, но факт !). Но это уже из-за особенностей программы МОНИТОР. При этом возможно может встретиться такая программа, что вызовет "сбой" в регенерации данных в 8-м столбце... Обычно ИМС с маркировкой 4164 имеют 7-ми битовый вектор. Но некоторые очень скоростные иностранные ОЗУ (150 НСЕК) фирм TMS, MOTOROLLA, MOSTEC имеют 8-ми битовый вектор регенерации.
Также о расширении ОЗУ на РУ5 расказано в тексте про мой макро ассемблер КР580. Так как он работает в расширенном ОЗУ из-за того, что слишком большой по размеру, и потому если его использовать в базовом ОЗУ, то он оставляет для исходного текста менее 20К.Цитата:
Получить дополнительные 8К ОЗУ проще всего установив дополнительную панельку на свободном участке платы РК86 (с той стороны платы где стоит ПЗУ с фонтом, там где для этого уже предусмотрены ряды отверстий с шагом 2.5 мм). ОЗУ 6264 включается как и ПЗУ, только на 27 ногу заводится сигнал /WR от процессора.
Если ОЗУ сделано на 565РУ5, то "открыть ОЗУ" по этим адресам несложно. Для этого нужен всего один вентиль от ИМС 155ЛИ1 (или просто два диода). 155ЛИ1 включают в разрыв цепей от DD11/15,14,13,12, объединяя на ЛИ1 один из этих сигналов и DD11/10 (т.е выборка A000-BFFF также, как и выборки первых 4-х 8-килобайтовых кусков памяти будет вызывать формирование /CAS).
Однако тут надо учесть следующее. Если у Вас используется ОЗУ с 8-ми битовым вектором регенерации, то оно не будет работать в адресах выше 8000. Чтобы такое фирменное ОЗУ работало надо поменять провода на контактах DD19/13 и DD18/2. То есть вместо старшего адреса регенерации A7 берется наиболее высокочастотный адрес - 16-й провод шины по схеме РК86 - уж не помню суть этих явлений, т.к давно делал, но факт, что только отечественные РУ5 работают по базовой схеме, а некоторые фирменные требуют такой перестановки адресов.
Иметь 565РУ5 выгодно оттого, что при них получается возможность получить доступ ко всем 32К, расположенным в ОЗУ 565РУ5 "выше 8000". Для этого на DD18 напаивается еще один 1533КП11, который управляется сигналом /CS A000. Эта КП11 коммутирует адреса A12 и A13, подавая в зависимости от сигнала /CS A000 на ОЗУ 565РУ5, то адреса с процессора, то два бита от доп.ППА. Идея заключается в том, что эти два бита PA0,PA1 доп.порта ВВ55 позволяют выбирать тем самым один из 4-х восьми-килобайтовых кусков ОЗУ из области 8000-FFFF, включая их в окне A000-BFFF. То есть, в РК86 становятся доступными все 64К ОЗУ. Заметим, что это наиболее полноценное использование ОЗУ 565РУ5 (в других ЭВМ из-за необходимости иметь ПЗУ и В/У, 565РУ5 обычно используется только на 60-62К, а не на полные 64К).
barsik, спасибо.
Можно ли эти материалы выложить в публичный доступ?
Нет, пожалуйста, ничего не выкладывайте, я это сделаю завтра сам.Цитата:
Сообщение от tnt23
Никакие исходники, пожалуйста, не раздаватйте. В таком виде они и не годятся - надо добавить тексты пояснений. И мне кажется, что лучше выкладывать не исходники, а странслированные программы для эмулятора, чтобы их можно было посмотреть не возясь с трансляцией. Исходные тексты представляют интерес лишь для программистов.
Да и все исходники, что я Вам отправил, кроме оригиналов РК-ДОС и утилит - не для РК, а для ОРИОНА. А у владельцев ОРИОНА нет РК-КНГМД, да и не бывают они в этой теме.
PS: Те кому я что-нибудь послал, не забывайте "кликнуть" на СПАСИБО - это же обычная вежливость. Я потратил на Вас время и вправе рассчитывать хотя бы на такую благодарность. А то у меня такой низкий рэйтинг, что уже стыдно заходить на сайт.
Спасибо за ответ. Мне кажется, интересные доработки можно обсуждать и публично, ведь для понимания нужны и грамотные вопросы, которые я не уверена, что всегда могу задать. К тому же, речь идет о доработках которые могут оказаться полезными и кому то еще.
Хотела уточнить, кто автор найденных текстов, они Ваши или из какого то журнала?
Не поняла, как происходит изменение схемы адресации (для формирования дополнительного окна в 15 кб), которая изначально сделана на чипе D11 (ИД7)?