RUЭВМ
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.
Май 2024
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031  

Календарь Календарь

Последние темы
» Вити больше нет!
автор bug19 Пн Фев 20 2023, 19:54

» Собираем оригинальный Орион 128
автор bug19 Пн Фев 20 2023, 19:47

» Проблема плющеного экрана ОРИОНА
автор kanzler Пн Ноя 28 2022, 12:05

» Орион 128 и его клоны возрождение 2019-2022 год
автор kanzler Пн Ноя 28 2022, 12:03

» Электроника КР-04. Информация, документы, фото.
автор kanzler Пн Ноя 28 2022, 12:02

» Новости форума
автор kanzler Пн Ноя 28 2022, 11:52

» Орион-128 НГМД запуск 2021 года
автор matrixplus Сб Сен 10 2022, 17:36

» ПЗУ F800 для РК86
автор ведущий_специалист Сб Сен 10 2022, 10:37

» Микропроцессорная лаборатория "Микролаб К580ИК80", УМК-80, УМПК-80 и др.
автор Электротехник Вт Июл 26 2022, 19:33

» Орион-128 SD карта в Орионе
автор matrixplus Чт Июн 02 2022, 09:00

» 7 Мая. День Радио!
автор Viktor2312 Чт Май 12 2022, 10:58

» Серия: Массовая радио библиотека. МРБ
автор Viktor2312 Ср Май 11 2022, 12:17

» Полезные книги
автор Viktor2312 Пн Май 09 2022, 15:07

» Орион 128 Стандарты портов и системной шины Х2
автор matrixplus Вс Май 08 2022, 23:08

» Орион-128 и Орион ПРО еще раз про блоки питания
автор matrixplus Вс Май 08 2022, 19:09

» Орион-128 Программаторы
автор matrixplus Вс Май 08 2022, 19:02

» Орион ПРО история сборки 2021 до 2022
автор matrixplus Вс Май 08 2022, 18:47

» Анонсы монет (New coin).
автор Viktor2312 Сб Май 07 2022, 23:11

» Хочу свой усилок для квартиры собрать не спеша
автор Viktor2312 Сб Май 07 2022, 19:33

» Амфитон 25у-002С
автор Viktor2312 Сб Май 07 2022, 09:38

» Майнер: T-Rex
автор Viktor2312 Вс Май 01 2022, 09:12

» GoWin. Изучение документации. SUG100-2.6E_Gowin Software User Guide. Среда разработки EDA.
автор Viktor2312 Пн Апр 25 2022, 01:01

» GoWin. Изучение документации. UG286-1.9.1E Gowin Clock User Guide.
автор Viktor2312 Сб Апр 23 2022, 18:22

» GoWin. Documentation Database. Device. GW2A.
автор Viktor2312 Ср Апр 20 2022, 14:08

» GOWIN AEC IP
автор Viktor2312 Ср Апр 20 2022, 12:08

Самые активные пользователи за месяц
Нет пользователей

Поиск
 
 

Результаты :
 


Rechercher Расширенный поиск


Low TPA CP/M для Специалиста

Перейти вниз

Low TPA CP/M для Специалиста Empty Low TPA CP/M для Специалиста

Сообщение  barsik Сб Дек 07 2019, 13:14

1
Название темы чётко отражает о чём будет речь. Для Специалиста возможны три варианта DOS (и это не обязательно д.быть CP/M). Назовём их Low CP/M, High CP/M и Super-High CP/M.

Лоу-Си-Пи-Эм работает в стандартной архитектуре на плате ЭКСПРЕСС с открытым верхним ОЗУ в 6 кб (E000...F7FF). Чтобы её поиметь достаточно с помощью нескольких диодов открыть верхнее ОЗУ и подключить любой КНГМД, контроллер винчестера или контроллер электронных приводов на базе внешней памяти (т.е или платку внешнего эл.диска на статических ОЗУ, где роль контроллера играет ППА ВВ55, или контроллер флэш-карточки, что бывает, как с ППА так и на базе однокристального микроконтроллера).

Такая CP/M имеет TPA определяемый размером базовой памяти Специалиста. Это: ~34 кб, если BDOS в верхнем ОЗУ и ~35.9 кб, если BDOS прошит в ПЗУ D000...DFFF. Понятно, что чтобы BDOS прошить в ПЗУ надо в две ещё свободные 24-х ногие панельки ПЗУ к двум имеющимся ПЗУ РФ2 (содержащим ROM-BIOS) добавить ещё две дополнительные микросхемы ПЗУ РФ2 (или выкинуть все РФ2 и использовать одну ПЗУ 2764).

