1

Тема: Ячейка 121: куда устанавливается, как использовать, как устроена

Перенёс сюда тему из раздела новостей сайта.

2

Re: Ячейка 121: куда устанавливается, как использовать, как устроена

Слот иногда не впаивался в плату. Имеет обозначение на плате "X1". Имеет ряд дополнительных сигналов: в основном, это сигналы с гнезда RGB - они нужны для того, чтобы "Ячейка 121" могла выдавать на собственный разъём "видео" как своё изображение, так и изображение, сформированное основным дисплейным контроллером.

Хотел спросить а откуда возникла теория что Яч121 надо ставить именно в X1, хотя все объективные данные говорят что этот слот не для нее а для платы вывода видео.
Например сигнал А26 который активирует Яч121 установленную в любой свободный слот вообще не заведен на X1, вместо него на X1-А26 выведены ССИ.
Сигнал А19-блокОЗУ используемый Яч121 тоже не заведен на X1.

3 Отредактировано Voldemar0 (15-12-2019 09:21)

Re: Ячейка 121: куда устанавливается, как использовать, как устроена

Откуда появилась теория - не помню. Вероятно, из того, что я121 - это и есть плата вывода видео - там же собственные видеоконтроллер, который формирует эпловские графические режимы.

А вот про А26 - не понял.
А26 на слотах X2..X7 семёрки никуда не подключен (кроме X1.A26 - это КСИ), а на девятке это сигнал Признак Машины - программный переключатель, который активируется по записи в C0F0 и переключает контроллер базовой памяти девятки в режим Эпла. Но девятке я121 и не нужна...
ПМ на слоте, скорее всего, в девятке нужен только для переключения режима модуля ДопОЗУ, если он установлен.

Всегда можно предположить, что X1 готовили для яч121, но потом, по каким-то причинам, от его использования отказались, поэтому и не запаивали на платы.

PS На сайте определённо не хватает хорошего описания яч121.
Вроде, как чёрный ящик она известна: видеоконтроллер с собственным ОЗУ + что-то ещё, что, в результате, позволяет исполняться эпловским прогам на семёрке. Но что именно - неизвестно. Как реализовано - не ясно. Чем отличаются три (!) её версии ? Всё только на уровне догадок. Я даже не знаю, эмулирует ли олеговский эмулятор эту ячейку.

Вот, например, такой вопрос: на яч121 стоит ОЗУ. Но доступно ли оно программно ? Можно ли его читать или только записывать в него ?

PPS Где-то краем уха слышал словосочетание "Secam-кодер" применительно к Агату. Может быть x1 как раз и был нужен для него ?
У ячейки 121 на схеме A28 на земле, но у X1 - это выход RGB.Green. Нелогично было бы его коротить на землю....
Т.е. при установке яч121 в X1 будет портиться изображение.........
Короче, нужно проводить расследование :)

4 Отредактировано Voldemar0 (15-12-2019 10:33)

Re: Ячейка 121: куда устанавливается, как использовать, как устроена

Накопал следующее:

1) Слот X1 странный, но, похоже, к яч121 отношения не имеет.
На него заводятся собственные сигналы !ROM Select и !Device Select, связанные с адресами C09x и C1xx, таким образом можно считать что X1 является слотом "1". Но ни в каких инструкциях я не видел упоминаний этих адресов. Также на этот слот заводятся сигналы с разъёма RGB и кой что ещё от видеоконтроллера.
Возможно, туда втыкался мифический "секам-кодер". Возможно, он так и не был выпущен, поэтому и слот не запаивали.

2) Сигнал x9.1 - на материнках семёрки этот сигнал заводится от всех слотов (включая X1 и X2) на пин 1 разъёма "видеосигнал". Причем не на выход ч/б видео, а именно на отдельный пин.
Странно, что на некоторых материнках этот сигнал перерезан и пин разъёма "видеосигнал" заведён на "землю". Но не на всех: у меня есть плата, на которых этого изменения нет.

