Январь 2019
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031   

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

Последние темы
» Разработка "Радио - РК2019М".
автор alemorf Сегодня в 12:39

» Карта памяти ИРИШИ для программистов
автор barsik Сегодня в 11:20

» [ANN] RCO Rampant Coin (RCO). Криптовалюта Rampant Coin.
автор Viktor2312 Сегодня в 05:04

» Статьи, заметки, очерки, разное...
автор Viktor2312 Сегодня в 04:53

» Новинки.
автор Viktor2312 Сегодня в 04:22

» Немного о портах
автор barsik Вчера в 11:27

» ПЭВМ "АПОГЕЙ - БК01Ц".
автор alemorf Пн Янв 14 2019, 14:26

» Сборка и настройка платы Apple-II
автор barsik Пн Янв 14 2019, 13:28

» Апогей-БК01Ц: Online эмулятор
автор alemorf Пн Янв 14 2019, 10:31

» Жалобы/пожелания по работе форума
автор alemorf Пн Янв 14 2019, 10:00

» Апогей-БК01Ц: Внешнее ПЗУ
автор alemorf Пн Янв 14 2019, 09:52

» Радио-86РК: внешние видео-адаптеры
автор barsik Пн Янв 14 2019, 03:04

» Прошивки УФ-ПЗУ и РПЗУ ИРИШИ
автор Viktor2312 Вс Янв 13 2019, 12:07

» Юниор ПК ФВ 6506. Информация, докуметы, фото.
автор alemorf Вс Янв 13 2019, 02:54

» Схема блока питания В265.
автор sergey1966 Сб Янв 12 2019, 17:46

» Кратко о компьютере АГАТ
автор alemorf Пт Янв 11 2019, 10:44

» Эльф 2
автор alemorf Чт Янв 10 2019, 23:01

» Упрощаем схему Микро-80 и исправляем косяки. И собираем по технологиям 80-х годов.
автор alemorf Чт Янв 10 2019, 14:51

» ПО ИРИТЕКСТ
автор barsik Чт Янв 10 2019, 09:58

» РК86: подключение винчестера IDE (или CF-карты)
автор bug19 Ср Янв 09 2019, 05:04

» Датчики. Статьи, описания, разное...
автор Viktor2312 Ср Янв 09 2019, 02:16

» Радио-86РК: Подключение дисковода
автор barsik Пн Янв 07 2019, 01:46

» Серия: Массовая радио библиотека. МРБ
автор Viktor2312 Вс Янв 06 2019, 17:22

» РК86 в роли терминала
автор barsik Пт Янв 04 2019, 17:06

» Статьи, заметки, очерки, разное...
автор Viktor2312 Вт Янв 01 2019, 20:45

Самые активные пользователи за месяц
Viktor2312
 
barsik
 
alemorf
 
bug19
 
QUATTRO
 
san010101
 
sergey1966
 

Поиск
 
 

Результаты :
 


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


Расширение ПЗУ в ОРИОН-128

Перейти вниз

Расширение ПЗУ в ОРИОН-128

Сообщение  barsik в Чт Сен 14 2017, 22:41

Разработчики ОРИОНА, отвечая на соответствующий вопрос, писали в журнале РАДИО, что в ОРИОНЕ-128 расширение ПЗУ не предусмотрено, а для расширения числа резидентных программ служит ROM-диск.

Но увы, это отнюдь не одно и то же. Потому что в ПЗУ хранится ROM-BIOS и чем больше объём ПЗУ, тем более качественный ROM-BIOS можно иметь. Для сравнения, ROM-BIOS-ы западных 8-ми разрядок, выпущенных во второй половине 80-тых, составляли 64 кб и более (а минимум это 32 кб). Особенно это актуально для машины не имеющей внешней массовой памяти и диспетчера ОЗУ (что позволяло бы грузить расширение ROM-BIOS в ОЗУ). Из-за мизерности объёма ПЗУ, базовый набор драйверов, причём графической машины, оказался даже хуже, чем у текстового РК86, что и предопределило убогость внешнего вида основной массы системных программ ORDOS.