Хай-Си-Пи-Эм даёт TPA в ~46 кб, но требует доработки архитектуры. А именно, - нужна установка ПЗУ 27256 и (с целью закрывать экранное ОЗУ под-ПЗУ-шечным), нужна доработка по завороту верхней памяти, - это когда в окне 8000...BFFF программно включаются 16 кб впустую пропадающей верхней памяти закрытой в плате ЭКСПРЕСС областью ПЗУ и В/У. При этом экран Специалиста исчезает из адресного пространства и не мешает иметь сплошной кусок ОЗУ в 48 кб. Сама CP/M при этом располагается и работает в ПЗУ.

И лишь Супер-хай-Си-Пи-Эм даёт огромное TPA в ~56 кб, но работает уже не в ОЗУ самого Специалиста, а в специально добавленной второй банке ОЗУ 62 кб на 565РУ5 напаянных вторым этажом на основную банку ОЗУ. Такую версию CP/M с очень высоким TPA я вскоре странслирую (это не проблема, т.к эмулятор EMU80 это поддерживает), но особой пользы сейчас в ней нет.

Т.к уже нет необходимости использовать CP/M-компиляторы ЯВУ именно на реальной 8-ми разрядке, они прекрасно компилируют в MSDOS под TSR-эмулятором 22NICE. В CP/M с высоким TPA работают все фирменные пакеты программ и компиляторы ЯВУ. Но антикварные пакеты, типа Супер-Кал(к), Ди-бэйз, Мульти-план, Мульти-мэйт и т.п. - сейчас уже никого не интересуют. Единственно из-за чего я ценил CP/M с высоким TPA на ОРИОНЕ это работа неплохого редактора SuperText, но и это уже не актуально, т.к на PC хватает редакторов.

Конечно программы размером под 56 кб можно написать на ЯВУ, но даже при программировании на ЯВУ, который генерит низко-плотный код, можно обойтись TPA в 46 кб, что даёт High CP/M Специалиста. Т.к если программа разбухла более 40 кб, то никто не мешает подгружать оверлей с дисков в сокеты (т.е часть кода программы загружается лишь по мере надобности в специально предназначенный для этого буфер). К сожалению, пока нет эмулятора для архитектуры с заворотом верхней памяти.

Все исторические, т.е используемые в начале 90-тых годов версии CP/M для базового Специалиста были Low CP/M с TPA в 35.5 кб, т.к до идеи заворота верхней памяти, что позволяет увеличить размер сплошного ОЗУ в однобанковом Специалисте до 48 кб никто тогда не додумался. Потому, чтобы поиметь на Специалисте CP/M с более высоким TPA пошли лобовым путём, заимствовав идею от ОРИОНА. Хотя и это сделали неоптимально (излишне усложнив доработку и к тому же ещё поменяв адресацию, что разбило в клочья совместимость). Так появился вариант Специалист-MX и лишь для него была сделана CP/M с TPA 51 кб работающая в дополнительной банке ОЗУ.

Сейчас я пока странслировал вариант Low CP/M работающий в верхнем ОЗУ 10 кб для КНГМД с ВГ93 и для РК-КНГМД. Вскоре переделаю BDOS для работы прямо из ПЗУ и странслирую соответствующую версию. Тогда будет достаточно иметь 6 кб открытого верхнего ОЗУ и в минимуме 8 кб (2764) ПЗУ, т.е всего одной страницы ПЗУ C000...DFFF, где 4 кб занимает базовый ROM-BIOS, а 4 остальные килобайта занимает BDOS CP/M. BDOS удобно прошить в ПЗУ, т.к он не меняется. Т.е он тот же самый для всех типов приводов, т.е и при дисководе и при винчестере и на перфокартах и в астральной памяти в ноосфере.

Остальные три 8-ми килобайтовые страницы ПЗУ 27256 я займу драйверами экрана и др. В 6 кб верхнего ОЗУ даже с запасом умещается дисковый буфер, служ.ячейки и буфера CP/M плюс коды CCP и CP/M-BIOS. Кстати, чем меньше размер физ.сектора, тем меньше размер дискового буфера. Пока размер физ.сектора дискеты КНГМД на ВГ93 1 кб, а для РК-КНГМД и винта - 512 байт. Можно и для ВГ93 размер физ.сектора сократить до 512 байт, что сократит расход ОЗУ на целых 512 байт (хотя и уменьшит ёмкость дискеты с 800 кб до 720 кб и исчезнет совместимость по дискетам с ОРИОНОМ и Корветом).

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