3) Яч 121 явно требует изменения на материнке: она использует ламель A26 как сигнал обращения к региону C05x (микруха D7, лапка 6). В семёрке A26 является резервной линией: она разведена между слотами X2..X7, но никуда не подключена. А D7.6 - это сигнал выключения таймера.

4) Яч 121 активируется по адресу C0Fx, это видно из софта, который её включает. Но как она ловит обращения в этот регион ? На семёрке этот адрес идёт куда-то в район контроллера ОЗУ, похоже. Также он нередко упоминается в сисмоне семёрки.

Будет странно, если Select C05x заводили с материнки, а Select C0Fx декодировали прямо на ячейке...

5 Отредактировано Voldemar0 (15-12-2019 12:35)

Re: Ячейка 121: куда устанавливается, как использовать, как устроена

Также начал составлять полное описание слотов Агата, черновик (составляю уже пару недель, так что про яч121 тут ошибки, как выясняется):

Почти все слоты параллельны за исключением сигналов !Device Select и !ROM Select - эти
сигналы индивидуальны для каждого слота.

Также слоты X1 в семёрке и X2 в девятке имеют специальное назначение:

- X1 в семёрке предназначен для ячейки 121 и в некоторые экземпляры семёрок не впаивался.
На него выводятся многие сигналы ДК, что позволяет устройству, установленному в разъём,
выводить картинку, синтезируемую ДК.
В то же время к X1 не подводились некоторые сигналы, например, цепочки приоритетов DMA и прерываний.

В девятке !ROM Select разъёма X1 используется
контроллером базовой памяти, что также частично сокращает возможности этого разъёма,
однако в остальных отношениях X1 ничем не отличается от других слотов.

- X2 в девятке, так же как и X7 в семёрке имеет входы сигнала блокировки базового ОЗУ.
Таким образом, в этот разъём можно устанавливать модули ДопОЗУ, перекрывающее базовое ОЗУ.
Если таких модулей требуется использовать несколько штук, то следующие модули нужно устанавливать
в X3, X4... - в этом случае они выстраивают схему приоритета и используют линию блокировки базового ОЗУ
по цепочке совместно.

                                                                    Особенности по слотам и архитектурам:
            Задняя стенка системника                               X1            X3...X6           X7   - в семёрке
                  (вид сверху)                                     --          X1, X3...X6         X2   - в девятке
                А   номер пина  Б                               A       Б       А       Б       А       Б
--------------------------------------------------
GND                     30              +5v
GND                     29              +5v
*                       28              *                       Green   Blue    GND     +5v     GND     +5v     - нет в девятке
NC                      27              NC                      КСИ     x9.1    -->     x9.1    <--     x9.1    - нет в девятке
* Признак машины (0->1) 26              -12v                    ССИ             -->             <--             - ПМ нет в семёрке
*                       25              *                       Yrgb    СГИ     -->     NC      NC      <--     - приоритет DMA
*                       24              *                       NC      Red     -->     NC      !БлОЗУ  <--     - приоритет прерываний
!NMI                    23              !DMA
!IRQ                    22              !RDY
!RESET                  21              !Extra ROM Select
!Блокировка ПЗУ         20              NC                              -->             <->             <--     - reserved

!Блокировка ОЗУ         19              R/nW                    КГИ
NC                      18      A15     Address Bus             5М              -->             <--             - reserved
14 МГц                  17      A14
 7 МГц                  16      A13
--------------------------------------------------
 2 МГц                  15      A12
f1                      14      A11
!Блокировка Cxxx        13      A10
f0                      12      A9
* !Device Select        11      A8
        D7 Data Bus     10      A7

        D6               9      A6
        D5               8      A5
        D4               7      A4
        D3               6      A3
        D2               5      A2
        D1               4      A1
        D0               3      A0
