Цитата Сообщение от krotan Посмотреть сообщение
1. Наличие ОЗУ в странице-0 является обязательным условием для запуска любой версии CP/M, а не только этой.
Угу. Но нет в том же Пентагоне128 ОЗУ в странице-0, вот для этого (и не только для этого) ставят кеш, получаем что CP/M и называется для "машины с кешем".
Цитата Сообщение от krotan Посмотреть сообщение
2. Почитайте прилагаемое описание - там упоминается, что кеш может быть разного объёма, а не только 16 Кбайт.
Вот, пожалуйста:
Код:
                      CACHE - 62256
                ──────────────────────────  
    В  Пентагоне очень легко поставить CACHE-ОЗУ на 537РУ10.
 (Схема от В.М.Г. опубликована в Спектрофоне-17. И не только
 для  Пентакона.) Hо с 2К мало от него пользы. Вот 16К - это
 другое дело! Там же рассказано, как сделать и 16К - на двух
 537РУ17 - их надо напаивать "бутербродом" друг на друга. Hо
 гораздо    удобнее   взять   одну   буржуйскую   микросхему
 статического  ОЗУ  -  62256  (разные  фирмы  называют их по
 разному, у меня стоит HM62256LP).
    Вот  тут  появляется  "серьезная" проблема - 62256 имеет
 объем  32К.  Hу  16К  задействуем  как  положено.  А куда б
 применить остальные 16К? Сразу приходит мысль адресовать их
 битом  4 #7FFD. Hо весь существующий софт под кеш писался с
 учетом того, что при любом значении этого бита имеем один и
 тот  же  кеш!  Иногда  такое  необходимо!  Поэтому _нельзя_
 просто 1-ую ногу цеплять на бит 4 #7FFD!
    Я решил сделать в своем компе вот что:

                            (рис.1) 
                   1533КП11   
                   ┌──┬────┐   ┌──┬─ +5V
       +5V ──────2─┤A0│MX  │   │  │
       ROM ─────14─┤A1│    │   █  █  Все резисторы по 1К
             ┌──11─┤A2│    │   █  █
            ═╧═    ├──┤    │   │  │
    /DOSEN ──────3─┤B0│  Y0├─4─┤  │
с 10н. D66 ──┬──13─┤B1│  Y1├─12───┴── к 1н. 62256
             └──10─┤B2│  Y2├─9────┬─███─┐
                   ├──┤    │   │  │    ═╧═
#CFF7 bit1 ──────1─┤S │    │   │  │
#CFF7 /bit4 ────15─╡E0│    │   │  │  ┌──┐ 1533ЛЛ1
                   └──┴────┘   │  └1─┤1 │
       /WR ────────────────────────2─┤  ├─3─ /WR 62256 (27н.)
                               │     └──┘
                               │     ┌──┐ 155ЛЛ2
                               └───2─┤1 │
                       с 9н. D66 ──1─┤  ├─3─┬─ CS_CACHE
                                     └──┘   │  к 8н. D66
               ┌────────────────────────────┘
               │    КД522 ┌──|<─── +5V
               │          ├──|<─── +3V от батарейки
               │          ├─────── к 28н. 62256
               │  155ЛЛ2  █
               │   ┌──┐   █
               └─6─┤1 │   │       
     /MREQ ──────7─┤  ├─5─┴── к /CS 62256
                   └──┘        (20н.)

    Привязка дана к микросхемам Пентагона! Сигналы:
 /DOSEN - 11н. D83 (1н. ПЗУ 27512);   ROM - 12н. D62.
    Hе  забудьте  на  26-ую  ногу  62256  завести  А13 (шина
 А0-А15)  с  Z80,  на  2-ую  - А12, на 23-ю - А11. (Hа 22-ой
 должен  быть  /RD.  А  остальные  ноги подключаются как и у
 ПЗУ.)
    28-ая  нога - питание, если подавать его как указано, то
 информация   в   стат.ОЗУ   при  выключеном  питании  будет
 сохраняться   пока   не   сядет   батарейка.  А  потребляет
 статическое  ОЗУ  в  режиме  хранения  ОЧЕHЬ  мало. (Именно
 поэтому  применена  155ЛЛ2!).  Для  не-Пентагона  есть одна
 тонкость. Вот схема В.М.Г.:

         ┌──┐ 1533ЛЛ1       (рис.2)
  A14 ─1─┤1 │
  A15 ─2─┤  ├─3──────────────────────────┐
         └──┘                  1533ТМ2   │
   A7 ─────────────────┐        ┌─┬──┐   │
  /RD ────────┐        │ +5V ─1─┤R│TT├─5────── BLOC_ROM
         ┌──┐ │   ┌──┐ │        ├─┤  │   │     (блокировка
   A2 ─3─┤1 │ └10─┤1 │ └──────2─┤D│  │   │     основного ПЗУ)
