📂 Документ: orion128-cgaega_clean.html


 

EGA видеорежим в Орионе-128, введение в видеорежимы

Изображения CGA -EGA.

Набор графики фирмы "Кристалл График" (С. Коровкин): 4 мегабайта pcx-файлов.

 

   Внимание! Большинство картинок формата pcx сделано не в cga, а в ega режимах Адаптера.  Пользователи не имеющие доработки до 3-х битового цвета (3 плоскости для цвета),  т.е  имеющие  лишь обычный 4-х цветный режим в "Орионе" увидят эти картинки в  искаженном  виде  (без 1 или 2-х плоскостей изображения). Программа Pcxview позволяет просматривать картинки кaк в формате редактора penx (В. Сафронов, В. Сугоняко), так и в формате pcx.  Для включения 8-ми цветного режима используется бит d3 порта f8.  Программирование палитр (т.е задание каждому из 8-ми Логических цветов в соответствие физического цвета, т.е набора компонент/интенсивностей основных цветов rgb) текущей версией программы pcxview не поддерживается. Для управления  палитрами  мы задействуем свободный до сих пор в "Орионе" порт в области памяти: fb00 (sta fb00, не out fb). Так как этот порт "занимает" 256 ячеек памяти (на запись,  по чтению здесь пзу) его можно будет еще "делить" и дальше т.к управление палитрами  при 8 цветах использует всего 9 адресов (регистров палитры). При программировании палитр в область 8 регистров палитры, т.е по адресам fb00-fb07  цветная программа использующая палитры, записывает 8 байтов, кодирующих цвета. Регистры fb00, fb01, fb02, ...fb07 "программируют" логические цвета 0,1,2...7 соответственно. При этом каждому логическому цвету ставится в соответствие физический цвет,  т.е теперь одновременно можно "оперировать" на экране 8-ю цветами и  выбор этих  цветов произволен (т.е можно иметь 3 красных, разных оттенков, но один  зеленый,   т.е выбрать нужный для конкретной картинки набор цветов). Палитры  "поддерживают" также старый 4-х цветный режим, т.е совместимы с 4-х цветными  программами: можно использовать палитры и в 4-х цветном режиме (имея возможность  иметь на весь  экран 4 произвольных, вместо 4-х "неудобных" цветов в  недоработанном "Орионе-128").   Регистр fb08  определяет цвет бордюра.  Кодирование  цветов  палитры  заимствовано  от  "вектора-06/ц".

D0,d1,d2 = r0,r1,r2 - компонента красного (т.е d0 - младший вес и т.д)

D3,d4,d5 = g0,g1,g2 - компонента зеленого

D6,d7    = b1,b2    - компонента синего (два бита, старшие веса)

Для облегчения доработки видеоадаптера  "Ориона"  разработана печатная плата -"ega oriona-128". Плата устанавливается вместо обычного расширения озу "Ориона" и содержит: 1 банку 565ру5 и видео выход на 8 цветов с программируемой палитрой В 256 цветов.   Разумеется  размер  озу  "Ориона-128" при этом составляет 192к. Стоимость  платы  такого видеодаптера составляет 3,5$. При покупке одновременно более 5 плат - цена всего 3$. Вот типы примененных имс: 565ру5г,ир22,ап6,кп2, 155ру2, ир9, тм2, лл1. Размер платы - как у обычного расширения озу "Ориона".

Анонс! Фирма "кристалл график" (Булдаков, Коровкин) заканчивает разработку графического  редактора  для 8-ми цветного режима. Поддерживается формат pcx (это означает, что поддерживается  не только редактирование картинки в 8-ми цветном режиме, но и задание рабочей  палитры  картинки),  а  также 8-ми цветной игры, Адаптированной от ibm pc: "Принц Персии". Для приобретения этих программ обращаться только к В. Чистякову - не беспокойте Сергея Коровкина, у него нет времени отвечать на письма пользователей...  Кроме этого,  по  достигнутой с фирмой "luksian key" договоренности,  через  некоторое время будет разработана версия известного графического редактора "4colors"  для 8-ми цветов   (разумеется  под именем 8colors) для работы в средe CP/M-80.  Присылайте нам подписанные конверты (с марками) для получения новых рекламных сообщений о программах для режима 8 цветов.

 Некоторые картинки выполнены в 4-х битовом цвете, но на "Орионе-128" мы не планируем поддерживать 4-х битовый цвет.  Не  хватает  быстродействия  процессора. Помните, что лучшее враг хорошего... Но если вам не лень, вы можете еще немного доработать видеоадаптер и получить 16 цветов "супертормозной графики" для работы  с  неподвижными  картинками  и  их  печати  на  принтер.

Для получения схемы доработки видеоадаптера обращатхся к В. Чистякову. Фирма "кристалл график" с апреля 1994 г. Не занимается тиражированием программ и документации, не занимается перепиской с владельцами "Ориона" и не выполняет никаких услуг по поддержке своих аппаратных и программных разработок. Тем не менее прошу вас писать письма с моральной поддержкой и предложениями С. Коровкину по адресу: 426072 Удмуртия г. Ижевск ул.40 лет победы д.56 кв.34 С. Коровкину

           Чистяков Владимир, Санкт-Петербург, апрель 1994