+12v                     2              !ROM Select
+12v                     1              !ROM Select
--------------------------------------------------

* - пины имеют очень специальное значение: различаются между 7 и 9 моделями либо между разными слотами.

<-> -->  <-- - эти пины соединяются между слотами (при этом могут быть никуда больше не подключены).

NC - not connect. Эти линии нередко объединены между слотами
(т.е. одноимённые ламели слотов соединены), но никуда больше не идут.
В семёрке похожие линии (например, "!Блокировка ПЗУ") в итоге попадают на модуль
процессора, но есть линии (например, А18 и Б20), которые ни для чего не используются -
здесь такие линии отмечены как reserved.

Странная линия x9.1 в семёрке выходит на разъём "Видеосигнал". Возможно,
это как-то использовалось ячейкой 121 для синтеза монохромного видео, но всё равно
странно, что от подключен ко всем слотам семёрки.

Линии "приоритет DMA" и "приоритет прерываний" нужны для того, чтобы соседние устройства
могли выстраивать иерархию в управлении разделяемыми рессурсами. Они соединяются
не параллельно, а последовательно (например: X3.A25 подключена к X4.Б25).
Документация не указывает, какие именно прерывания имеется ввиду (NMI или IRQ).
Фактически, эта линия на крайних разъёмах (X7 в семёрке и X2 в девятке) блокирует
основное ОЗУ, т.е. используется для выстраивания иерархии модулей расширения памяти.
В то же время линия !БлОЗУ также подводится ко всем слотам (кроме X1 семёрки) на ламель А19.

    -
Модули ДопОЗУ действуют следующим образом:
- На семёрке модули читают Б25 (причем тут есть ошибка: нет подтягивающего резистора на модулях,
а входы 559ип2 довольно чувствительны!) и блокируются им, признак блокировки уходит на А25.
Если же блокировки нет, но есть обращение,
то модуль выставляет признак активности на А25. Также, при обращении к адресам $8000..$FFFF
(фактически, модули работают только в этом диапазоне) и активности модуля, модуль может блокировать
базовое ОЗУ через линию А24. Для того, чтобы это работало, нужна перемычка в линейке конфигурационных
джамперов (впаивалась в версии модуля "ДопОЗУ").
Все сигналы управления - прямые !

- На девятке используется только две линии: Б24 - вход внешней блокировки модуля (более
высокого ранга), а А24 - выход блокировки базового ОЗУ (и нижестоящих модулей).
Оба сигнала управления - инверсные !
    -


Очень любопытная линия "!Блокировка Cxxx".
Она позволяет заблокировать дешифратор региона $Cxxx на материнке, таким образом, периферийное
устройство может выполнять функции любого другого периферийного устройства, которое
использует сигналы !ROM Select, !Device Select, а также дешифраторы региона $C000..$C07F,
которые управляют периферией, расположенной на системной плате. Например, используя этот сигнал
можно построить внешний контроллер клавиатуры, пультов, таймеров и т.д.,
программно полностью совместимый со штатным.

Слот процессора X2 в семёрке почти полностью повторяет слоты X3..X7 за одним исключением:
он как бы не имеет своего адреса и выпадает из общей нумерации. Фактически, он отличается
только в следующих контактах:
A11 - здесь используется для передачи сигнала обращения процессора к региону C000..C7FF.
Этот сигнал используется дешифраторами адресов периферии и может быть заблокирован любым другим
устройством через линию A13.
Б1,2 - никуда не подключен.
Интересно, что слот X2 сбивает нумерацию слотов: фактически, X3 имеет адреса слота X2 (C2xx, C0Ax),
X4 - адреса слота X3 и т.д..

Сигналы !DMA и !RDY позволяют устройству поиграть в мастера шины.
!RDY, притянутая к Gnd, будет останавливать ЦП.
!DMA, притянутая к Gnd, отключает линии R/nW и Address Bus процессора от остальных устройств.
Это позволяет неспеша изучить чем занят процессор, а также отключить его
от шины совсем и порулить любой периферией самостоятельно.

