Soviet Union ZX Spectrum CommunityЧетверг, 28.03.2024, 14:37
Вы вошли как Гость | Группа "Гости" | RSS
 [ · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Soviet Union ZX Spectrum Community » ZX-строительство » Железо » ZXM-Phoenix - модернизация и исправления
ZXM-Phoenix - модернизация и исправления
Black_CatДата: Суббота, 11.07.2009, 16:40 | Сообщение # 1
Координатор
Группа: Координаторы
Сообщений: 701
Статус: Offline
1. Порт атрибутов / номера строки для ZXM-Phoenix.

Это концептуальная разработка. Порт является функциональным аналогом порта атрибутов, но вместо бесполезного значения атрибутов возвращает номер отображаемой строки экрана. В области бордюра возвращает значение #FF.

Для полной совместимости программ с оригинальным ZX Spectrum, в стандартном видеорежиме этот порт рекомендуется использовать только в качестве индикатора начала экранной области, а номер строки использовать только для программирования в расширенных видеорежимах.
Прикрепления: 4083123.png (22.5 Kb)


"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
Black_CatДата: Пятница, 09.10.2009, 18:53 | Сообщение # 2
Координатор
Группа: Координаторы
Сообщений: 701
Статус: Offline
2. Выход в Gluck Reset Service по сбросу в ZXM-Phoenix.

ZXM-Phoenix не умеет по аппаратному сбросу выходить как Pentagon в Gluck Reset Service. Несложная доработка позволяет решить этот вопрос.
Для доработки потребуется один SMD резистор на 680 Ом и диод. Изменения производятся в соответствии с нижеприведённой схемой:

SMD резистор впаивается в разрез дорожки в удобном месте, а диод впаивается снизу платы между ногами 2 и 9 микросхемы DD70 ЛИ1, при этом вывод 2 микросхемы откусывается от платы и соединяется с 1 выводом как указано на рисунке:

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

Хочу напомнить, что Gluck понимает только пентагоновское управление памятью, поэтому на Фениксе по умолчанию он увидит только 256kb ОЗУ. Что бы виделось 512kb необходимо установить два модуля SIMM 1Mb, переключить перемычку JP18 и сделать небольшую доработку: отрезать провод подходящий к ноге 13 DD23, и соединить эту ногу проводом с 9 ногой DD21. Общая память при этом будет 2Mb, но по пентагоновскому стандарту будет адресоваться только 512kb. К сожалению на Фениксе не поместился порт #EFF7, поэтому пентагоновское управление не полноценное - нельзя включить режим ограничения памяти 128kb, из-за чего некоторые криво написанные программы некорректно работают со старшими разрядами порта #7FFD. Это необходимо иметь ввиду, и либо добавить порт #EFF7, либо поставить тумблер на переключение сигналов идущих к ноге 13 DD23.

3.0 Использование MagOS на ZXM-Phoenix.

Для получения возможности использования MagOS на ZXM-Phoenix необходимо обеспечить возможность считывания состояния разрядов системных портов #7FFD и #1FFD участвующих в управлении памятью, для чего необходимо подать сигналы с соответствующих выходов портов #7FFD и #1FFD на порт A AY:

AY(DD44) - #7FFD(DD21), #1FFD(DD31)
21 DD44 - 5 DD21
20 DD44 - 6 DD21
19 DD44 - 2 DD21
18 DD44 - 16 DD21
17 DD44 - 12 DD31
16 DD44 - 15 DD21

Необходимо иметь ввиду, что MagOS не понимает больше 256k ОЗУ, поэтому использовать всю доступную память просто так не получится. Так же необходимо иметь ввиду, что запись чего-либо в порт A AY, может вывести из строя микросхемы портов #7FFD и #1FFD, или сам порт A AY, поэтому устанавливая эту доработку, вы делаете это на свой страх и риск.. Устранить этот недостаток можно заменой соединений проводами на соединения через диоды, при этом диоды должны быть включены анодами к AY. Диоды лучше брать германиевые или Шоттки.

P.S. Что-бы гарантированно убить Скорпион, необходимо записать в порт A AY ноль, при том, что значение выводимых через этот порт битов #7FFD или #1FFD будет отлично от нуля... ..и только то, что програмисты не разбираются в электронике может объяснить отсутствие на сегодня Scorpion Killed вирусов и AY музыки ..ибо за такую схемотехнику скорпионовцам надо руки поотрывать..
Прикрепления: 9959142.png (41.8 Kb) · 1422986.png (3.5 Kb)


"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
Black_CatДата: Среда, 14.10.2009, 19:42 | Сообщение # 3
Координатор
Группа: Координаторы
Сообщений: 701
Статус: Offline
4. RESET в ZXM-Phoenix.

4.1 Системный RESET.

Что бы получить стабильный аппаратный сброс компьютера при включкеии питания, рекомендуется подать сигнал PWR_OK (POWER GOOD) с контакта 8 разъёма XP16 "Питание" на контакт 1 разъёма XP11 "Сброс". При этом кнопка "Сброс" функциональности не теряет. Кроме того, сигнал RES/ выполнен не по стандарту NemoBus и не позволяет внешним устройствам производить аппаратный сброс компьютера. По большому счёту это и не надо, т.к. ZXMC-2 уже разведена на плате, а других устройств генерящих внешний сброс вроде больше и не существует. Но если всё же это понадобится, то устраняется замыканием выводов 2 и 3 DD59.1, либо врезкой диода катодом к выводу 3 в разрыв линии идущей с выхода 3 DD59.1, а так же подтяжкой анода этого диода к +5V установкой резистора 4k7-10k между 26 и 11 ногами процессора. Последний вариант предпочтительней.

4.2 RESET HDD.

В контроллере NemoIDE ZXM-Phoenix rev.0 - rev.1 есть ошибка в формирователе сигнала RHDD/ (аппаратный сброс HDD), из-за которой аппаратный сброс на HDD никогда не проходит. По большому счёту это мало на что влияет, т.к. HDD ресетится программно через внутренние порты. Ошибка может проявляться только при "зависании" HDD и невозможности вывести его из этого состояния кнопкой "Сброс". Для устранения этой ошибки необходимо соединить выводы 2 и 18 DD69, после чего на HDD начнёт проходить сигнал с кнопки "Сброс".

4.3 RESET AY при инициализации "Magic".

При инициализации "Magic" во время воспроизведения музыки, в AY устанавливается непрерывное воспроризведение последнего запрограммированного звука. Предлагаемая доработка прекращает звучание при выходе в "Magic" путём аппаратного сброса AY. Предлагается два варианта схемы: на дополнительном элементе ЛИ1 или с применением монтажного "И". В последнем случае применяется SMD резистор, который впаивается в разрез дорожки сигнала RES/ в удобном месте. Дополнительные диоды, устанавливаемые на плату должны быть типа Д9 или любыми германиевыми или Шоттки. Так же необходимо заменить кремниевый диод VD10 на германиевый. Кроме того на Z80 необходимо подтянуть ногу 17 к +5V, припаяв снизу платы резистор номиналом 4,7-10 кОм между 17 и 11 ногами процессора. Дополнительный диод устанавливаемый параллельно R17 можно ставить вместо этого резистора.
Прикрепления: 6505393.png (31.5 Kb)


"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
Black_CatДата: Пятница, 30.10.2009, 03:46 | Сообщение # 4
Координатор
Группа: Координаторы
Сообщений: 701
Статус: Offline
5. Сигнал DOS/ в контроллере NemoIDE ZXM-Phoenix.

К сожалению обнаружил свою ошибку в ZXM-Phoenix rev.0 - rev.1 - недосмотрел когда заводил в схему сигнал IODOS/ что он должен быть замешан ещё и в выборке контроллера NemoIDE. Для устранения этой ошибки хотел предложить схему замеса сигнала IODOS/ в выборку контроллера NemoIDE. Но потом подумав ещё немного, и вспомнив как обошлись с сигалом DOS/ в SMUC-2, а так же сверившись с "Путеводителем по портам ZX Spectrum" - пришёл к выводу, что контроллер NemoIDE будет прекрасно работать и без учёта этого сигнала. Т.е. выбросив DOS/ из дешифрации, получим что контроллер NemoIDE ZXM-Phoenix будет доступен всегда, независимо от сигналов DOS/ и IODOS/. Единственным устройством, способным при этом создать конфликт по адресации портов в DOS режиме мог бы стать интерфейс ISA SMUC-1. Но т.к. этот интерфейс по своей природе сделан криво, и изначально конфликтовал с портом #xxFE, а так же ввиду полного отсутствия программной поддержки для него, то считаю что на нём можно поставить крест и забыть как о страшном сне, тем более, что существуют более грамотные решения для подключения ISA устройств. Засим предлагаю сделать небольшую доработку решающую все проблемы. Для этого надо откусить вывод 6 DD60 от платы, и соединить его проводом с питанием +5V как показано на рисунке:
Прикрепления: 1081614.png (4.0 Kb)


"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
Black_CatДата: Вторник, 29.12.2009, 17:14 | Сообщение # 5
Координатор
Группа: Координаторы
Сообщений: 701
Статус: Offline
6. Чтение системных портов #FE #1FFD #7FFD #EFF7 в ZXM-Phoenix.

6.1 Аппаратная доработка.

Это концептуальная разработка. Доработка позволяет читать состояние системных портов #FE, #1FFD, #7FFD, #EFF7 соответственно через порты #BFFD, #1FFD, #7FFD, #EFF7
. Для компьютеров ZXM-Phoenix rev. 00-02 доработка выполняется на дочерней плате, подключаемой к шине NemoBus. Для компьютеров ZXM-Phoenix rev. 03-05 доработка выполняется в CPLD на плате, для чего на её свободные выводы заводятся дополнительные сигналы A13, A14, A15.

6.2 Программно-аппаратная доработка.

В отличие от вышеприведённой схемы, эта доработка не требует реализации на дополнительной плате, т.к. все функции возлагаются на обновлённую программу ATMEGA8515-16. Доработка предполагает перепрограммирование ATMEGA8515-16 и незначительную модернизацию. Для rev.05 аппаратное вмешательство не потребуется, а только изменение прошивки ПЗУ дешифратора.

Прикрепления: 8356574.png (31.9 Kb)


"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
Black_CatДата: Воскресенье, 10.07.2011, 00:01 | Сообщение # 6
Координатор
Группа: Координаторы
Сообщений: 701
Статус: Offline
7. Управление магнитофонным входом по D4 #FE.

Во всех оригинальных моделях ZX48 и ZX128 (в +2 тоже) разряд D4 #FE управлял блокировкой сигнала магнитофонного входа. Т.е. при записи в D4=1 #FE, из D6 #FE всегда будет читаться единица, вместо сигнала магнитофона. На проверке этого построена защита некоторых программ, таких как Abu Simbel Profanation, Rasputin. Ниже приведена схема доработки, реализующая такое управление. Доработка не требует резки дорожек платы.
Прикрепления: 2298067.png (10.6 Kb)


"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
Black_CatДата: Воскресенье, 10.07.2011, 00:41 | Сообщение # 7
Координатор
Группа: Координаторы
Сообщений: 701
Статус: Offline
8. Питание ВГ93.

В схеме питания ВГ93 ZXM-Phoenix rev.0 - rev.4 предусмотрена защита от пропадания напряжения +12V путём подачи напряжения +5V через диод VD19 КД522. К сожалению данная схема является некорректной и не будет работать, т.к. при пропадании напряжения +12V, защитное напряжение +5V подаётся не индивидуально на ВГ93, а на всю шину +12V, к которой подключены HDD, FDD, CD-ROM и т.д., и чей суммарный ток нагрузки во много раз превышает предельно допустимый ток диода КД522, который вследствие этого немедленно выйдет из строя так и не выполнив своего назначения. Соответственно, после сгорания защитного диода сгорит и ВГ93.
Таким образом, диод VD19 необходимо либо вообще исключить из схемы ввиду крайне низкой вероятности для современных PC ATX источников питания выхода из строя напряжения +12V, либо сделать корректное подключение, отрезав линию питания +12V ВГ93 от общей шины, и подав на неё питание от +5V и от +12V через диоды:
Прикрепления: 2246684.png (1.6 Kb)


"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
Black_CatДата: Суббота, 14.01.2012, 00:24 | Сообщение # 8
Координатор
Группа: Координаторы
Сообщений: 701
Статус: Offline
9. NemoBus TURBO для ZXM-Phoenix rev.04-05

Доработки приводят в соответствие режим "TURBO" ZXM-Phoenix rev.04-05 со стандартом шины NemoBus v.1.0. Эти доработки необходимо учесть при разработке новых материнских плат, но на существующих можно и не делать, если воспользоваться внешней платой http://zx.clan.su/forum/8-66-876-16-1408643465
По умолчанию режим "TURBO" включен, и выключается либо замыканием фиксируемой кнопки S1, либо подачей логического нуля на контакт B5 "TURBO" шины NemoBus. Тип выхода сигнала "TURBO" для плат расширения - ОК.
Доработка платы ревизии 4 производится путём укорачивания выводов 1 и 6 DD73 и соединении перемычками выводов 5 и 6 на печатной плате, а так же соединением проводом укороченного вывода 1 DD73 с выводом 2 DD19. Кроме того необходимо соединить между собой контакты B5 слотов расширения, краевого разъёма и контакта 1 разъёма XP20. Резистор R9 заменить на 680 Ом. Параллельно кнопке "TURBO" можно подключить светодиод с балластным сопротивлением для индикации включения режима "TURBO".
Для платы ревизии 5 придётся ещё укоротить ногу 4, и соединить её с +5V.
Ниже приведена схема доработки, и монтажка для ZXM-Phoenix rev.05. Доработка не требует резки дорожек платы.
Прикрепления: 5885831.png (37.1 Kb) · 5741618.png (18.0 Kb)


"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
Black_CatДата: Четверг, 17.05.2012, 17:28 | Сообщение # 9
Координатор
Группа: Координаторы
Сообщений: 701
Статус: Offline
10. Адресация 4Mb RAM и режим снятия блокировки #7FFD для ZXM-Phoenix

Это концептуальная разработка. Для управления старшим адресом используется D6 #7FFD. При выборе этого разряда не ставилась цель получить менеджер памяти Pentagon-512 ввиду его конфликтности с корректно написанным софтом, поэтому запись в разряд D6 #7FFD запрещена при использовании команд OUT(nn), A . Это обеспечивается подачей на контакт J1 сигнала OUT8 с ловушки команд OUT(nn), A ( http://zx.clan.su/forum/8-66-808-16-1373062339 ).Кроме того, доработка позволяет снимать блокировку записи в порт #7FFD при установке D0=1 #1FFD, сигнал с выхода которого подаётся с помощью выкидыша на контакт J2 платы доработки.
Блок выполнен в виде дополнительной платы вставляемой в цанговую панель вместо DD21.



Добавлено (29.06.2017, 01:16)
---------------------------------------------
Изменено управление D6 #7FFD и добавлено снятие блокировки #7FFD. Режим Pentagon-512 удалён как бесперспективный.
Прикрепления: 7769889.png (55.2 Kb)


"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
Black_CatДата: Суббота, 06.07.2013, 02:12 | Сообщение # 10
Координатор
Группа: Координаторы
Сообщений: 701
Статус: Offline
11. Выбор порта #7FFD по команде OUT(#FD),A

Это концептуальная разработка. Доработка позволяет в автоматическом режиме, без тумблеров и кнопок, корректно исполнять некорректно написанный код, использующий для обращения к порту #7FFD неполный адрес. Проблема обнаружилась после введения порта #1FFD на ZX Spectrum +3, а в последствии и на отечественных компьютерах использующих этот порт.
Принцип действия схемы основан на перехвате кода команд IN/OUT(#nn),A, и принудительной установке адресной линии дешифратора порта #7FFD A14=1, при A15=0, что в совокупности с младшим байтом адреса выставляемым на шину по команде OUT(#FD),A даёт корректный адрес для дешифрации порта. Суть такого решения заключается в том, что команда OUT(#FD),A традиционно не должна применяться для записи в порт #1FFD, а так же для любых других портов диапазона #xxFD для которых A15=0. Схема не влияет на обращения к портам AY. Доработка предназначена для ZXM-Phoenix rev.3 и старше, имеющих ПЛИС, но в виде дополнительной платы может использоваться в любых моделях компьютеров. Для ZXM-Phoenix rev.3 и старше основная схема прошивается в ПЛИС, к свободным выходам которой подпаиваются три тонких одножильных провода. Приведённая схема реализована на дискретных элементах, и требует адаптации под ПЛИС. Шаг выводов ПЛИС равен 0,5 мм, поэтому не рекомендуется производить доработку тем, кто не имеет достаточного опыта таких работ. Резистор в адресной линии дешифратора впаивается в разрыв, образованный обрезанием ножки микросхемы, что не требует изменений на печатной плате.


Добавлено (06.07.2013, 02:12)
---------------------------------------------
Ниже представлена схема иного способа определения исполнения команды OUT(#FD),A основанная на детектировании равенства байтов на шине данных и в старшем байте адреса. Эта схема содержит меньшее количество элементов, но требует большего количества сигналов и соединительных проводов. Представлены два варианта на разной элементной базе: на четырёхразрядном компараторе СП1 и на 8ми разрядном компараторе 688 серии. Ввиду значительных задержек сигнала, схемы с компараторами возможно применять только в компьютерах, где запись в порт #7FFD происходит по заднему фронту сигнала выборки процессора.
Прикрепления: 7726567.png (29.0 Kb) · 4159010.png (55.2 Kb)


"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
Black_CatДата: Четверг, 20.03.2014, 12:18 | Сообщение # 11
Координатор
Группа: Координаторы
Сообщений: 701
Статус: Offline
12. Чтение прерываний ВГ93 из #1F по стандарту Scorpion.

12.1 Программно-аппаратная доработка.

Это концептуальная разработка. Доработка позволяет достичь полной совместимости с ProfROM Scorpion при работе с FDD. Для реализации требуется изменение в прошивке ATMega, в частности при чтении #1F, порты PA6, PA7 должны переводиться в третье состояние. Такое совмещение вполне допустимо, т.к. сигналы INTRQ=1 и DRQ=1 инициализируют обработку запросов FDC, при этом состояние джойстика становится безразлично.



12.2 Аппаратная доработка.

Другой вариант доработки, не требующий изменений в прошивке ATMega.

Прикрепления: 4444863.png (28.2 Kb) · 5905167.png (18.0 Kb)


"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
Black_CatДата: Воскресенье, 04.05.2014, 17:35 | Сообщение # 12
Координатор
Группа: Координаторы
Сообщений: 701
Статус: Offline
13. Text mode 32x24 for ZXM-Phoenix

Это концептуальная разработка.

Характеристики ZX TXT mode 32x24:

1) 32х24 без атрибутов, цвет бумаги и чернил в TXT mode задаётся через порт #FE для всего экрана. Цвет чернил получается инвертированием старшего бита цвета бумаги, таким образом они всегда контрастны. Экран занимает область #7800-#7AFF. Знакогенератор загружаемый, 8х8, 2kb, грузится в ОЗУ, занимает область #7C00-#7FFF (символы 0-127), и #5C00-#5FFF (символы 128-255). Этот видеорежим не пересекается по ОЗУ, а следовательно может работать совместно со следующими графическими видеорежимами:
- атрибутными: стандартным 256х192, MultiColor 256х192, FlashColor 256х192;
- безатрибутными: 512х192, 16color.

Прикрепления: 2605140.png (196.0 Kb) · 4407890.png (206.5 Kb)


"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
Black_CatДата: Пятница, 20.06.2014, 13:43 | Сообщение # 13
Координатор
Группа: Координаторы
Сообщений: 701
Статус: Offline
14. 4 джойстика одновременно в ZXM-Phoenix

 Это концептуальная разработка. В ZXM-Phoenix, штатно возможно подключить только Kempston Joystick. Ниже приведена схема расширения, позволяющая использовать одновременно до 4х джойстиков. Схема требует изменения прошивки контроллера ATMEGA.
В качестве четвёртого джойстика используется менее распространённый Fuller Joystick. При обращении к нему по порту #7F, на шину данных выставляется его состояние:

D0 - UP
D1 - DOWN
D2 - LEFT
D3 - RIGHT
D4 - всегда "1"
D5 - FIRE 3 (не используется, всегда "1")
D6 - FIRE 2 (не используется, всегда "1")
D7 - FIRE 1

Активное состояние сигналов соответствует логическому "0".
Со списком ПО, поддерживающего Fuller Joystick, можно ознакомиться: http://www.mobygames.com/attribu....0a

Прикрепления: 1234835.png (51.8 Kb)


"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
Black_CatДата: Четверг, 21.08.2014, 21:51 | Сообщение # 14
Координатор
Группа: Координаторы
Сообщений: 701
Статус: Offline
15. Управление памятью в окне CPU0

Это концептуальная разработка. Доработка позволяет устанавливать режим доступа к ROM и RAM компьютера в окне CPU0 и режим TURBO, при этом доступ к D5 #1FFD возможен только в режиме IODOS (D7=1 #EFF7), хотя возможно эта перестраховка лишняя, и в будущем её не будет.
Управление в окне CPU0 для компьютров с NemoBus v1.1 возможно реализовать без переделки материнской платы, исключительно с шины  NemoBus. Для компьютеров с шиной  NemoBus v1.0 управление возможно при дополнении схемы формирователем сигнала IODOS/.  Ниже представлена схема такого управления. Кроме того для компьютеров ZXM-Phoenix rev.04-06 схема позволяет программно управлять режимом "TURBO" без внесения изменений в существующую схемотехнику материнской платы, при этом управление на плате осуществляется через разъём XP20 посредством проводника-выкидыша. К разъёму XP1 подключается нормальнозамкнутая кнопка, режим разрешения турбирования включается размыканием этой кнопки.



Схему рекомендуется реализовывать в CPLD на дочерней плате пристыковываемой к одному из периферийных устройств.
Прикрепления: 9185876.png (85.4 Kb)


"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
Black_CatДата: Суббота, 04.04.2015, 23:49 | Сообщение # 15
Координатор
Группа: Координаторы
Сообщений: 701
Статус: Offline
16. Простой AY+SAA1099 расширитель.

SAA1099 - в каждый Феникс! Конструкция выходного дня smile
Для прослушивания музыки для SAA1099 на ZXM-Phoenix не обязательно иметь ZXM-SoundCard. Ниже приведена упрощённая схема AY+SAA расширителя, устанавливаемого в сокет вместо микросхемы AY. Ввиду упрощения, схема не имеет возможности отключения звука SAA с помощью программного отключения его тактовой частоты, как это реализовано в ZXM-SoundCard. Доработка на материнской плате не влияет на работу AY установленного вместо платы расширения.

На материнской плате ревизии 00-04 для организации выборки SAA допаивается пара любых импульсных диодов, например КД522, и резистор, образующих элемент "монтажное ИЛИ", а так же заводится на сокет дополнительный адресный сигнал A8, и тактовая частота 8MHz. Для ZXM-Phoenix rev.05 доработки ещё проще, и дополнительные элементы не нужны, т.к. сигнал выборки можно получить непосредственно с одного из свободных выходов ПЗУ дешифратора, внеся изменения в его прошивку. Выхоной сигнал SAA с помощью дополнительного звукового кабеля подаётся на материнскую плату вместо сигнала спикера, при этом сигал SAA будет тише чем у AY. Это можно изменить уменьшив номинал резисторов R34, R35 на материнской плате. Использование расширителя требует изменения конфигурационных перемычек на материнской плате. Конфигурации перемычек приведены для включения AY по звуковой схеме Pentagon и SKAY.

Прикрепления: 0801740.png (86.5 Kb)


"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
Black_CatДата: Четверг, 07.05.2015, 00:23 | Сообщение # 16
Координатор
Группа: Координаторы
Сообщений: 701
Статус: Offline
17. Программное переключение 2bit mono / 1bit stereo для ZXM-Phoenix.

В ZXM-Phoenix есть возможность с помощью перемычек переключать вывод звука через порт #FE как 2bit mono или 1bit stereo сигнал. Но ручное переключение создаёт проблему определения текущего режима включения. Данная схема позволяет исключить неопределённость, управляя переключением режима с помощью D5 #FE. Попутно схема решает ещё пару проблем - нехватку аудио входов в звуковом смесителе на плате компьютера, и невозможность подбора коэффициента деления для сигналов подаваемых на смеситель - теперь резисторы, определяющие коэффициент деления сигнала вынесены на внешнюю плату подключаемую к разъёму EXT MIX, и количество смешиваемых сигналов не ограничено.



Конденсаторы C4-C6 удаляются, вместо C5 запаивается перемычка.
Прикрепления: 3778789.png (46.0 Kb)


"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
Black_CatДата: Среда, 15.06.2016, 17:04 | Сообщение # 17
Координатор
Группа: Координаторы
Сообщений: 701
Статус: Offline
18. SIMM 4Mb для ZXM-Phoenix.

Дополнительный адресный сигнал берётся из доработки представленной в http://zx.clan.su/forum/8-66-558-16-1337261319 . Разъём под SIMM 72 pin монтируется на переходную плату (выделена синим), которая с помощью штырей паяется вертикально к материнской плате вместо второго разъёма SIMM 30 pin, при этом первый разъём остаётся полностью функционален, что позволяет использовать либо 1Mb либо 4Mb. Используется FPM SIMM, EDO работать не будет. Если второй разъём под SIMM у вас уже впаян в материнскую плату, и вы обладаете достаточными навыками чтобы изготовить платку-переходник вставляемую в этот разъём вместо модуля SIMM, то можно и так сделать. Для этого подойдёт даже односторонний ЛУТ, но толщину стеклотекстолита надо подбирать максимально приближённую к толщине SIMM, и лучше большей толщины, чем меньшей, т.к. меньшая толщина будет давать неконтакт. Более толстый текстолит можно будет потом сточить с обратной контактам стороны до нужной толщины. Толстый текстолит вставлять в разъём не рекомендую, т.к. он его раздолбает, и после этого обычный SIMM в нём не будет контачить. Разъём XP1 на переходной плате понадобится нам в будущем для подключения к нему выкидыша.

Прикрепления: 0708144.png (86.2 Kb)


"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
Black_CatДата: Пятница, 15.07.2016, 14:07 | Сообщение # 18
Координатор
Группа: Координаторы
Сообщений: 701
Статус: Offline
19. Аппаратная многозадачность для ZXM-Phoenix.

Предлагаемая вашему вниманию разработка является упрощённым менеджером АПВМ (аппаратно-программных виртуальных машин), схема которого впервые публиковалась здесь: http://zx.clan.su/forum/8-75-473-16-1426612500 . Упрощение коснулось выбора объёма ОЗУ АПВМ, доступен только 1Mb (или 2Mb при ОЗУ компьютера 4Mb) ОЗУ под каждую АПВМ, что позволило применить такую схему к существующим ZXM-Phoenix rev.00-06, с минимальными доработками. Соответственно, для стандартного ZXM-Phoenix доступно только две АПВМ, а для расширенного до 4Mb - до 4 АПВМ. В каждой из АПВМ можно запустить собственую задачу, и в данном случае вручную, посредством кнопки NMI на клавиатуре мгновенно переключаться между ними, при этом запущенные задачи всё время находятся в памяти своих АПВМ. По сути, целью является получение демонстрации коммутируемой многозадачности, точнее в данном случае - двух или четырёхзадачности без использования ОС, и соответственно, без необходимости переделки существующего спектрумовского софта под эту ОС.

Необходимые изменения на материнской плате изображены на прилагающейся схеме в красной рамке. Само устройство реализовывается в CPLD вместе с устройством http://zx.clan.su/forum/8-66-876-16-1408643465 , и устанавливается в слот или краевой разъём. Сигналы на материнской плате */A20, (*/A21 для 4Mb), NMIU/ соединяются выкидышами с соответствующими сигналами на плате менеджера. Приведённая схема является функциональной, и предназначена для понимания принципа работы устройства, поэтому на ней не отображены схемы дешифраторов портов и сами системные дублирующие порты #FE, #1FFD, #7FFD, #EFF7, доступные для чтения их состояния, а так же дешифраторы портов #6DF7, #6FF7, и дешифраторы данных для определения команды RETN.

Режим загрузки или смены АПВМ вызывается вручную кнопкой "NMI" на клавиатуре, которая инициирует сигнал MAGIC, инициирующий модифицированную процедуру из ПЗУ TR-DOS, сохраняющую состояние регистров процессора и системных портов #FE, #1FFD, #7FFD, #EFF7 в системную область в странице RAM10 ОЗУ текущей АПВМ, далее меняющую АПВМ на выбранную, и загружающую из её системной области в её странице RAM10 новые данные системных портов и регистров процессора, после чего производит выход из обработки NMI и передаёт управление задаче на которую переключилась. При этом переключаемые программы находятся в памяти своих АПВМ постоянно, но могут быть так же выгружены на диск в виде образа, или обратно загружены с диска в память. Естественно, такой функционал потребует модификации ПЗУ TR-DOS в части обработки сигнала MAGIC, инициирующего особый режим работы компьютера "KERNEL", индицируемый на шине NemoBus установкой сигналов IODOS/=0 и DOS/=0, тем самым сигнализирующий всем внешним устройствам запрет управления памятью в окне CPU0. Инициация режима KERNEL происходит по одновременной активации NMIU/ и DOS/. Выход из режима KERNEL происходит по команде RETN, для обнаружения которой служит ловушка команд, вырабатывающая сигнал RETN/. Использование ловушки RETN взамен стандартной для BDI процедуры выхода из TR-DOS обусловлено возможностью отключения ПЗУ в окне CPU0 для АПВМ сигналом BLK, который блокируется при входе в режим KERNEL.
Порт #6DF7 - порт маски ОЗУ АПВМ, предназначен для задания размера ОЗУ АПВМ, и в этой упрощённой версии может задавать значения только 1, 2, или 4 Mb через разряды D6,D7. Порт #6FF7 - порт адреса расположения АПВМ в общем ОЗУ компьютера, в этой упрощённой версии может задавать только одно из двух (для 2Mb ОЗУ) положений АПВМ в ОЗУ компьютера через разряды D6,D7. Оба порта доступны только в режиме KERNEL, и не могут быть изменены из обычного режима никаким другим способом, кроме аппаратного сброса, открывающего доступ ко всей памяти компьютера через системные порты #1FFD, #7FFD.
Кроме того схема генерирует характерный для NemoBus v.1.2 сигнал ENDA\RS (RA14, на схеме узел красного цвета), индицирующий внешней видеокарте при обращении к ОЗУ АПВМ к какой части ОЗУ АПВМ происходит обращение - к первому мегабайту ОЗУ (ENDA\RS=0) в котором располагается видео ОЗУ АПВМ, или к верхней памяти, где видео ОЗУ нет. Благодаря этому сигналу отпадает необходимость дублирования функционала менеджера АПВМ в самой внешней видеокарте, не знающей об ограничениях размера ОЗУ АПВМ и об её положении в ОЗУ компьютера.

Прикрепления: 1028479.png (76.1 Kb)


"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
Black_CatДата: Четверг, 29.06.2017, 01:16 | Сообщение # 19
Координатор
Группа: Координаторы
Сообщений: 701
Статус: Offline
20. Управление памятью в окнах CPU0-CPU3 по стандарту NemoBus v.1.2.

Это концептуальная разработка. Доработка позволяет с шины NemoBus v.1.2 управлять памятью в окнах CPU0-CPU3. Изменения в работе, относительно стандарта NemoBus v.1.0, коснулись управления памятью в окнах CPU1-CPU3. Доработка позволяет отключать набортную память компьютера в окнах CPU1-CPU3, и подключать вместо неё память внешних устройств подключенных к шине NemoBus v.1.2. Такая возможность позволяет внешним устройствам с собственной памятью и собственным менеджером памяти устанавливать её в окна CPU0-CPU3.

Прикрепления: 0008483.png (41.7 Kb)


"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
Black_CatДата: Суббота, 29.07.2017, 14:05 | Сообщение # 20
Координатор
Группа: Координаторы
Сообщений: 701
Статус: Offline
21. Видео-подрежим "BC Contour".

Это концептуальная разработка. Данный видео-подрежим позволяет добавить третий цвет на строку знакоместа без изменения объёма видео ОЗУ, за счёт определённого кодирования байта растра. Подрежим BC Contour включается по D3=1 #EFF7, и может работать только совместно с любым атрибутным режимом Спектрума, модифицируя его, но сам при этом не является самостоятельным видеорежимом, а только модифицирующим подрежимом. Кодирование байта растра состоит во внесении в него цепочек из комбинаций трёх битов: 010 или 101. В подрежиме BC Contour каждая из этих комбинаций битов пикселов растра, на выходе сдвигового регистра даёт команду на аппаратное замещение среднего пиксела комбинации, пикселом третьего цвета. Третий цвет может быть любым из стандартных 15 цветов, и задаётся разрядами D0-D2 и D5 #FE для всего экрана и бордюра. С помощью третьего цвета задаётся контур изображения. При включении видео-подрежима BC Contour, бордюр получает дополнительный бит яркости, определяемый D5 #FE, что позволяет воспроизводить на нём все 15 цветов. При включении видео-подрежима BC Contour необходимо обнулять старшие разряды D6,D7 порта #FE, т.к. они могут использоваться в дальнейшем в расширенных видеорежимах.
Доработку лучше собирать на макетке устанавливаемой вторым этажом, что бы минимизировать количество дополнительных проводов. Вместо микросхем DD37, DD39, DD40, DD42 на материнскую плату максимально высоко над платой устанавливаются цанговые панели, в которые будет втыкаться дочерняя плата макетки. На макетке так же устанавливаются цанговые панели под DD37, DD39, DD40, в которые втыкаются соответствующие микросхемы, извлечённые из материнской платы. Вместо DD42 на макетке будет стоять две КП12, поэтому в эту панель на материнской плате будут втыкаться переходные штыри впаянные в макетку. При этом, панели DD37, DD39, DD40 на макетке, по сути, являются проходными, и предназначены в основном для передачи сигналов между платами, за счёт чего и устраняются соединения проводами. Регистр 1533ИР35 порта #EFF7 можно напаять поверх DD21, а поверх него напаять 1533ЛЕ4 для укорачивания и минимизации проводов. Такая компоновка не требует резать дорожки, и позволяет относительно легко вернуться к изначальной схеме компьютера.



Видео-подрежим позволяет расцвечивать как новые, так и существующие монохромные игры, для чего необходимо подменить текущие спрайты игры на преобразованные. Для примера, на рисунке показано преобразование двухцветного спрайта танка в трёхцветный. Слева оригинальный спрайт танка из "Z demo 2" от Andrew771, в центре - преобразованные спрайты для трёх цветов танков как они выглядели бы при отключенном подрежиме BC Contour, и справа - вид преобразованных спрайтов на экране при включенном подрежиме BC Contour. 



P.S. Изначально планировался иной адрес порта управления, но впоследствии было принято решение минимизировать количество портов, использовав все разряды порта #EFF7, т.к. всё равно Alone Coder'овское управление для Pentagon-1024 использовано никогда не будет ввиду ввиду его технической безграмотности.
Прикрепления: 9171033.png (127.4 Kb) · 8182265.png (12.9 Kb)


"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
Soviet Union ZX Spectrum Community » ZX-строительство » Железо » ZXM-Phoenix - модернизация и исправления
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2006Сайт управляется системой uCoz