Optron #09
13 марта 1998
  Железо  

Железо - еще раз о Turbo, Mega и Multi.

<b>Железо</b> - еще раз о Turbo, Mega и Multi.
 ╔════────
 ║
 │    Еще раз о Turbo, Mega и Multi    │
                                       ║
                               ────════╝

(C) TwinSoft, the free hackerности в вопрос
о  конфигурации  ZX в наше нелегкое время,
что  еще  более  приблизит нас к состоянию
совершенной неясности и идеального хаоса.
  Для начала моя текущая конфигурация:

  Объем DRAM, Kb                  1024
  Поле памяти                     общее
  Частота CPU, MHz                4.0
                                  8.0
                                  10.0
  Количество строк растра         312
  Количество тактов/фрейм
                     69888  DRAM/4 MHz
                     111808 DRAM/8 MHz
                     139776 CACHE/8 MHz
                     174720 CACHE/10 MHz
  Объем CACHE, kB                 48
  Virtual ROM, страниц            4
  SounDrive 1.2                   есть
  Kempston Mouse
   нет по этико-техническим соображениям
  АЦП                             8 бит
  Контроллер FDD                  турбо
  TR-DOS                          5.05
  (наш ремикс: быстрый LIST, FORMAT etc.)
  General Sound                   нет
  HDD                             нет

  Ну вот, похвастался. А теперь, вкратце о
том, как я это сделал и на фиг оно нужно.
  Motherboard  я  взял от... OREL-64k. Да,
да,  от  Орельчика. Из всех ZX-совместимых
извращений,  имхо, это - самое удобное для
апгрейдинга.  Во-первых,  не тормозящий на
видео-страницах  диспетчер памяти; во-вто-
рых от его схемы я просто балдею: строчная
и  кадровая  развертки сделаны на ПЛМ-ках,
все, что только можно на ИД7 etc., и - ре-
зультат:  5  (пять!)  микрух логики общего
назначения и минимум остальных.
  Суть  переделок  я  опишу  словами,  без
схем:  кто  надо,  надеюсь  поймет. Кто не
поймет,  но заинтересуется - может со мной
связаться. Постараюсь быть кратким.
  Сначала было 256k. Одна линейка РУ7. A0-
A8  с  экранных  счетчиков идет по RAS для
регенерации.
  Об  адресации  оных  центральным юнитом:
РУ7   имеют  18  бит  адреса.  Назовем  их
AM0-AM17.  Процессор непосредственно адре-
сует  AM0-AM13  (сегмент в 16k). Остальные
четыре  бита  берутся с КП12-х таким обра-
зом:  на S0,S1 КП12-х идут A14,A15 от CPU,
указывая  на  номер одного из четырех сег-
ментов   доступного  процессору  адресного
пространства  в 64k, а на их входы комута-
ции поданы комбинации бит, указывающие ка-
кая  именно из 16-ти доступных страниц бу-
дет  "светиться" в данном сегменте. Для 01
(#4000-#7FFF)  это  0101 (5 страница), для
10  (#8000-#BFFF)  -  0010 (2 страница), а
для  11  (#C000-#FFFF)  выход  страничного
порта,  ибо  там может быть любая из 16-ти
страниц. Для комбинации 00 (ПЗУ) стоит та-
кая  вот штука: XXDR, где
  XX  -  номер банка из четырех последова-
тельно  идущих страниц, отводимых под Vir-
tual ROM,
  D  -  бит  означающий нечто вроде -DOSEN
(ПЗУ TR-DOS'а)
  R - банальнейший 4-й бит порта #FD.
  Само  собой напрашивается сделать хитрую
схемку,  отключающую i27512, но включающую
565РУ7  с  адреса #0000, и повесить блоки-
ровку оной на тублер. Тыкаем вместо XX две
единички  и имеем: TR-DOS - page 13, BASIC
128 - page 14, BASIC 48 - page 15. Вот вам
и виртуалка.
  И,  главное:  не забудьте сделать блоки-
ровку записи в "ПЗУ":
    ___             __________     __
    WEM (3н РУ7) = (A14 or A15) or WE

  Если  же вы жадны и вам захотелось иметь
924k  в  HC 4.0 вместо 156, вам явно нужно
больше  одной  линейки  РУшек, если только
Santa не подарил вам РУ8 или РУ9 по 1MB.
  После  того, как вы приняли решение, по-
бывали у психиатра и помолились, проверьте
наличие  на РУ7 емкостей по 0.15 mkF - они
вам очень пригодятся.
  Далее,  вешаем  4  линейки РУ7 абсолютно
параллельно,  за  исключением  3-й  и 14-й
ног, которые отгибаем. Советую сначала от-
гибать, а потом припаивать - экономия вре-
мени и нервов.
  14-е  ноги (а их аж 24 штуки; если у вас
общее поле памяти, то одна ИР23 уже должна
стоять  между выходами РУ5/7 и D0-D7) кон-
нектим с входами ИР23/22, которые тоже на-
паиваются в 4 этажа с отогнутыми 1-ми нож-
ками.  На  11-е ноги ИР23 подается сигнал,
(обычно CAS) который захлопывает в регистр
данные  из ОЗУ в цикле выборки CPU. Первые
ноги  ИР23 это сигналы чтения данных с од-
ной из 4-х линеек (-RM).
  3-е  ноги  РУ7. Это запись в ОЗУ (-WEM).
Вместе  с  -RM формируются на 8-ми выходах
хитрой ИД7, включение которой также не яв-
ляется  коммерческой  тайной,  но  требует
долгого описания. Короче, на A2 идет -WEM,
на A0, A1 соответственно AM18, AM19, кото-
рые  берутся с еще одной КП12 (см.выше), а
на -E1 пустить (-WEM or -RM), если мне кэш
не  изменяет.  Таким  образом,  выходы ИД7
представляют собой:
  0-3: -WEM0..-WEM3
  4-7: -RM0..-RM3
  Минус  перед  сигналом, надеюсь, знаете,
что означает.
  Порты.  У  меня порт #FD (A8..A15 < #80)
"видит"  512K,  а  метр  видно  из #DFFD и
#FDFD. Советую делать так же.
  Хорошая   идея  насчет  5-го  бита  #FD.
Больше  метра,  думаю на ZX ставить уже не
имеет  смысла,  а адресовать таковой одним
портом  очень  заманчиво. Естественно, его
не протестируешь, (а догадайтесь, почему?)
поэтому  надо  ставить  в  SeTup'е.  А 48K
защeлку необходимо сделать на рубильнике -
приносят  тут  иногда игрухи за 89 год без
музык на 128K.
  К вопросу о теневике.
  Не  буду  хвастаться  (хотя  и делаю это
постоянно  ;-))),  но STS у меня в ПЗУ был
зашит еще три года назад. Сначала это была
версия   2.6,  потом  3.3.  Сейчас  Андрей
Смольский (ANC) дизассемблировал (!!!) STS
4.3, а я сделал прошивку (сидит вместо BA-
SIC 128) и умную схему магика. (555ТМ2. На
C  -  прямой  (!)  INT,  на DATA кнопку на
ноль,  выход  -  на 17н Z80). В результате
понятие защиты уходит в небытие, а отладка
софта превращается в наслаждение, не гово-
ря уже о поиске INFINIT'ов и ремонте игру-
шек.  Если  вам не лень напаивать ИР23 для
запоминания  IN  (#FD), это ваше дело. Моя
прошивка определяет страницу и без нее.
  И,  еще, напоследок, о супернавороченных
графических режимах.
  Извращение 1-е: MULTICOLOR. То же, что и
в  SATISFACTION-7,  но  на  весь  экран. 3
(три)  перерезки  and 3 (три) перемычки на
всех  без исключения версиях ZX, которые я
встречал.  Графика  с  #4000,  атрибуты  с
#6000.  Уже есть демо, но все еще не можем
родить ART-STUDIO под этот режим.
  Извращение  2-е: расширение BORDER'а. На
всех компах с нетормозящим видеоконтролле-
ром  считывание видеоинформации происходит
во  время всего растра (это, увы, не отно-
сится  к "Львовскому варианту"). Если заб-
рать  боковушки и чуть-чуть изменить адре-
сацию,  можно получить 384 точки по X. Бо-
ковушки  читаются с 4-й и 6-й страниц. Ра-
ботает и с MULTICOLOR'ом. Просто, но гени-
ально, isn't it ? А ежели еще и тактуху на
ИР16 поднять в 2.0 раза, то выходит разре-
шение  768*192. И, как ни странно, работа-
ет:  этот  текст  я  набираю в ремикснутом
Zx-Word'е,  который  дает  96  символов  в
строкe без особых жертв и разрушений. Есть
еще читалка для MS-DOS дисков и PCX-viewer
для вышеупомянутого разрешения.
  No, podobnie, wszystko. Если кого-то за-
интересует вышепредставленный bred of siff
cabl,  который  я набирал в 3 часа ночи на
"стреляющем"  мониторе и глючащем контрол-
лере,  буду очень рад за не впустую потра-
ченные килобайты.
  Keep YR SPEC alive !!!

  *Origin:  IBM - это вечный "Поиск"! (Co-
pylefted)

              ──══════════──



Другие статьи номера:

Железо - еще раз о Turbo, Mega и Multi.

История Demomakig'a - прошлое и будещее.

Лит. Страничка - пьянству бой.

Львовские приколы - Почему пиво лучше чем женщина.

Реклама - реклама и объявления...

Система - Перекодировщик текстовых файлов в IBM-формат и обратно.

Система - Эмулятор калькулятора МК-61.

Стихи - стих C.Васильева: феникс.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Cracking Scene - Нелегальная сцена на Speccy.
CSP`00 reроrt - отчет с Crazy Siberian Party 2000.
Игры - Seymour at the movies, Quazatron, Nether earth, Batty 3+,
TOP 3 - тройка игр.
Двигатель торговли - Куплю м/с К1107ПВ1, 1810ВТ37, 1816ВЕ35, 170АП2, 170УП2

В этот день...   26 апреля