Остановка процессора разрешена в моменты чтения данных (f0 & R/nW == High).
Вновь разрешить работу процессора нужно в начале фазы f0 таким образом,
чтобы линия !DMA позволила периферийным устройствам сформировать
запрашиваемые в данном цикле данные (сперва разрешить !DMA в f0 - Low, затем !RDY в f0 - High).

Вопросы:
- Можно ли блокировать ОЗУ на семёрке ? D10.6 (ИП2)
- Подводится ли у девятки !ROM Sel на X1 ?
- Что подводится к Б1,2 и A11 на семёрке на X1 ?
- Что такое "5М" == D73.4 == D74.5 ?
- Как работают с цепочками модули ДопОЗУ ?

Форматирование корявое, скопируйте этот текст в "блокнот" и разверните на полный экран, иначе тут строки могут путаться.
На сайте потом окончательный вариант будет более читабельным.

6 Отредактировано garnizon (15-12-2019 16:25)

Re: Ячейка 121: куда устанавливается, как использовать, как устроена

Avivanov76 в соседней теме мне кажется правильно предположил:
http://forum.agatcomp.ru//viewtopic.php?pid=2916#p2916

Я тоже так склонен думать, ведь от сторожил ЛЭМЗ слышал что первые версии (или не серийные, экспериментальные - как хотите) ячейки121 были именно для 0 слоты. В ОДЦ "баня" были именно такие  http://agatcomp.ru/Images/geo.shtml
Там не надо было перетыкать разъем RGB


Возможно для серийного производства их сильно упростили.

7 Отредактировано avivanov76 (17-12-2019 22:23)

Re: Ячейка 121: куда устанавливается, как использовать, как устроена

Voldemar0 пишет:

Вот, например, такой вопрос: на яч121 стоит ОЗУ. Но доступно ли оно программно ? Можно ли его читать или только записывать в него ?

Судя по схеме на сайте, еще как может. Как я понимаю, ячейка 121 вырабатывает сигнал блокировки ОЗУ (А19), материнка воспринимает его только с разъема X7. По умолчанию ячейка блокирует ОЗУ на запись в диапазоне адресов $8000-$FFFF, то есть, все обращения к модулям ДопОЗУ и ПсевдоПЗУ. В дальнейшем можно дополнительно заблокировать и диапазон $0000-$7FFF (то есть, ОЗУ на плате семерки) и одновременно открыть ОЗУ ячейки на чтение, после чего процессор будет выполнять код полностью из памяти ячейки 121. <- Нет, это я неправильно понял.

Voldemar0 пишет:

Яч 121 активируется по адресу C0Fx, это видно из софта, который её включает.

В схеме ячейки я вижу стандартный сигнал ВК В/В (А11), который используется для управления D9. Она, как я понимаю, обеспечивает переключение в режим Apple и управление блокировкой адресов в диапазоне $0000-$7FFF.

Поэтому мне кажется, что фактическое включение ячейки 121 происходит при обращении к адресам C090-C093. То, что софт использует адреса C0Fx, скорее всего связано с подготовкой загрузки ПО в ячейку 121. Может, я просто не нашел, но кажется диапазон адресов C0Fx сама ячейка не использует.

8

Re: Ячейка 121: куда устанавливается, как использовать, как устроена

Мне бы казалось, что единственный диапазон озу, который нужен ячейке обязательно - это видеопамять.
Вряд ли она читает базовое озу для отрисовки картинки.
Но интересно, если она в самом деле эмулирует и ПЗУ эпла.

К сожалению, у меня в очередной раз сдохла единственная семёрка, но на праздниках я её приведу в чувство и поэкспериментирую со всей этой темой.

9 Отредактировано avivanov76 (16-12-2019 15:17)

Re: Ячейка 121: куда устанавливается, как использовать, как устроена

