<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://emuverse.ru/w/index.php?action=history&amp;feed=atom&amp;title=%D0%9E_Z80_%D0%BD%D0%B0_%22%D0%9E%D1%80%D0%B8%D0%BE%D0%BD%D0%B5-128%22</id>
	<title>О Z80 на &quot;Орионе-128&quot; - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://emuverse.ru/w/index.php?action=history&amp;feed=atom&amp;title=%D0%9E_Z80_%D0%BD%D0%B0_%22%D0%9E%D1%80%D0%B8%D0%BE%D0%BD%D0%B5-128%22"/>
	<link rel="alternate" type="text/html" href="https://emuverse.ru/w/index.php?title=%D0%9E_Z80_%D0%BD%D0%B0_%22%D0%9E%D1%80%D0%B8%D0%BE%D0%BD%D0%B5-128%22&amp;action=history"/>
	<updated>2026-05-01T13:54:19Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://emuverse.ru/w/index.php?title=%D0%9E_Z80_%D0%BD%D0%B0_%22%D0%9E%D1%80%D0%B8%D0%BE%D0%BD%D0%B5-128%22&amp;diff=2860&amp;oldid=prev</id>
		<title>Barsik: авторское редактирование</title>
		<link rel="alternate" type="text/html" href="https://emuverse.ru/w/index.php?title=%D0%9E_Z80_%D0%BD%D0%B0_%22%D0%9E%D1%80%D0%B8%D0%BE%D0%BD%D0%B5-128%22&amp;diff=2860&amp;oldid=prev"/>
		<updated>2019-10-21T12:36:58Z</updated>

		<summary type="html">&lt;p&gt;авторское редактирование&lt;/p&gt;
&lt;a href=&quot;https://emuverse.ru/w/index.php?title=%D0%9E_Z80_%D0%BD%D0%B0_%22%D0%9E%D1%80%D0%B8%D0%BE%D0%BD%D0%B5-128%22&amp;amp;diff=2860&amp;amp;oldid=998&quot;&gt;Внесённые изменения&lt;/a&gt;</summary>
		<author><name>Barsik</name></author>
	</entry>
	<entry>
		<id>https://emuverse.ru/w/index.php?title=%D0%9E_Z80_%D0%BD%D0%B0_%22%D0%9E%D1%80%D0%B8%D0%BE%D0%BD%D0%B5-128%22&amp;diff=998&amp;oldid=prev</id>
		<title>Panther: http://www.nedopc.org/forum/viewtopic.php?t=8161</title>
		<link rel="alternate" type="text/html" href="https://emuverse.ru/w/index.php?title=%D0%9E_Z80_%D0%BD%D0%B0_%22%D0%9E%D1%80%D0%B8%D0%BE%D0%BD%D0%B5-128%22&amp;diff=998&amp;oldid=prev"/>
		<updated>2008-07-07T16:32:20Z</updated>

		<summary type="html">&lt;p&gt;http://www.nedopc.org/forum/viewtopic.php?t=8161&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{ДИ|Автор=В.Чистяков|Источник=http://www.nedopc.org/forum/viewtopic.php?t=8161}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
В.Чистяков о Z80 на «Орионе-128»&lt;br /&gt;
      -------------------------------- &lt;br /&gt;
.....Оказалось, что при адаптации гораздо удобнее было бы иметь сегментирование по &lt;br /&gt;
16К, т.е возможность коммутировать ОЗУ по адресам 0-4000H.  Дело в том, что у &lt;br /&gt;
&amp;quot;Синклера&amp;quot; в этих адресах располагается ПЗУ, а из-за архитектуры &amp;quot;Ориона&amp;quot;, ОЗУ &lt;br /&gt;
экрана (при цвете) всегда присутствует в адресном пространстве.  Поэтому  при &lt;br /&gt;
адаптации игр (для того, чтобы экран не мешал размещению собственно программы &lt;br /&gt;
&amp;quot;Синклера&amp;quot;) на &amp;quot;Орионе&amp;quot; включается экран N4 (0-2FFF), т.е вместо ПЗУ Синклера. &lt;br /&gt;
 Итак &lt;br /&gt;
весной 1992 г. я установил &amp;quot;минимальный вариант доработки&amp;quot;, а именно: требуется &lt;br /&gt;
только наличие самого процессора Z80 и прерываний аналогичных  ZX-Spectrum - &lt;br /&gt;
50 Герц на вход INT, включаемых битом D6 порта 0FBH. ......&lt;br /&gt;
      ----------------------- &lt;br /&gt;
&lt;br /&gt;
  Далее описывается &amp;quot;стандарт&amp;quot; для доработанного &amp;quot;Ориона-128&amp;quot;, которого будут &lt;br /&gt;