Внимание программистов-любителей! Я готов купить у вас для тиражирования ваши программы. К сожалению, т.к у меня нет средств, я могу предложить вам за каждую игру лишь 30-50$. Разумеется,  если вы житель санкт-петербурга оплата будет выше. Интересуют только самые лучшие программы,  адаптированные от "синклера" (рэйтинг 5 звездочек и только  с поддержкой ay-8912).  Авторские игры и системные программы могут  быть куплены только за бесценок (3-5$).  Все программы покупаются только,  если они сделаны вами и еще никем не  тиражируются.

При этом покупаются все права,  т.е  вы уже не продаете их для  тиражирования никому. Присылать только  демонстратор (!!!), ни в коем случае не  саму игру. Защита кода  программы  от модификации должна быть встроена в саму  программу в процессе  ее создания (а не приляпана после). Если вы еще только  начинаете адаптацию, лучше заранее сообщите название игры (чтобы не оказалось,  что эта игра уже адаптирована).

 Ниже описан стандарт доработок "Орион-128" (альтаир).

1. процессор z80, реальное быстродействие 3,5 мгц  (например: 5 мгц с wait) и выше

2. прерывания "int" 50гц, включаемые битом d6 порта fb (см.ниже), привязка шины данных процессора на "+5в" (как в zx-spectrum. В несуществующих портах ff)

3. клавиатура - любая, но подключенная совместимо с рк-86 (чтение по порту  b) МС7007,  включена по схеме радио-12.91 (но игры не используют п/п в rom-bios)

4. диспетчер  озу включается битом d7 порта fb. Позволяет включить любой 16-ти килобайтовый  участок  озу  (из  4-х  банок  ру5)  в  окно  диспетчера 0-3fff

5. режим "полного озу" включается битом d5 порта fb.  N банки выше f000, в режиме "полного озу", в отличие от режима "озу+ву+пзу",  определяется портом f9

6. прерывания "nmi" не используются системой.   Но nmi используются эмулятором

7. програмный звук- триггер в порту ff. Звук эмулятора (fe/d4) не использовать

8. музыкальный сопроцессор 8912 по стандарту "синклера" - область внутренних устройств: bffd/fffd

9. адресация  внешних  устройств в  области  памяти  (недоступны  в  режиме  full ram  memory):

F400 - ппа клавиатуры

F700/f720 - контроллер  дисковода (f720/d3,d6 - плотность записи)

F760 - пдп 1810вт37 или i8237, для блиттера и работы кнгмд-hd/кнжмд

F780 - внешний  эл. диск  (1-16 мбайт)

F7b0 - часы 512ви1 (Орионсофт)

Fb00 - управление цветовой палитрой (8 регистров палитры и 1 бордюра)

В  области  внешних  устройств

Адресуемые  через  "bc":  bffd -  данные  8912,  fffd - выбор  регистра  8912

Адресуемые  непосредственно: 1f - кемпстон джойстик (только  чтение)

10.системные  регистры  (в  неиспользованных  битах  выводить  нули):

F8 - выбор  режима  видео-адаптера (бит d3=1 включает 8 цветный режим)

F9 - выбор  банки  озу

Fa - выбор  номера  экрана

Fb - управление  прерываниями  и  диспетчером

Назначение разрядов порта fb

 ----------------

назначение разрядов порта fb  Орион128 

   d7     d6     d5     d4     d3     d2     d1     d0

   !      !      !      !      !      !      !      !

   mz    int    xmem   rzrv   bs1    bs0    ss1    ss0

   !      !      !      !      !      !      !      !

   !      !      !      !      !      !      !______!____ segment select

   !      !      !      !      !______!__________________ bank select

   !      !      !      !

   !      !      !      !________ резерв для bank select (всегда = 0)

   !      !      !_______________ full ram memory (при d5=1  0-ffff - озу)

   !      !______________________ int enable (при d5=0 запрещены)

   !_____________________________ dispatcher off (при d7=1 отключен !)

 

Биты bs1,bs0 определяют  номер  банки  озу,  а  биты ss1,ss0 определяют какой 16-ти килобайтовый участок из этой  банки  будет  доступен по адресам 0-3fff.

Данные,  записанные  в  порт,  можно  считать  с  порта  fb (алхтаир,super-3)

Fc - управление теневым пзу. На платах "супер-3" битом d7 включается  теневое пзу

Fd - из-за  упрощенной схемы дешифрации  "занято"  музыкальным сопроцессором  8910/12

Fe - в эмуляторе "синклера" звук  и  клавиатура  (программный звук по биту d4)

Ff - "програмный ключ" для вывода  звука (переключается по каждому обращению)

Внимание! В связи с большим распространением упрощенной установки z80 в большинстве игр 1992-1993 года  не использовался диспетчер озу. Все игры, которые Будут адаптироваться в будущем  будут  использовать  диспетчер  озу  по  16к!

 

 

Подключение ПК к телевизору 1 вариант

Подключение ПК к телевизору 2 вариант

Подключение ПК к телевизору 3 вариант

Сдвигатель строк в Орионе-128, сдвиг строк по вертикали

Подключаем Орион 128 к телевизору, вариант 4  декодер PAL

Подключаем Орион 128 к телевизору, вариант 5 декодер PAL

 

 

 

Продаю, куплю микросхемы на Орион-128, ZX-Спектрум, РК-86, КР565РУ5В, КР565ру7В, к565ру5г AU, к565ру7г Au в керамике, позолота и никель, также серия к580

 

Полезные и интересные статьи

На предыдущую страницу  На главную страницу  На следующую страницу