Еще пара мыслей:

Слот иногда не впаивался в плату. Имеет обозначение на плате "X1". Имеет ряд дополнительных сигналов: в основном, это сигналы с гнезда RGB - они нужны для того, чтобы "Ячейка 121" могла выдавать на собственный разъём "видео" как своё изображение, так и изображение, сформированное основным дисплейным контроллером.

Кажется, это не соответствует действительности. По схеме, ячейка 121 не берет никаких сигналов от дисплейного контроллера на плате и ничего не может показывать из агатовских режимов. Наверно, ее надо было загрузить, подключив монитор к материнке, а потом уже переключить кабель (ну или сразу, но "вслепую").

Voldemar0 пишет:

Мне бы казалось, что единственный диапазон озу, который нужен ячейке обязательно - это видеопамять.
Вряд ли она читает базовое озу для отрисовки картинки.

У Apple довольно нескладные адреса: $400-$7FF, $800-$BFF - текстовые страницы, $2000-$3FFF, $4000-$5FFF - графические. Нужен был бы довольно сложный компаратор адресов, которого в ячейке 121 просто нет.

Поправка по поводу блокируемых диапазонов ОЗУ. Сигнал блокировки ПЗУ ячейка не вырабатывает, поэтому видимо диапазон $D000-$FFFF должен обслуживаться модулем ПсевдоПЗУ.

Странность с контактом А19 - он у X1 на семерке не вход, а выход - туда идет сигнал с частотой кадров, который используется также для генерации NMI (КГИ). Его, получается, надо перерезать и соединить с A19 у любого из слотов X2-X7. Либо (что логичнее) предполагалось ставить ячейку не в слот X1.

10

Re: Ячейка 121: куда устанавливается, как использовать, как устроена

avivanov76 пишет:

Наверно, ее надо было загрузить, подключив монитор к материнке, а потом уже переключить кабель (ну или сразу, но "вслепую").

Именно так это и происходит.
До активации Яч121 на ее видеовыходе мусор, после активации изображение есть только на ее выходе.

11

Re: Ячейка 121: куда устанавливается, как использовать, как устроена

> Кажется, это не соответствует действительности. По схеме, ячейка 121 не берет никаких сигналов от дисплейного контроллера на плате и ничего не может показывать из агатовских режимов.

Игорь выше уже сказал, что, вероятно, были разные версии ячеек.
У нас есть две схемы, но платы три разных.


> У Apple довольно нескладные адреса: $400-$7FF, $800-$BFF - текстовые страницы, $2000-$3FFF, $4000-$5FFF - графические. Нужен был бы довольно сложный компаратор адресов, которого в ячейке 121 просто нет.

1) Сколько вообще на ней памяти ?
2) В какой регион адресов она отображается ?
3) При чтении этого региона проц читает ОЗУ ячейки или ОЗУ материнки ?


> До активации Яч121 на ее видеовыходе мусор, после активации изображение есть ___только на ее выходе____.

яч121 блокирует ДК на материнке ? Как ?

12

Re: Ячейка 121: куда устанавливается, как использовать, как устроена

Voldemar0 пишет:

яч121 блокирует ДК на материнке ? Как ?

Насколько я знаю, 121-я ДК материнки не блокирует, да в этом и нет необходимости. Изображение продолжает выводиться в соответствии с последним установленным видеорежимом. Только ничего осмысленного там всё равно не будет видно.

13 Отредактировано avivanov76 (17-12-2019 22:29)

Re: Ячейка 121: куда устанавливается, как использовать, как устроена

AlexBel пишет:

Насколько я знаю, 121-я ДК материнки не блокирует, да в этом и нет необходимости.

Там даже и возможности нет заблокировать ДК материнки. Да и вообще было бы странно отключать регенерацию ОЗУ :)