Выбор Low CP/M с TPA в 35.5 кб определяется тем, что это доступно практически без доработок базового Специалиста. И немаловажно то, что такую CP/M сейчас можно отлаживать и проверять в эмуляторе EMU80, а для архитектуры нужной для High CP/M пока нет соответствующего конфига (то, для какого железа сейчас можно странслировать CP/M или делать другие программы определяется лишь тем, что поддерживает эмулятор). Пока эмулятор поддерживает лишь два типа стандартных контроллеров, а именно КНГМД от ОРИОНА и КНГМД от РК86. Т.к для базового Специалиста невозможна программа размером более 35.5 кб (а реально есть всего несколько игр объёмом в 32 кб), то для запуска старых программ такой DOS достаточно.

Кроме того, установка второй банки ОЗУ методом напайки второй банки 565 РУ5 вторым этажом на имеющуюся на плате банку ОЗУ конфликтует с адаптером цвета от А.Волкова. Так как и для реализации схемы цвета дополнительные 2 (или 3) штуки 565РУ5 напаиваются вторым этажом на имеющиеся ОЗУ (а 589ИР12 напаивается вторым этажом на имеющуюся на плате первую 589ИР12). Чтобы не напаивать сильно греющиеся микросхемы аж в 3 этажа надо делать выбор - или цвет или вторая банка ОЗУ.

Кстати, при напайке 565 РУ5 (а уж тем более при  напайке печкообразных 589ИР12) второй этаж микросхем нужно напаивать с максимально достижимым (при неукороченной длине ножек ИМС) зазором между микросхемами. Иначе микросхемы в два этажа будут перегреваться и потребуется шумный вентилятор, что создаёт невыносимый шум в помещении и сильно нервирует пользователя.

Использование Low CP/M требующей наличия лишь базового железа (не считая КНГМД) не делает абсолютно ненужным расширение ОЗУ второй банкой в 62 кб. Такое доп.ОЗУ даёт эл.диск в 62 кб, что очень полезен на этапе разработки и отладки дискетной DOS. А также это позволяет намного удобнее копировать файлы при наличии в системе всего одного дисковода.

Т.о даже, если не задаваться целью поиметь CP/M с высоким TPA (что, как упомянуто выше, уже не является жизненно необходимым для программирования для ретро ЭВМ), то вторая банка ОЗУ полезна тем, что даёт эл.диск в 62 кб. А даже такой небольшой эл.диск является большим подспорьем в эксплуатации дисковода, облегчая копирование файлов. Т.к, например, чтобы на одном дисководе скопировать целую дискету в 800 кб надо непрерывно полчаса переставлять дискеты (исходную и целевую), - потребуется более 50 раз переставить дискеты. Добавить в Специалист вторую банку ОЗУ в начале 90-тых годов обходилось по деньгам на порядок дешевле, чем купить второй дисковод, хотя сейчас эта разница уже не так велика (т.к 565 РУ5 подорожали, а дисководы подешевели).

Установка второй банки РУ5-тых в 80-тые и в самом начале 90-тых, чтобы поиметь высокий TPA в CP/M и организовать квази-диск из дополнительного ОЗУ была неизбежна. Но уже чуть позднее стало возможно поиметь эл.диск и на статических ОЗУ типа 62256 или w24257, а сейчас в DIP-корпусе уже есть и огромные по объёму статические ОЗУ 621024.

Теоретически 62256 и подобные можно включать прямо в шину компьютера (у меня так и было сделано в ОРИОНЕ в начале 1991 года, была 3-я банка ОЗУ в 60 кб на двух 62256). Но т.к эл.диск желательно иметь хотя бы в 256 кб, то, чтобы избежать перегрузки шины, разумнее RAM-диск из кучи статических ОЗУ подключать через ППА ВВ55.

Схемотехнически весь контроллер внешнего эл.диска на статике, не считая ППА ВВ55 состоит из 4-х разрядного регистра адреса (т.к числа ног одной ВВ55 не хватает) и, если статическое ОЗУ не одно огромное (а несколько более мелких) добавляется дешифратор (например ИД7) для формирования чип селектов.

