Формат
Можно, там есть экспорт в гербер, полученные файлы надо протестировать в CAM350
- - - Добавлено - - -
А такие варианты?
AMD AM29F010-45PC
AMD AM29F010B-70PD
Формат
Можно, там есть экспорт в гербер, полученные файлы надо протестировать в CAM350
- - - Добавлено - - -
А такие варианты?
AMD AM29F010-45PC
AMD AM29F010B-70PD
"Во времена всеобщей лжи говорить правду - это экстремизм" - афоризм.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Хорошие ПЗУ, время доступа 45нс или 70 нс, есть в продаже и напряжение программирования +5в. Внятный даташит с таймингами записи, думаю что проблем с их записью на Спектруме не будет. Размер сектора для стирания = размеру страницы ПЗУ на Спектруме = 16 Кб, что позволит перезаписывать только 1 выбранную страницу, а не всё ПЗУ.
Последний раз редактировалось Northwood; 09.12.2017 в 20:05.
С уважением, Александр
Кинулся искать в продаже на китайских сайтах ПЗУ 128 Кбайт, оказалась вот такая ситуация:
W29C010, бывают с временем доступа 45 / 70 / 90 нс, в продаже нет вообще нигде, напряжение программирования +5в.
W29EE011, бывают с временем доступа 90 / 150 нс, в продаже есть и много, напряжение программирования +5в.
W27C010, бывают с временем доступа 70 / 150 нс, в продаже есть и много, но напряжение программирования +12в.
В турбо режиме 14 МГц, я проверил ПЗУ с временами доступа 45, 70 и 150 нс. 45 и 70 нс работают отлично, а 150 нс уже сильно глючат.
90 нс не проверял, поэтому потянут ли они 14 МГц, под вопросом, скорей всего нет. Или работать будут, но не стабильно.
W29C010 придётся вычеркнуть из-за их недоступности, W29EE011 - из-за тормознутости, хотя в Турбо-7 МГц проблем с ними не будет. Остаются только W27C010, но у них другой алгоритм программирования, требующий +12в, поэтому я уже сомневаюсь, стоит ли поддерживать возможность прошивки ПЗУ средствами компьютера ZX-Spectrum. Имхо, лучше для этой цели всё-таки пользоваться универсальными программаторами, такими как Willem Prog или иными, которые умеют шить любые подобные ПЗУ.
С уважением, Александр
Есть хорошая новость - мне удалось решить проблему видеорежима 512х192 при частоте процессора 14 МГц с WAIT-ом - пиксели больше не мигают, дополнительным бонусом вышло устранение маааленького расхождения между пикселями и атрибутами, могу продолжать составлять окончательную схему.
Хочется ещё довести до ума схему подключения микросхемы CMOS HM6818A, меня волнует ток потребления этой микросхемы и стабильность её хода. Сейчас у меня стоит Dallas, проблем с ней вообще никаких, потребляет единицы микро ампер и идут достаточно точно. Когда пробовал HM6818A, то она жрала у меня 1 мА, что полностью высаживало батарейку CR2032 за 9 суток, при этом она самопроизвольно ускоряла ход до 2-х крат. Тактирование микросхемы внешним генератором не решила проблему с потреблением тока. То ли мне микросхема CMOS попалась неисправная, то ли что-то не так в схеме её подключения.
Выложил схему, которая реализует 8 дополнительных видеорежимов, плюс подключение микросхемы CMOS, порты #EFF7, #BFF7 и #DFF7:
Данная схема требует обязательного турбирования памяти на 7 МГц, некоторые сигналы взяты из схемы турбирования, и реализует следующие видеорежимы (в скобках число в порты #EFF7 и BIOS #FE37):
0) 256x192 пикселей, атрибут цвета на знакоместо 8х8 (#00, #xx);
1) 256х192 пикселей, мультиколорный, атрибут цвета на байт 8х1 (#20, #xx);
2) 512x192 пикселей, монохромный, цвет текста задаётся портом BIOS (#02, #01-#0F);
3) 512х192 пикселей, атрибут цвета на узкое знакоместо 8х8 (#02, #1x);
4) 512x192 пикселей, мультиколорный, атрибут цвета на байт 8x1 (#22, #1x);
5) 384x288 пикселей, полноэкранный, атрибут цвета на знакоместо 8х8 (#40, #xx);
6) 256x192 пикселей, каждый пиксель своим цветом (16 colors) (#01, #xx);
7) "Флешколор", там где атрибут цвета содержит 7-й бит "флеш", цвета пикселей и фона перемешиваются и выдаются как цвет пикселей, фон чёрный (#xx, #2x);
8) "Автоматический аппаратный гигаскрин" - переключение экранов через строку (#xx, #8x).
Названия сигналов соответствуют схеме "Pentagon-1024 1.4", а так же схеме турбирования ОЗУ, приведённой мной ранее.
Некоторые входные сигналы на схеме:
Взятые из порта BIOS #FE37:
512_B - включение синей компонеты цвета текста в монохромном режиме 512х192;
512_R - включение красной компонеты цвета текста в монохромном режиме 512х192;
512_G - включение зелёной компонеты цвета текста в монохромном режиме 512х192;
512_Bright - включение яркости текста в монохромном режиме 512х192;
512_Color_On - включение цветного режима 512х192;
FlashColor_On - включение флешколор;
GIGA_On - включение автоматического режима "аппаратный гигаскрин".
Взятый из порта BIOS #FF37:
~RTCWR_On - разрешение записи в микросхему CMOS.
Видеорежим "16 colors" (каждый пиксель своим цветом), в отличии от схемы, предложенной ранее Alone Coder, лишён двух недостатков:
а) у меня никогда не останавливает процессор, у Alone Coder процессор полностью останавливался сигналом BUSRQ на всё время отрисовки экрана, у него процессор работал только во время вывода бордюрной области;
б) у меня доступен полностью весь экран, все 256х192 пикселей, у Alone Coder были скрыты первые несколько и последние несколько пикселей в строке из-за несовпадения бордюрной и экранной областей, а так же из-за того что в последнем байте строки данные у него читались не из того места ОЗУ.
Единственный маленький побочный эффект при включении некоторых видеорежимов - небольшое смещение экранной области вместе с бордюром влево:
512х192 пикселей - на 4 узких пикселя;
16 colors - на 5 пикселей.
Связано это с тем, что вывод пикселей на экран в данных видеорежимах начинается несколько раньше чем в стандартном режиме, поэтому мне пришлось при включении данных видеорежимов в след за этим немного сдвинуть и бордюр. Конечно можно было бы сделать так, чтобы экран не сдвигался, но это потребовало бы установки двух дополнительных регистров КР1533ИР23, что я посчитал не целесообразным.
Автоматический аппаратный гигаскрин - включается и отключается автоматически. Как только какая-либо программа переключила экраны, аппаратный гигаскрин тут же включается сам и до конца кадра переключает экраны от строки к строке. При наступлении кадрового синхроимпульса аппаратный гигаскрин отключается. Если во время прерывания программа опять переключила экраны, то аппаратный гигаскрин снова включается автоматически и снова работает до следующего кадрового синхроимпульса, но фаза переключения меняется на противоположную.
Таким образом, во время просмотра гигаскрин картинок, когда программа-просмотрщик по прерываниям переключает экраны, аппаратный гигаскрин работает фактически без перерыва. Когда просмотр гигаскрин картинки завершено, данный видеорежим отключается сам. Поэтому не нужно его включать и отключать вручную.
Однако, на большинстве демок используется переключение экранов, и вот здесь аппаратный гигаскрин всё портит, поэтому его можно полностью отключить через порт BIOS #FE37.
Позже сниму видео с демонстрацией видеорежимов.
Последний раз редактировалось Northwood; 15.12.2017 в 15:44.
С уважением, Александр
Northwood, а какую память думаете применять у себя ?
И по поводу конфигурирования всех ваших расширений , я например люблю переключатели , так как пишешь что то , надо на лету проверить , клац и конфиг поменял , с вашим bios так не выйдет , понимаю у вас свое четкое виденье того что делаете но как идея , вход в bios по кнопке которая дергает nmi , это на лету останавливает то что мы делаем ,сохраняет регистры , точку останова , вываливается в биос , делаем нужный конфиг и по выходу возвращаемся в точку останова и продолжаем то ,что делали.
Это так мысли вслух , вот тут подобие только с кешем , может понравится идея - https://www.youtube.com/watch?time_c...&v=EV-jFmpnwCk
- - - Добавлено - - -
PS по поводу программирования ПЗУ (флеш) сразу в пентагоне , там довольно легко это делается ,у меня было подобие еще в 90-х и какие то исходники должны быть.
Ставим перемычку c любого удобного порта (например бит Border) на ногу WE (которая иначе просто через резистор на +5в , и аппаратная часть готова , далее все софтом.
Увы общий формат форума вышел из рамок моего любимого места , более тут не бываю.
Ту же, которая у меня работает сейчас. У меня остался 2-й точно такой же модуль SIMM 30 pin 4Mb Motorola, его и поставлю. А так, будут поддерживаться модули 1 Мб и 4 Мб, и будет на плате джампер, который нужно будет переключать в соответствии с типом модуля.
А что конкретно может понадобиться переключать на лету переключателем ? Если частоту процессора, то как раз его я не планирую заводить в BIOS, у себя я вывел 2 переключателя частоты на дип-переключатели, и так и оставлю в новом Пентагоне. Могу ещё согласиться с переключателем положения INT. Всё остальное вряд ли нужно будет переключать переключателем:
Конфигурация верхней памяти ? При его переключении загруженная программа скорей всего вывалится.
Управление теневым ОЗУ ? Тоже смысла нет.
Расширенные видеорежимы ? Здесь под вопросом. Переключать на лету цвет текста и включение/отключение цветного режима 512х192 точно не понадобится. Флешколор и гигаскрин, может быть и нужно.
BIOS для своей работы использует несколько байт из 5-й страницы под переменные, плюс две экранные области цветного видеорежима 512х192 - #4000-#5AFF и #6000-#7AFF, и вот вторая экранная область на 99% гарантии убьёт сохранённую программу.
Позже посмотрю...
Под прошивку ПЗУ я думаю выделить свободный бит порта BIOS #FF37. Но кроме WE, нужно ещё обеспечить доступ к любой закрытой странице ПЗУ - TR-DOS, Gluk, но это всё решаемо. Не хочется раньше времени забегать наперёд, сейчас я хочу решить ключевую задачу - развёртка растра.
По большей части, проблем нет никаких. Но у меня пока остаётся одна загадка, которую пока что не удаётся решить:
Если взять схему Пентагона-128 1991 года, по схеме вывести все тайминги работы счётчиков, синхроимпульсов и ИНТа, и потом всё это сравнить с Пентагоном-1024 1.4 от КОЕ, то после известной доработки с положением INT-а по горизонтали, вырисовываются абсолютно одинаковые тайминги с Пентагоном-128. Однако, в Пентагоне-1024 1.4 при этом в демках, написанных под Пентагон-128 и использующих бордюрные эффекты, почему-то INT опаздывает ровно на 4 пикселя ??? Вопрос, почему ??? Поэтому с Пентагоном-1024 в своё время пришлось поизвращаться триггерами ТМ2 чтобы на входы вертикальных счётчиков подать тактовый сигнал на эти 4 пикселя раньше, чтобы INT стал на своё место. Но в Пентагоне-128 INT получается полностью на своём месте и без этого изврата. Завтра попробую ещё раз начертить более подробно все тайминги Пентагона-128 чтобы сравнивать с таймингами Пентагона-1024 1.4, которыми я исписал уже кучу двойных тетрадных листков в клеточку.
По поводу развёртки в новом Пентагоне-4096, я хочу взять всё лучшее из Пентагона-128 и Пентагона-1024, плюс исправить общие недостатки обоих компьютеров:
Прежде всего, я хочу сформировать синхросмесь наиболее похожую на стандартную, принятую ГОСТом, но, разумеется, без всяких врезок для компенсаций полукадров. Но длительности кадровых и строчных гасящих и синхроимпульсов сделаю стандартными:
а) В Пентагоне-1024 1.4 длительность строчного гасящего импульса (СГИ) = 16 мкс, когда по стандарту должно быть 12 мкс. В принципе, ничего страшного, до тех пор, пока не будет реализован полноэкранный видеорежим 384х288, в котором этот СГИ закроет часть картинки. В новом Пентагоне-4096 я сделаю СГИ = 11.43 мкс, это не существенно меньше стандартных 12 мкс.
б) В Пентагоне-1024 1.4 длительность строчного синхроимпульса (ССИ) = 9.14 мкс, когда по стандарту должно быть 4.7 мкс, т.е. в 2 раза меньше. В результате Пентагон-1024 1.4 работает исключительно с ЭЛТ телевизорами, и ни на одном LCD телевизоре не работает строчная синхронизация, и не работает она и через видеозахват на ПК. В новом Пентагоне-4096 я сделаю 4.57 мкс. Сейчас у меня в имеющимся Пентагоне сделана доработка, обрезающая строчные синхроимпульсы до 4.57 мкс, и все LCD телевизоры теперь отлично ловят синхронизацию строк, видеозахват на ПК теперь тоже отлично справляется с этой задачей.
В новом Пентагоне-4096 передняя площадка СГИ перед ССИ будет = 1.71 мкс, далее ССИ = 4.57 мкс, далее задняя площадка СГИ = оставшиеся 5.14 мкс. Этих 5.14 мкс хватит для нормальной синхронизации цвета при использовании кодеров PAL/NTSC.
в) В Пентагоне-1024 1.4 кадровых гасящих импульсов (КГИ) нет вообще, а длительность кадрового синхроимпульса (КСИ) = КГИ = 16 строк = 1024 мкс. По стандарту положено, чтобы были КСИ и их длительность была = 2.5 строки = 160 мкс. КСИ должен быть окружён КГИ, и его длительность я оставлю = 1024 мкс.
В новом Пентагоне-4096 будут КГИ = 1024 мкс и КСИ = 160 мкс, это отцентрует экранную область по вертикали, сделает её выше где-то на 8 строк.
Последний раз редактировалось Northwood; 18.12.2017 в 00:54.
С уважением, Александр
1. 128к или 1024к ,загрузил что то свое в расширенную память , решил потестить какую то дему которая не дружит с 512/1024к , включаешь 128к запускаешь демо , переключаешь на лету на 512/1024к ,жмешь магик который переключен в режим кеша , далее как в видео выше я приводил.
2. режим работы кнопки magic / cash
3. turbo
4. ПЗУ - стандарт/тест/глюк сервис
- - - Добавлено - - -
Два ,три диода (которые не любите) в зависимости от типа флешь или мультиплексор![]()
Увы общий формат форума вышел из рамок моего любимого места , более тут не бываю.
Готов предварительный вариант схемы счётчиков и формирователя растра.
Скажу сразу, это не окончательная схема и её следует доработать, т.к. содержит недостаток - перегруженные выходы счётчиков КР1533ИЕ10. Например, к выходам с сигналами H3 и H5 подключено по 5 входов логических элементов, а ещё добавятся мультиплексоры адресной шины ОЗУ и мультиплексоры схемы видеорежимов. В итоге, с микросхемами КР1533ИЕ10 скорей всего получится глюкодром.
Ставить серию К555 здесь нельзя, т.к. время распространения сигнала у неё в 2 раза больше, что пагубно при тактовой частоте динамического ОЗУ = 7 МГц.
Если ИЕ10 поставить серии КР1531, то проблем не будет, но их достать будет трудно. Я склоняюсь к тому, чтобы КР1531ИЕ10 заменить на КР1531ИЕ17, во многом они полностью аналогичны ИЕ10, но функционально несколько шире чем ИЕ10, так что я смогу их заменить без существенного изменения схемы, их я смог без проблем купить, правда, импортный аналог 74F169N.
А теперь об изменениях и преимуществах данной схемы перед схемами Пентагона-1024 1.4 и Пентагона-128:
Во-первых, ещё давно я выполнил доработку схемы, которая устраняет "дребезг счёта" во второй КР1533ИЕ10 в конце строки экранной области из-за неудачной схемы тактирования в Пентагоне-1024 1.4 при реализации коэффициента деления = 14. Этот же "дребезг счёта" КР1533ИЕ7 присутствует и в схеме Пентагона-128. Данный "дребезг счёта" создаёт проблемы при турбировании ОЗУ до 7 МГц, и делает невозможным полноценную реализацию видеорежимов 512х192 и 16Colors на турбированном ОЗУ (мерцание пикселей и атрибутов в последнем знакоместе строки из-за считывания данных из неверных адресов). Данная доработка учтена в данной схеме.
Счётчики строчной развёртки я выполнил на КР1533 (КР1531) ИЕ10, но в отличии от схемы Пентагона-1024 1.4, изменил схему их включения, использовал полностью синхронную схему тактирования обоих микросхем, что ликвидировало задержки переключения 2-й микросхемы относительно 1-й.
Данную схему тактирования я испытал на своём Пентагоне, и она успешно заработала, дребезг счёта 2-й ИЕ10 отсутствует.
От использования КР1533ИЕ7, которые применялись в Пентагоне-128, я окончательно отказался, т.к. при расширении разрядности они не поддерживают синхронную схему тактирования, а во-вторых, запись по входам D0-D3 у ИЕ7 асинхронная, что усложнит схему включения 2-й ИЕ7 при попытке устранить дребезг счёта в конце строки экрана.
Счётчики кадровой развёртки я решил сделать полностью как в Пентагоне-128, т.е. на 2-х КР1533ИЕ5, а не на К561ИЕ10, т.к. КМОП-серия 561 довольно медленная, а их сигналы участвуют в регенерации ОЗУ, так что задержки сигналов здесь так же должны быть минимальными.
В данной схеме реализовано 2 варианта положения сигнала "INT" Z80 - пентагоновский и фирменный, переключение входным сигналом "INT_POS":
INT_POS = 0 - Пентагоновский INT;
INT_POS = 1 - Фирменный INT.
Положение INT-а переключается как по вертикали, так и по горизонтали.
Джампер XJ1 нужен для определения точной позиции Пентагоновского INT по горизонтали:
В левом по схеме положении (замкнуты контакты 1 и 2) тайминги соответствуют схеме Пентагона-128, но возможно, INT будет отставать на 4 пикселя в данной схеме.
В правом по схеме положении (замкнуты контакты 2 и 3) тайминги соответствуют схеме доработки положения INT в Пентагоне-1024 1.4, т.е. INT станет на 4 пикселя раньше.
Какое положение XJ1 окажется правильным, покажет проверка на демке "INSULT". Сделал эту возможность, чтобы не пришлось резать дорожки в случае, если я не угадал правильный вариант. К сожалению, детальный анализ и сравнение таймингов Пентагона-1024 1.4 и Пентагона-128 ничего не дал - всё сходится пиксель в пиксель, а на деле разница INT-а на 4 пикселя, почему, я так и не понял.
Длительность сигнала "INT" определяется самим процессором Z80 - "INT" прекращается как только Z80 выставил подтверждение приёма INT сигналами "IORQ" и "M1". В случае, если маскированные прерывания запрещены, "INT" прекращается сам через 8 строк.
В данной схеме реализованы практически стандартная синхросмесь и стандартный сигнал "бланк":
Длина строчных гасящих импульсов (СГИ) = 11.43 мкс;
Длина строчных синхро импульсов (ССИ) = 4.57 мкс;
ССИ окружён СГИ на 1.71 мкс спереди (для надёжной синхронизации строк) и на 5.14 мкс сзади (для надёжной синхронизации цвета);
Задний фронт ССИ соответствует середине времени между бордюрными областями + смещение на 4 пикселя вправо, что даёт точную центровку экранной области по горизонтали.
Длина кадровых гасящих импульсов (КГИ) = 16 строк = 1024 мкс (оставил как есть);
Длина кадровых синхро импульсов (КСИ) в режиме "Пентагоновский INT" = 2.72 строки = 174.29 мкс (почти стандарт);
Длина кадровых синхро импульсов (КСИ) в режиме "Фирменный INT" = 2.5 строки = 160 мкс (стандарт);
КСИ окружён КГИ на 6 строк спереди и 7.5 строк сзади, положение КСИ даст улучшенную центровку экранной области по вертикали.
Принципиальная схема:
Тайминги развёртки:
![]()
Последний раз редактировалось Northwood; 23.12.2017 в 20:00.
С уважением, Александр
Northwood, в чем сакральный смысл узла {DD2.1,DD3.1,DD3.2}?
Последний раз редактировалось Northwood; 23.12.2017 в 20:17.
С уважением, Александр
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)