Разобрался сейчас с линией блокировки ОЗУ семерки, поэтому внесу еще уточнения:

  1. Линия блокировки ОЗУ (их на самом деле две, А19 и А24) блокирует чтение из ОЗУ материнки и запись в него процессором. ДК продолжает получать доступ на чтение к содержимому ОЗУ.

  2. Линия блокировки ОЗУ действует только на ОЗУ, установленное на материнке.

  3. Платы ДопОЗУ и ПсевдоПЗУ не смотрят на эту линию, через нее их заблокировать нельзя.

Электрически линия блокировки ОЗУ сделана довольно стремно.

  1. У нее активным является высокий уровень. Поскольку свободные ТТЛ входы стремятся к высокому уровню, то, чтобы эта линия сама по себе не блокировала ОЗУ, когда не установлено ни одной платы расширения, ее подтянули к земле через R43. Довольно хилый - 10 кОм, так что сильная помеха, по идее, может привести к блокировке базового ОЗУ.

  2. Линии А19 и А24 соединены вместе. Если в слот X7 воткнуть ДопОЗУ или ПсевдоПЗУ, а в какой-то другой - ячейку 121, то ТТЛ выходы соединятся по схеме монтажного "ИЛИ" и получится анархия, потому что выходы везде обычные, без Z-состояния.

Теперь собсно, про ячейку 121:

  1. Ячейка содержит 64 Кб памяти (8 штук К565РУ5).

  2. Доступ к этой памяти идет через диапазон $0000-$7FFF. Это всего 32 Кб, тем не менее есть возможность подключить к этому же диапазону вторые 32 Кб, установив бит 1 в регистре D9. При этом изображение автоматом станет формироваться из второй области.

  3. Ячейка вырабатывает сигнал блокировки ОЗУ (D2.2). Чтобы этот сигнал был активен, нужно, чтобы на адресной линии А15 был 0 (отсюда диапазон $0000-$7FFF) и младший бит в регистре D9 был равен 0. Поскольку у D9 есть схема сброса (R1C1), то сразу после включения ячейка является активной и блокирует ОЗУ материнки. При любых обращениях к диапазону $0000-$7FFF процессор пишет и читает ОЗУ ячейки 121, если ячейку специально не отключить.

Получается, что фактически, специально включать ячейку не нужно, видимо поэтому в софте и нет явных обращений к ее адресам ввода/вывода. Еще получается, что если не подключать к ней монитор, то ячейку можно использовать просто как 64 Кб ОЗУ, хотя вряд ли какой-то софт это умеет.

14

Re: Ячейка 121: куда устанавливается, как использовать, как устроена

> Это всего 32 Кб

Ей же вроде надо только видео память, к чему так много озу ?
Только чтобы не ставить дешифратор адреса ?
Можно было 16 воткнуть, например, на ру6.

>  младший бит в регистре D9 был равен 0.

Что за регистр ? По каким адресам он доступен ? Только запись или чтение тоже ?

15 Отредактировано AlexBel (18-12-2019 08:45)

Re: Ячейка 121: куда устанавливается, как использовать, как устроена

Спасибо! Так как будет нужна информация по работе 121-й, собирался анализировать её схему, а тут прям на блюдечке :)
Правильно ли я понимаю, что распределение этих 32 килобайт ячейки соответствует Apple II, а для ПЗУ используется агатовский модуль псевдоПЗУ?

16

Re: Ячейка 121: куда устанавливается, как использовать, как устроена

Да это и для эмуляции полезно будет, а то уже много софта накопилось, который именно под яч121.
Не прикладные проги, а именно всякие инициализаторы-запускалки. Даже на 840кб есть.

17

Re: Ячейка 121: куда устанавливается, как использовать, как устроена

Voldemar0 пишет:

Ей же вроде надо только видео память, к чему так много озу ?
Только чтобы не ставить дешифратор адреса ?
Можно было 16 воткнуть, например, на ру6.

