На борту имеется ПЗУ 64К (две половинки - 32К для стандартного режима и 32К для MX), 32K ОЗУ цвета (две половинки по 16К которые могут переключаться), 128К основное и видео ОЗУ (две половинки по 64К которые могут переключаться), 512К дополнительное ОЗУ (виртуальный диск с 8 страницами по 65472 байта) и опционально картридж 512К (ещё 8 страниц виртуального диска).
Шины данных и адреса не буферизированы. Сигнал RD буферизирован в случае 8080 (DD4.4). На буферизацию WR идёт один из OR-элементов 74ACT32 (DD50.4), выход которого может прокачивать до 60 ТТЛ входов. Также ACT серию придётся поставить на DD1 и DD2 - из-за скорости (ACT умеет до 90 МГц), а всё остальное (кроме 7406 и 74LS295A) - это HCT (быстрый CMOS с TTL-входами), т.к. я всё ещё надеюсь на батарейное питание

Сигнал BLNK подан через резистор на вход B0 клавиатурного ВВ55 (там где обычно вход магнитофона сидит) - теперь программно можно узнать когда обратный ход луча пошёл (BLNK=0?), чтобы переключать экраны (а их у нас два), например для мультиколора

Заодно я перепечатываю сюда всё то, что HardWareMan писал про устройство и работу его специалиста:
Адреса в удобоваримой форме:HardWareMan wrote: Так вот, карта памяти следующая. По сбросу включен Mode_3, который на самом деле является стандартным специалистом. При этом, порт клавиатуры расположен по адресам F800-FFFF, весь набор портов по адресам F000-F7FF, 8 устройств по 4 ячейки. При этом, клавиатурный ППА доступен так же по адреса F000-F003 и так далее до F7E0..F7E3. Для аналогии с режимом МХа, предлагаю использовать именно F7E0..F7FF для обращения к портам. Младшие 32КБ занимает ПЗУ, которое может быть отключено (по сбросу оно включается автоматически). Остальную область занимает основное ОЗУ с экраном. ПЗУ в Mode_3 может быть отключено... Сам регистр режимов доступен по адресам F7FC-F7FF в режиме Mode_3 и FFFC-FFFF в остальных 3х (Mode_0, Mode_1 и Mode_2 - это режимы МХа). При этом, Mode_0 соответствует выключению ПЗУ и RAM диска в режиме МХ, Mode_1 соответствет включению RAM диска в режиме МХ (при этом я пока сохранил дешифрацию МХа: диск занимает с 0000 по FFBF, в своем скорее всего порежу диск до 0000-FEFF, что упростит схему дешифратора), а Mode_2 соответствет включению внутреннего ПЗУ в режиме МХ. Замечу, что ПЗУ стоит на 64КБ (можно и больше, но уже странично), а в карте процессора он занимает всего 32КБ. Т.е., в ПЗУ 2 страницы по 32КБ и каждая из них соответствет своему режиму (т.е., для стандартного это 0000-7FFF в ПЗУ, а для МХа - 8000-FFFF), что позволяет записывать уникальный софт для каждого режима.
Процесс загрузки я уже оглашал: по сбросу режим стандартного спеца, там пускается софт выбора режима, по типу спектрума128, если выбирается стандартный - то грузится система с карты (или ПЗУ, если карта не вставлена, круто же?) и ПЗУ отключается. Либо формируется шлюз в окне процессора (FFC0-FFDF), который переключает режим на Mode_2 и прыгает в 0000, запуская ПЗУ в режиме МХа. Как видно, все просто и логично. Думаю, карту памяти все представили и рисовать ее нет необходимости. С портами тоже все прозрачно.
.....
Карта памяти уже обсуждалась мной ранее, я лишь напомню ее области:
[Режим 0: MX RAM (запись в FFFCH)]
0000H - FFDFH = Основное ОЗУ.
FFE0H - FFFFH = Порты ввода-вывода
[Режим 1: MX EXT RAM (запись в FFFDH)]
0000H - FFBFH = Дополнительное ОЗУ
FFC0H - FFDFH = Основное ОЗУ (шлюз)
FFE0H - FFFFH = Порты ввода-вывода
[Режим 2: MX ROM (запись в FFFEH)]
0000H - 7FFFH = ПЗУ МХа, включая систему в первых 16КБ
8000H - FFDFH = Основное ОЗУ
FFE0H - FFFFH = Порты ввода-вывода
[Режим 3: STD (запись в FFFFH или по сбросу)]
0000H - 7FFFH = ПЗУ (секция STD) или основное ОЗУ, управление: FFFAH
8000H - EFFFH = Основное ОЗУ
F000H - FFFFH = Порты ввода-вывода, причем в области F800H-FFFFH блокируется на ППА клавиатуры
.....
По сбросу там 0, т.е. ROM включен и 5 цвет выбран. ПЗУ для текущего варианта. Монитор v4 (который мы пользовали на кружке). Выход в него стандартный - СТР+ВК (надо будет пофиксить для автозапуска, так как без магнитофона автозагрузка не нужна). Расширенные директивы:
{B} - Basic "Практик"
{E} - Редактор текстов "Практик" (aka ED^7000)
{A} - Ассемблер "Микрон", адаптированный на работу с редактором "Практик" и перенесенный в 8000H
{Z} - Дизассемблер "Микрон", адаптированный на работу с редактором "Практик" и перенесенный в 8000H
{X} - Переход в режим МХ.
Ассемблер и дизассемблер что-то партачат - там со стеком чтото я перемудрил видимо, при работе на оригинальном Спеце он работает а вот на моем (с ОЗУ заместо ПЗУ) подвисает, потом пофиксю. Так что не пользуйте их. Остальное работает нормально. ОЗУ не портится при сбросе.
Карта памяти в режиме стандарт:
0000H - 7FFFH = ROM/RAM
8000H - EFFFH = RAM
F000H - F7FFH = IOPs
F800H - FFFFH = SYSPPA (IOP.#0)
ПЗУ нужно только для старта (там же я держу бэйсик, редактор и асм с дасмом, загружая их оттуда в ОЗУ по расширенным директивам Монитора v4), оно же загружает монитор и ПСПЗУ в родные адреса.
..............
Итак, поменял я 561ИЕ10 в строке на связку 1533ИЕ10. Глюк в цвете фона сразу же пропал! Более того, я выяснил, что за глюк с точками слева и пропавшими точками справа! Оказалось, 555ИР16 (сдвиг) пишет по спаду, а ТМ8 (атрибуты) по фронту. Как итог - полточки рассинхронизации + задержки в логике = почти на точку опаздывал сдвиг относительно атрибутов! Атрибуты были строго на своем месте, а точки опаздывали... Так что этот узел надо переделать. Подобрать более внятные регистры (один на сдвиг и один на хранение атрибутов), желательно полностью синхронные... Кстати, можно сделать бордюр как у спектрума...
Code: Select all
| MX-mode | STD-mode (default)
0) KEY | FFE0...FFE3 | F7E0...F7E3, F800...FFFF
1) PROG | FFE4...FFE7 | F7E4...F7E7
2) DISK | FFE8...FFEB | F7E8...F7EB
3) TIMER | FFEC...FFEF | F7EC...F7EF
4) CARD | FFF0...FFF3 | F7F0...F7F3
5) RSRV | FFF4...FFF7 | F7F4...F7F7
6) COL | FFF8...FFFB | F7F8...F7FB
7) MOD | FFFC...FFFF | F7FC...F7FF
DISK и RSRV не используется в схеме HardWareMan-a
TIMER и CARD отсутствуют на макетке HardWareMan-a, но есть в схеме fifan-a
в STD режиме порты повторяются каждые 32 байта начиная с F000 до F7FF
в реальном MX вместо CARD расположена вторая область контроллера дисковода
Порт COL:
STD:
D0 = 0 - включить ROM, 1 - выключить ROM
D1 = 0 - пятицвет, 1 - восьмицвет
D2 = 0 - основная страница ОЗУ и цвета, 1 - теневая страница
MX:
D0-D3 => цвет фона (IRGB)
D4-D7 => цвет изображения (IRGB)
Все микросхемы в SOIC (если не указано иного) и нумерация в основном совпадает с хардваремановской (но НЕ совпадает с платой MX^2 от Фифана):
P.S. Развитие Специалиста MX^2 до спецификации MiniWhiz-2023 можно найти тут: viewtopic.php?p=168599#p168599