придерживаться в SP-Computer Club-е при  создании  новых  программ  в 1993 г. &lt;br /&gt;
Прошу не думать, что мы навязываем кому-то из пользователей  &amp;quot;свои стандарты&amp;quot; - &lt;br /&gt;
мы не авторы &amp;quot;Ориона&amp;quot;, не публикуемся в журналах и не имеем  таких прав. Наши &lt;br /&gt;
доработки лишь - предложения на ваше рассмотрение: вы можете их отвергнуть или &lt;br /&gt;
одобрить: выбор Ваш. При принятии решения учтите, что такая доработка совмести- &lt;br /&gt;
ма с &amp;quot;классическим&amp;quot; вариантом &amp;quot;Ориона&amp;quot; (насколько возможно),  а  те несколько &lt;br /&gt;
программ, которые работают с ОЗУ командами IN/OUT давно  доработаны  для Z80. &lt;br /&gt;
  Основная цель предлагаемых усовершенствований - обеспечить максимально легкую &lt;br /&gt;
адаптацию программ от &amp;quot;Синклера&amp;quot;, облегчить доступ к ОЗУ и поднять быстродейст- &lt;br /&gt;
вие &amp;quot;Ориона&amp;quot; а также немного улучшить его муз.возможности. Вы можете выполнить &lt;br /&gt;
лишь часть этих переделок, потеряв при этом также &amp;quot;совместимость&amp;quot; с какой-то &lt;br /&gt;
частью наших программ. &lt;br /&gt;
&lt;br /&gt;
1. Центральный процессор - Z80.  Любой  процессор,  обеспечивающий  требуемое &lt;br /&gt;
   быстродействие. Возможно также применение  процессора  Z80H, хоть про него &lt;br /&gt;
   и написано в справочниках, что он имеет сокращенный набор команд (мы прове- &lt;br /&gt;
   ряли на &amp;quot;Синклере&amp;quot; -  игры работают,  возможно нет команд  типа   &amp;quot;OTIR&amp;quot;). &lt;br /&gt;
2. Быстродействие - не менее 4 МГЦ. Следует различать быстродействие (т.е реа- &lt;br /&gt;
   льный такт) и такт процессора. В случае если нет WAIT, реальный такт и такт &lt;br /&gt;
   процессора равны. Обычно мы указываем, если адаптированная игра будет слиш- &lt;br /&gt;
   ком медленно работать  на 2.5 МГЦ (напр: цветной SPACE RAIDERS сделаный на &lt;br /&gt;
   прерываниях  всего  за  3  часа  работы -  страшный  &amp;quot;тормоз&amp;quot;). &lt;br /&gt;
3. Прерывание NMI  пока  не используются. Опробован режим &amp;quot;эмуляции Синклера&amp;quot; &lt;br /&gt;
   по прерываниям NMI,  с теневой ПЗУ -  этот  вариант доработки оставлен &amp;quot;на &lt;br /&gt;
   смертный час Ориона&amp;quot;: первые опыты показали - скорости в 5 МГЦ достаточно, &lt;br /&gt;
   но реализация &amp;quot;режима эмуляции&amp;quot; целесообразна  лишь на новой плате - иначе &lt;br /&gt;
   будет просто 3-этажная &amp;quot;макетная плата&amp;quot;.  Идея эмуляции не нова: &amp;quot;ПОИСК-1&amp;quot; &lt;br /&gt;
   (советский плагиат первого Amstrad PC) эмулирует таким образом на графичес- &lt;br /&gt;
   ком экране текстовый адаптер MDA. По каждой записи в экран &amp;quot;Синклера&amp;quot; (4000- &lt;br /&gt;
   4AFF) вызывается NMI, п/программа NMI по 66-му адресу определяет, &amp;quot;куда хо- &lt;br /&gt;
   тели записать&amp;quot; и записывает аналогичный байт (байты) в экран &amp;quot;Ориона&amp;quot;, вклю- &lt;br /&gt;
   ченный с  0-го  адреса (экран 4). Однако из-за отличия клавиатур нужно или &lt;br /&gt;
   дорабатывать программы  (дорабатывать  только клавиатуру совсем легко) или &lt;br /&gt;
   эмулировать по прерыванию NMI, как и экран. Этот текст написан для того, кто &lt;br /&gt;
   выполняя доработки &amp;quot;Ориона&amp;quot;, решит &amp;quot;занять&amp;quot; NMI, чем-то &amp;quot;менее-серьезным&amp;quot;, &lt;br /&gt;
   например для реализации многозадачности (это  нецелесообразно,  пока у Вас &lt;br /&gt;
   нет RSX-11, UNIX или хотя-бы MP/M-80). Давайте сохраним это  прерывание до &lt;br /&gt;
   &amp;quot;последнего часа Ориона&amp;quot;,   как  его  последний  шанс  (эмулятор - 9 ИМС). &lt;br /&gt;