Не только. 16 Кб не хватит. У Apple 2 текстовых страницы по 1 Кб и 2 графических по 8 Кб. В сумме 18 Кб.
Так что надо минимум 32 Кб. Их можно было бы набрать 16 штуками РУ6, но под них просто места нет.

Voldemar0 пишет:

Что за регистр ? По каким адресам он доступен ? Только запись или чтение тоже ?

Адреса (X - номер слота, N = X + 8):
C0N0 - включение ячейки, подключение к адресам $0000-$7FFF банка 0 (состояние после включения)
C0N1 - выключение ячейки
C0N2 - включение ячейки, подключение к адресам $0000-$7FFF банка 1
C0N3 - выключение ячейки

Доступ только на запись.

AlexBel пишет:

Правильно ли я понимаю, что распределение этих 32 килобайт ячейки соответствует Apple II, а для ПЗУ используется агатовский модуль псевдоПЗУ?

Да, насколько я понял, получается так:
0000-7FFF - ячейка 121 ($400-$7FF, $800-$BFF - текстовые и LORES страницы, $2000-$3FFF, $4000-$5FFF - графические HGR)
8000-BFFF - ДопОЗУ
C000-CFFF - устройства ввода/вывода (C05x и C0Nx обрабатываются ячейкой 121)
D000-FFFF - ПсевдоПЗУ

18 Отредактировано Voldemar0 (19-12-2019 07:47)

Re: Ячейка 121: куда устанавливается, как использовать, как устроена

Т.е. итого получается так:
C05x - это управление режимами видеоконтроллера ячейки.
C0nx - это управление отображением памяти, причём дефолтное состояние, вероятно, и есть самое употребимое.
Опознать ячейку по какой либо сигнатуре невозможно, следовательно, и найти значение n - тоже.
(Разве что записать что нибудь в основное ОЗУ и попытаться ячейкой его отключить/включить).

Контроллер на материнке работает со своим ОЗУ и своим регистром режимов, а ячейка - со своими.

Т.е. у нас выходит две независимые видюхи, практически.

С другой стороны: если две видюхи нам не нужны, то можно считать, если совсем по простому, что всё, что делает яч121 - это добавляет видеорежимы (базовое ОЗУ всё равно недоступно, так что можно считать, что память ни добавилась ни отнялась). И ничего больше.

Остаётся небольшой вопрос: переключатель банков памяти ячейки влияет только на отображаемое процессору пространство ? Сам видеоконтроллер при этом отрисовывает всегда нулевой банк ?

-
Интересно, если по умолчанию ячейка работает, то, выходит, загрузив обычный бейсик-60 для семёрки, на основном ДК мы будем наблюдать мусор, хотя проги будут работать? Ведь ячейка будет подсвывать своё ОЗУ, стало быть, бейсик будет выводить всё в озу ячейки, в формате видеопамяти основного ДК. Но основной ДК этого не увидит....
Или до обращения к c05x ячейка всё таки отключена ?

-

19 Отредактировано AlexBel (19-12-2019 09:14)

Re: Ячейка 121: куда устанавливается, как использовать, как устроена

Насколько я помню, просто вставить Я121 недостаточно, она работать не будет - для работы с C050 нужно на материнской плате бросать перемычку. Т.е. по-умолчанию Я121 отключена.
Я всегда устанавливал Я121 в шестой слот, работало нормально. В другие не пробовал. Если будет время, на выходных расчехлю "семёрку" и попробую. Заодно, может быть, наконец, заменю в Я121 ПЗУ знакогенератора...

20

Re: Ячейка 121: куда устанавливается, как использовать, как устроена

http://agatcomp.ru/Images/new_j121.shtml

21 Отредактировано Voldemar0 (19-12-2019 11:22)

Re: Ячейка 121: куда устанавливается, как использовать, как устроена

Я все вопросы свои подразумеваю именно для случая наличия перемычки.

22

Re: Ячейка 121: куда устанавливается, как использовать, как устроена