ROM-диск позволяет хранить некоторые резидентные программы, в частности базовую ОС, загрузчик с НГМД и т.п. Если бы, изначально была стандартизована концепция загрузки расширения ROM-BIOS в ОЗУ из ROM-диска, например, за счёт жёсткого резервирования ОЗУ B000...BFFF для этих целей, то ROM-BIOS можно было бы расширять, загружая его при включении ЭВМ из ROM-диска, что эквивалентно расширению ПЗУ. Однако увы, этого сделано не было. А использование в ORDOS и в играх качестве основной банки 0, окончательно похоронило идею загрузки расширения ROM-BIOS в ОЗУ, что впрочем всё-равно нехорошая идея, т.к в банке 0 мало свободного ОЗУ (т.к там экран занимает 12 кб).

Мизерность ПЗУ не являлась бы проблемой, если бы в ОРИОНЕ был диспетчер ОЗУ, позволяющий в небольшом окне (обычно это 16 кб) включать фрагменты памяти дополнительного ОЗУ. Т.к большой ROM-BIOS нужен в основном для обслуживания экрана (работы с цветом, оконности, вывода рамок, разных шрифтов и даже граф.интерфейса), то включение на время работы с экраном в окне 16К соответствующей программы, полностью заменило бы большое ПЗУ.

Оптимально для ОРИОНА в качестве ПЗУ было бы иметь отключаемое ПЗУ 27256 в окне 0...7FFF, что позволяет в объёме 32К уместить комфортабельный ROM-BIOS и существенно повысить качество программ. Такие попытки, кстати, были сделаны, хотя и не для программ в банке 0, а для CP/M, причём в банке 2. Установка доп.ПЗУ 27256 требует монтажа на плате ОРИОНА дополнительной панельки на 28 ног и несколько корпусов, образующих управляющую логику. В 32 кб легко умещаются драйверы 3-х шрифтов 6*10, 7*10 и 8*10, правда они пока существуют только в варианте для Z80.

Конструктивно проще всего ПЗУ расширяется напайкой на ПЗУ РФ2 другой ПЗУ РФ2 (или панельки для её установки, что удобнее при модификациях). Вот схема. ПЗУ 0 включается по сбросу или по записи 0 в порт FC, а альтернативное ПЗУ 2 кб включается записью туда 1. Нет смысла упоминать, что порт FC есть только при процессоре Z80. При КР580 в качестве порта управления ПЗУ можно использовать порт STA FB00 (но не OUT FB).

Исторически именно такой вариант и был первым и применялся на первых платках для установки Z80 (названных впоследствии Z80CARD-I). Это был 1991 год, когда большинство пользователей ещё не имели ROM-диска. Потому загрузка по сбросу ОС на адрес B800 из второго РФ2 решала проблему отсутствия ROM-диска. В Z80CARD-II эта проблема уже не стояла, т.к ROM-диск к тому времени уже стал стандартом для ОРИОНА, поэтому второе ПЗУ РФ2 там уже неиспользовано.

Наличие двух ПЗУ РФ2 позволяло иметь в ЭВМ два ROM-BIOS, переключаемых как программно, так и аппаратно. Но особой пользы наличие 2-х ПЗУ не давало. Для работы прямо из этого ПЗУ использовался так называемый 'Shadowy-Monitor', теневой монитор, преимущество которого было в том, что он делал всё то же, что и M3-EXT, но вообще не занимал ОЗУ. Это даёт кое-какие преимущества программисту, хотя по сути несущественные. Вот этот монитор. Он для Z80 и прошивается в две РФ2 установленные в 2 этажа, переключение портом FC по схеме приведённой выше.

"Звёздный час" второго ПЗУ РФ2 наступил лишь когда был написан эмулятор РК86 на ОРИОНЕ с Z80. Оказалось, что в ПЗУ F800 при работе эмулятора должен находиться ROM-BIOS РК86 (точнее совместимый). Теоретически можно обойтись за счёт транспонирования кодов ROM-BIOS на другие адреса, но для этого, во-первых, нет ресурса скорости CPU, а во-вторых, для этого просто нет ОЗУ в банке 0 (всё впритык, свободного ОЗУ нет).

Решить эту проблему (нехватки ОЗУ) можно существенно переделав эмулятор РК86 на ОРИОНЕ, перенеся код в банку 1 (или 2), где на 12 кб больше свободного места. Я давно хотел перенести эмулятор РК в банку 1, но не для исключения ПЗУ, а для того, чтобы в эмулируемом РК эмулировалось ОЗУ 8400...BFFF. А если это сделать, то ROM-BIOS РК86 всё-равно придётся иметь в альтернативном ПЗУ F800.

_________________
***
avatar
barsik
Мастер

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

Посмотреть профиль

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

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


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