4. Прерывание INT. Отключаемое прерывание по кадровому &amp;quot;бланку&amp;quot; т.е с частотой &lt;br /&gt;
   50 Герц. По сбросу выключено поступление импульсов на вход INT и поэтому &lt;br /&gt;
   даже после команды &amp;quot;EI&amp;quot; прерывание не наступает. Для разрешения прерываний &lt;br /&gt;
   в порт по адресу FB надо вывести байт с установленной единицей в 6 разряде. &lt;br /&gt;
   В связи с прерыванием стоит упомянуть о необходимости привязки шины данных &lt;br /&gt;
   процессора на &amp;quot;+5В&amp;quot; резисторами в 10К. Игры сделанные до марта 1993 (кроме &lt;br /&gt;
   GALAXY) этого не требовали; но все последующие будут считать, что при обра- &lt;br /&gt;
   ботке INT в режиме 2, с шины читается FF. Резисторы - до ШФ, к ногам CPU. &lt;br /&gt;
5. Звук. Выводится двумя способами: TOGGLE OUT FF, PORT OUT FE/D4. Первый спо- &lt;br /&gt;
   соб удобен при адаптации программ со звуком &amp;quot;в стиле РК-86&amp;quot; (DI/EI) и позво- &lt;br /&gt;
   ляет &amp;quot;тратить&amp;quot; меньше тактов процессора на звук, а второй - звук &amp;quot;Синклера&amp;quot;, &lt;br /&gt;
   позволяет  при  адаптации  не  адаптировать  вывод звука вообще. На платах &lt;br /&gt;
   Z80-CARD, версии 1993 г. имеются оба &amp;quot;звука&amp;quot;.  На  старых платах 1991 года &lt;br /&gt;
   проще всего ввести звук по порту FE, используя имеющийся  &amp;quot;порт FE&amp;quot; - ИЕ7. &lt;br /&gt;
   Подключите вместо D7 к 9 ноге ИЕ7 - D4, а соотв.выход ИЕ7 через резистор на &lt;br /&gt;
   эмиттерный повторитель для звука. Если Вы не ставили ИЕ7, то для организа- &lt;br /&gt;
   ции звука FE можно использовать тот-же триггер звука FF (используя R/S вх). &lt;br /&gt;
   Наличия &amp;quot;бордера&amp;quot; не требуется. В некоторых играх (адапт.В.Смирнова) он под- &lt;br /&gt;
   держивался. В дальнейшем будет считаться, что у Вас &amp;quot;бордера&amp;quot; - нет, но в &lt;br /&gt;
   тех программах, где звук не переделывается на FF - использование BORDER-а &lt;br /&gt;
   получится  автоматически  (т.к  в  &amp;quot;Синклере&amp;quot; он такой-же). &lt;br /&gt;
6. Освобождение ОЗУ в области выше F400. Так как все, самые  лучшие программы &lt;br /&gt;
   как раз работают в старших адресах ОЗУ, где у &amp;quot;Ориона&amp;quot;  ПЗУ  и ВУ мы ввели &lt;br /&gt;
   возможность иметь ОЗУ по этим адресам. При этом аппаратные переделки мини- &lt;br /&gt;
   мальны (1 вентиль от 155ЛИ1 и провода). Для отключения ПЗУ/ВУ используется &lt;br /&gt;
   разряд D5 порта FB (на старых схемах сигнал XROM).  При  выводе  единицы в &lt;br /&gt;
   этот разряд по адресам выше F400 оказывается ОЗУ 0-й банки памяти (естест- &lt;br /&gt;
   венно ПЗУ и ВУ становятся при этом недоступны). Чтобы получить доступ к ВУ &lt;br /&gt;
   необходимо &amp;quot;вернуть их назад&amp;quot; выполнив команду OUT FB с 0 в  5-м  разряде. &lt;br /&gt;
   К марту 1993 только одна  программа  &amp;quot;KRAKOUT&amp;quot;  требует  такой  доработки. &lt;br /&gt;