Voldemar0 пишет:

Опознать ячейку по какой либо сигнатуре невозможно, следовательно, и найти значение n - тоже.
(Разве что записать что нибудь в основное ОЗУ и попытаться ячейкой его отключить/включить).

Да, на шину данных у ячейки смотрят только входы микросхем ОЗУ и их выходы через регистр D4. Так что никаких сигнатур нет. Распознавание через запись в ОЗУ должно работать, но действовать надо аккуратно, потому что, во-первых, неизвестно в каком состоянии оставил ячейку предыдущий софт (по сигналу сброса регистр D9 не меняется), а во-вторых, переключение затрагивает нулевую страницу и стек.

Voldemar0 пишет:

Остаётся небольшой вопрос: переключатель банков памяти ячейки влияет только на отображаемое процессору пространство ? Сам видеоконтроллер при этом отрисовывает всегда нулевой банк ?

Судя по схеме, видеоконтроллер отрисовывает выбранный банк: сигнал с D9 идет на оба входа адресного мультиплексора D18 (у всех мультиплексоров 1-й и 3-й входы - это адреса от видеоконтроллера, 2-й и 4-й от шины адреса).

Voldemar0 пишет:

Интересно, если по умолчанию ячейка работает, то, выходит, загрузив обычный бейсик-60 для семёрки, на основном ДК мы будем наблюдать мусор, хотя проги будут работать? Ведь ячейка будет подсвывать своё ОЗУ, стало быть, бейсик будет выводить всё в озу ячейки, в формате видеопамяти основного ДК. Но основной ДК этого не увидит....
Или до обращения к c05x ячейка всё таки отключена ?

Да, мне кажется так и должно быть. В отличие от девятки, здесь обращение к c05x влияет только на видеорежим и не приводит к переключению чего-то еще. Кстати, поскольку у триггеров D45, D46 на входах сброса всегда высокий уровень, то заранее не известно, какой именно эппловский видеорежим будет активен при включении машины.

23

Re: Ячейка 121: куда устанавливается, как использовать, как устроена

Запустил семёрку: две дохлых микрухи памяти.
Если у агата, даже при зажатом сбросе, прыгают помехи по экрану - 90% что это базовое озу.
Нужная микруха ищется кратковременными замыканиями 14 и 16 выводов: если при замыкании
помехи прекращаются - наверяка эту микру надо менять.

-=-

Попробовал яч121: таки да, комп при её втыкании работает с ОЗУ ячейки и не работает с собственным ДК.
В итоге на свой ДК выводится свежий мусор, хотя c7xx, набранный вслепую, вполне адекватно реагирует.
Странно, для чего было так делать: всё равно софт для ячейки мог бы её подключить при загрузке, зато стандартный софт семёрки бы нормально работал. Возможно, в бейсике-60 есть её отключение...
На неделе выберусь в кладовку за дисководами и буду изучать.

Все, попавшие ко мне ячейки, похоже, почти идентичны по конструкции, разница только в буфере шины данных.
На более поздней ячейке только не распаяны транзисторы монохромного выхода, но это можно поправить.

24

Re: Ячейка 121: куда устанавливается, как использовать, как устроена

И ещё вот что меня смущает: насколько помнится, у эпла переключение памяти (особенно управление LC, кажется) было в два клика: нужно было дважды записать одно и то же значение в один регистр в двух соседних командах, чтобы регистр переключился. И вроде как девятка (а также допозу девятки) всё это знает и учитывает в Apple -mode. Но получается, что если яч121 является только видеоконтроллером, то есть к LC отношения не имеет, то .... как тогда ? Неполная эмуляция эпла выходит или девятка эмулирует apple с LC, а семёрка с ячейкой - это эпл без LC ?

25

Re: Ячейка 121: куда устанавливается, как использовать, как устроена

Семерка с яч121 это Apple 48kb, LC нет.