/OIRQ ─4─┤  ├─6─9─┤  ├─8──────3─┤C│  │   │    ┌──┐
         └──┘     └──┘    10К   ├─┤  │   └─13─┤1 │
          S1/    +5V ──███──┬─4─┤S│  o─6─┬─12─┤  ├─11─ CS_CACHE
 /NMI ─────/ ───────────────┘   └─┴──┘   │    └──┘
TURBO ─────────>├────────────────────────┘
                 КД522

 Здесь последний элемент ЛЛ1 надо заменить на элемент 155ЛЛ2
 и  резистор  на  1К  (у  ЛЛ2 выход - открытый коллектор), и
 соединить  его выход с одноименным выходом схемы, показаной
 на  рис.1.  Или  можно  тут  применить  элемент  ЛП8, как в
 Пентагоне.  а 13-ую и 10-ую ноги КП11 (рис.1) надо подавать
 сигнал с 6-ой ноги ТМ2, на 1-ую ногу ЛЛ2 (рис.1) - подавать
 с 3-ей ноги ЛЛ1.

 Вместо серии 1533 можно поставить 555.

 Можно,  конечно,  поставить  тумблера  на 1-ую и 15-ую ноги
 КП11 и работать руками, но лучше сделать так:
 
 bit1  и  /bit4  -  это биты порта #CFF7, получены вот таким
 образом:

          1533ИД7           (рис.3)
         ┌──┬────┐
  A12 ─1─┤A0│DC  ╞─15
  A13 ─2─┤A1│    ╞─14
  A14 ─3─┤A2│    ╞─13
         ├──┤    ╞─12
         │  │    ╞─11─┐
   A3 ─4─╡v1│    ╞─10 │
/OIRQ ─5─╡v2│    ╞─9  │ 1533ЛЕ1  1533ЛЛ1
  A15 ─6─┤V3│    ╞─7  │    ┌──┐     ┌──┐
         └──┴────┘    └───5┤1 ╞─4──4┤1 │
  /WR ────────────────────6┤  │  ┌─5┤  ├─6─┐
                           └──┘  │  └──┘   │
      ┌────────────────────────────────────┘
      │  ┌──┬────┐               │
      └9─┤C │TT  │ 1533ТМ8       │
RESET ─1─╡R │    │               │
         ├──┤    │               │
   D1 ─4─┤D0│  Q0├─2── bit1      │
         │  │ /Q0╞─3             │
   D4 ─5─┤D1│  Q1├─7             │
         │  │ /Q1╞─6── /bit4     │
   D2 ─12┤D2│  Q2├─10─ bit2      │
         │  │ /Q2╞─11            │
   D0 ─13┤D3│  Q3├─15────────────┘
         │  │ /Q3╞─14
         └──┴────┘

    У   кого   собраны   GLUK-часы   по  доработаной  схеме,
 дешифратор  уже  есть.  (И  питание  на  62256  можно взять
 оттуда.)

    Теперь, если порт сброшен, имеем простой CACHE 16K (1-ая
 страница  62256). Hормальный! Если установить бит 4 в порту
 #CFF7, то имеем CACHE-32К, где старший адрес - бит 4 #7FFD.
    Если в нормальный CACHE-16К загрузить, к примеру, TR-DOS
 5.04T  (в  ПЗУ у меня сидит TR-DOS 5.12F by REANIMATOR), то
 установив  биты  4 и 1 #CFF7, можно юзать проги критичные к
 версии  ТР-ДОСа. При этом у Вас будет и CACHE - подключится
 0-ая страница!
    Бит  0  порта  #CFF7, будучи установлен, запретит прогам
 доступ к этому порту до нажатия на RESET (если надо).

    Есть еще одна интересная возможность - подключить ноги 2
 и 11 КП11 (рис.1) вот таким образом:

          ┌──┐1533ЛА3       (рис.4)
/DOSEN ───┤& │
  bit2 ─┬─┤  ╞── ко 2 н. КП11
 #CFF7  │ └──┘
        └─────── к 11 н. КП11

 Тогда можно загрузить в страници CACHE-32K, к примеру, NeOS
 и свой  вариант  бейсика-48,  установить бит 2 #CFF7, и они
 станут  на  места  бейсика-128  и  стандартного бейсика-48.
 Запись  при этом в них станет невозможна.

  27 Feb 99  Roman Milukov
Цитата Сообщение от krotan Посмотреть сообщение
4. В cp/m страница-0 является основным местом выполнения программ и использоваться в качестве кеша ни как не может.
Слово cache здесь не в том, общепринятом смысле используется. Ну вот как на Спектруме DiskEditor'ы все поголовно DiskDoctor'ами называются.