7. Диспетчер ОЗУ. Диспетчер ОЗУ по 32К, как указано выше был неудобен в работе &lt;br /&gt;
   и был отвергнут программистами. Поэтому его пришлось доработать, обеспечив &lt;br /&gt;
   коммутацию по 16К в области  адресов  0-3FFFH.  На плате Z80-CARD &amp;quot;образца &lt;br /&gt;
   1991 года&amp;quot; легко выполнить такую доработку. Как  ее сделать становится по- &lt;br /&gt;
   нятно, если сравнить схемы этих двух плат. Естественно изменилось и назна- &lt;br /&gt;
   чение разрядов D0-D4 порта FB: сигналы SS0 и SS1  определяют   номер 16-ти &lt;br /&gt;
   килобайтового участка, а BS0-BS1 номер банки ОЗУ,  включаемого  в  область &lt;br /&gt;
   коммутации с 0000 по 3FFF. Естественно, как и ранее работа диспетчера отклю- &lt;br /&gt;
   чается записью единицы в 7-й разряд порта FB. Однако так,  как большинство &lt;br /&gt;
   пользователей вообще не имеет диспетчера, в играх он не будет использоваться &lt;br /&gt;
   Некоторые програмисты и пользователи, поддерживающие отношения со мной (это &lt;br /&gt;
   около 15 человек) переделали Z80CARD под коммутацию по 16К, и используют дис- &lt;br /&gt;
   петчер для работы. Возможно, что платы Z80CARD-II будут выпущены в Ижевске. &lt;br /&gt;
8. Таймер 580ВИ53. Стоит по адресу F740-F743. Такты каналов 0, 1, 2 - 2 МГЦ, &lt;br /&gt;
   причем эти 2 мГц удобно брать от контроллера НГМД (т.к такт CPU - меняется). &lt;br /&gt;
   Однако таймер 580ВИ53 не Z80, его наличие не обязательно,  его не подержи- &lt;br /&gt;
   вают производители программ, поэтому для &amp;quot;звукопроизводства&amp;quot; более перспек- &lt;br /&gt;
   тивен MSX SOUND CHIP - AY8912. К сожалению пока нет возможности (нет оплаты &lt;br /&gt;
   программиста) сделать подержку AY8912, а обьявлять  стандарты  без этого - &lt;br /&gt;
   обман пользователей (пусть этим занимаются другие).  Что касается ВИ53, то &lt;br /&gt;
   в начале 92 г. А.Балдин сделал муз.редактор (адрес F740),  но больше ника- &lt;br /&gt;
   кие программы его не используют. &lt;br /&gt;
9. Обьем ОЗУ. Не менее 128К. &lt;br /&gt;
          Чистяков Владимир, Санкт-Петербург, март 1993 г. &lt;br /&gt;
&lt;br /&gt;
FFFF|=================|    &lt;br /&gt;
    |`````````````````|    &lt;br /&gt;
    |``ROM-BIOS area``|    &lt;br /&gt;
F800|`````````````````|    &lt;br /&gt;
    |``````Ports``````|    &lt;br /&gt;
F400|`````````````````|    &lt;br /&gt;
    | некоммутируемое | &lt;br /&gt;
    | портом &amp;quot;F9&amp;quot; ОЗУ |&amp;lt;------------------ !!! Но при FB/d5=1 эта область &lt;br /&gt;
F000|-----------------|&amp;lt;-----\             перестает быть некоммутируемой &lt;br /&gt;
    |    Segment 3    |      |             и тогда порт &amp;quot;F9&amp;quot; действует на &lt;br /&gt;
    |                 |      |             все адресное пространство 64 К &lt;br /&gt;
C000|=================|      | &lt;br /&gt;
    |                 |      |      Эта область переключается портом &amp;quot;F9&amp;quot; &lt;br /&gt;
    |    Segment 2    |      |      То есть при FB/d7=FB/d5=0 область уп- &lt;br /&gt;
    |                 |      |----- равляемая портом &amp;quot;F9&amp;quot; не включает 16К &lt;br /&gt;
8000|=================|      |      памяти, входящие в Segment 0  и таким &lt;br /&gt;
    |                 |      |      образом порт F9 управляет окном в 48К &lt;br /&gt;
    |    Segment 1    |      |      Но при FB/d7=1 порт F9 коммутирует на &lt;br /&gt;
    |                 |      |      все адресное пространство  в 60 Кбайт &lt;br /&gt;
4000|=================|&amp;lt;-----/ &lt;br /&gt;
    |                 | Segment 0 соответствует окну диспетчера Z80CARD-2 &lt;br /&gt;
    |    Segment 0    | При включенном диспетчере номер блока памяти дос- &lt;br /&gt;
    |                 | тупного в этом сегменте, определяется портом FBh. &lt;br /&gt;
0000|=================| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Категория:Орион-128]]&lt;/div&gt;</summary>
		<author><name>Panther</name></author>
	</entry>
</feed>