И т.к на плате ЭКСПРЕСС нет ППА пользователя, как в РК86, чтобы длиной соединительных проводов не увеличивать ёмкость шин, ППА для организации ROM- или RAM-диска лучше монтировать на самОй основной плате Специалиста. Удобно напаять вторую ВВ55 на имеющуюся. Хотя, в отличие от аккуратных второэтажных РУ5, из-за припаянных к выводам ВВ55 проводов, это значительно уродует внешний вид платы, но зато доп.провода не увеличивают ёмкость шины и не нужны второэтажные платы.

Кроме напайки второй банки РУ5 вторым этажом (или её монтажа на прикрученной с краю платы планке из текстолита) есть ещё один хороший вариант расширения ОЗУ на статике DIP-28. Который, как и вариант на РУ5-тых, добавляет одновременно и эл.диск в 62 кб, но лучше тем, что при этом остаётся возможность для напайки трёх РУ5-тых вторым этажом для получения цвета. Т.к на плате ЭКСПРЕСС имеется 4 панельки для ПЗУ (три 24-х ногих и лишь одна 28-ми ногая), то можно вместо одной 24-х ногой панельки запаять вторую 28-ми ногую панельку.

Я так многократно делал на платах ОРИОНА, где сдуру поставили 24-х ногую панельку. Для этого 4 дополнительных вывода панельки (выводы 1,2 и 27,28) отгибаются в стороны, а на остальные 24 вывода одевается пластинка с отверстиями от разъёмов СНП. Эта пластинка имеет толщину в 0.75 мм и тем самым панелька поднимается над платой на эти 0.75 мм и отогнутые 4 вывода тоже оказываются над платой. Остаётся только подпаять 4 проводка к выводам панельки и можно в неё ставить 27256 или 62256.

Достаточно смонтировать одну 28-ми ногую панельку, т.к ОЗУ не требуется перешивать и две 62256 можно спаять в 2 этажа и ставить в одну панельку (вот фото ОЗУ 16К из двух 6264, использованное мной в РК86 в окне 8400...BFFF http://ipic.su/img/img7/fs/2etazha6264.1575802493.jpg). Так организуется вторая банка ОЗУ в 62 кб на статике. Выгода не только в меньшей трудоёмкости такого варианта доработок, но главное, тогда можно ОЗУ цвета напаивать на 565РУ5 вторым этажом. В итоге общие габариты платы ЭКСПРЕСС не меняются, а Специалист минимальным трудом превращается в машинку более удобную, чем Специалист-MX.

Если же ни установка второй банки РУ5 в два этажа, ни установка второй банки ОЗУ на статике (из двух 62256) по каким-либо причинам неприемлема, то всё равно можно поиметь электронный привод в виде внешней платы эл.диска на статике. Такой вариант ценен тем, что не только нет вторжений на основной плате, но и объём диска из статики не ограничен нагрузочными характеристиками шины адреса процессора и позволяет поиметь эл.диск на малоёмкой DIP-статике типа 62256/w24257 значительно большего объёма (чем при включении доп.ОЗУ в адресное пространство CPU).

Если же в качестве привода используется не дисковод (отчего копировать дискеты не требуется), а используется огромный винчестер или флэш-карта гигантского объёма, то вторая банка ОЗУ ни к чему, т.к программ использующих это ОЗУ пока нет. Но даже при наличии второй банки ОЗУ неразумно делать много версий DOS под разные конкретные задачи и железо. Доп.ОЗУ разумно считать факультативным (т.е лишь желательным), ограничившись базовой архитектурой, когда Специалист остаётся им же, не превращаясь в другой компьютер с другой архитектурой. Вот по этим всем соображениям Low CP/M является наиболее универсальным решением.

Загрузку CP/M удобно делать из ROM-диска или из второй страницы страничного ПЗУ 27256. Как видно на картинке, CCP подкачивать не требуется, т.к он будучи раз загруженным, уже не затирается программами (т.к CP/M ничего не затирает выше адреса из ячеек 0006/07). BDOS тоже не нуждается в подкачке с дискеты, т.к он в ПЗУ и затёрт быть вообще не может. По ^C только сбрасываются рабочие ячейки BDOS. Вот карта памяти при работе Low CP/M (с размещением BDOS в ПЗУ):

Low TPA CP/M для Специалиста MAP1.1575768313
barsik
barsik
Ветеран

Сообщения : 1032
Дата регистрации : 2016-11-10
Откуда : Россия, СПб

Вернуться к началу Перейти вниз

Вернуться к началу

- Похожие темы

 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения