Просмотр полной версии : Компьютер "ZXM-Jasper" - Обсуждение
14 октября 2016 года -первое упоминание
Навеянный небольшой активностью народа по поводу апгрейда Пентагона http://zx-pk.ru/threads/26977-pentagon-obshchaya-plata-dorabotok.html
Вот думаю, что то давно я компы не рисовал в P-CAD, так сказать из говна спектрум.
На сей раз решил по другому изобразить. Комп не целиком, а основную процессорную плату. А всю логику пихать в сменный модуль с ПЛИС (CPLD), это как например поступили в игровом аппрате от Игрософт. Собственно и распиновку делал под их формат платы.
Напомню, что в Игрософт модули были с EPM3256AQC208 и EPM3512AQC208.
http://s017.radikal.ru/i431/1511/5b/ede0de17450dt.jpg (http://radikal.ru/f/s017.radikal.ru/i431/1511/5b/ede0de17450dt.jpg)
Иными словами, можно применять модули с ПЛИС в зависимости от своих запросов.
Вообщем, еще один комп с названием ZXM-Jasper
Картинка печатки
http://s019.radikal.ru/i639/1610/1b/e545f1cb5c8at.jpg (http://radikal.ru/big/u6m203gmoontm)
http://s020.radikal.ru/i704/1610/6e/68945f2077a1t.jpg (http://radikal.ru/big/n1c2n7ft14tkg)
Полосатось это издержки так сказать излишней заумности P-CAD 2002 (так он отображает когда выбираешь - увидеть все)
Краткие характеристики:
- ОЗУ максимальный объем 1024кб (две микросхемы по 512кб) памияти типа SRAM
- ПЗУ 512кб
- VGA выход (резистивный 8 битный цап R3G3B2)
- ОЗУ палитры, кому вдруг понадобится (только с толстыми CPLD или ПЛИС)
- контроллер PS2 клавы и управление питанием на PIC16F88
- музыкальный сопроцессор AY-3-8912
- бипер
- магнитофонный интерфейс
- Kemston джойстик
- 2 слота Nemo Bus
- 1 краевой слот ZX-Bus для фанатов буржуйских поделий.
- размеры 170x170мм форм фактор mITX
Дискогрызы, HDD и прочую перефирию в слоты пихаем по необходимости.
22 августа 2017 - появились платы, придется видимо делать
Так как благодаря Павлу Рябцову удалось изготовить несколько печаток, то по всей видимости придется комп делать. :)
http://s018.radikal.ru/i520/1708/14/7d622963c27at.jpg (http://radikal.ru/big/hyghnm47izzoj)
http://s61.radikal.ru/i174/1708/b1/1a5a0aa66f03t.jpg (http://radikal.ru/big/7ik4612a8miq5)
Печаток всего 5шт, одну соберу и оставлю себе, а остальные потом на продажу пущу.
Кстати подумалось, что этот вариант может быть как что то подобное Ардуино -> Спектруино.
Расширятся можно не только через слоты, но и вверх - строя бутерброды. :)
P.S. Гы гы вроде даже герберы научился в первом приближении делать :)
Это как бы первый этап к возвращению к Зефирке, доделывания своих проектов. :)
Тема параллельно существует и тут: http://forum.tslabs.info/viewtopic.php?p=25488#p25488
26 августа 2017 - собрана и сфоткана плата
http://s04.radikal.ru/i177/1708/89/02c6181d6382t.jpg (http://radikal.ru/big/kqfcy2e0rc2i4)
Сменные модули:
Альтернативный модуль на EPM3256AQC208 - http://zx-pk.ru/threads/28023-kompyuter-quot-zxm-jasper-quot-obsuzhdenie.html?p=926740&viewfull=1#post926740
Контроллер дисковода на КР1818ВГ93 - http://zx-pk.ru/threads/28023-kompyuter-quot-zxm-jasper-quot-obsuzhdenie.html?p=943759&viewfull=1#post943759
Модуль с микросхемой EPM3256ATC144 и динамической памятью - http://zx-pk.ru/threads/28023-kompyuter-quot-zxm-jasper-quot-obsuzhdenie.html?p=927875&viewfull=1#post927875
Модуль с микросхемой CPLD EPM9560ARI208 - http://zx-pk.ru/threads/28023-kompyuter-quot-zxm-jasper-quot-obsuzhdenie.html?p=959014&viewfull=1#post959014
Конфигурации
Конфигурация 128Кб Спектрум совместимого компьютера - http://zx-pk.ru/threads/28023-kompyuter-quot-zxm-jasper-quot-obsuzhdenie.html?p=943621&viewfull=1#post943621
Ссылки:
- о самом компьютере - http://micklab.ru/My%20Computer/ZXMJasper.htm
- о сменных модулях - http://micklab.ru/MyModules.htm
- о доработках компа. Одна с проводком, а другую просто отогнуть :) - http://micklab.ru/file/zxm_jasper/zxm_jasper_00annex.pdf
ну если только заказывать 208 ногие плюшки, не .. у тебя их сколько?
ну если только заказывать 208 ногие плюшки, не .. у тебя их сколько?
Не понял вопроса.
omercury
24.08.2017, 08:15
Попробую пояснить, хоть и не ко мне вопрос)))
У меня тоже нет 208-ногих максов, тем более на шилдах от игрософт...
Обеспечить желающих сможете?
CodeMaster
24.08.2017, 09:35
Обеспечить желающих сможете?
А для чего владельцы столько денех в Авито (https://www.avito.ru/rossiya?s=101&q=%D0%98%D0%B3%D1%80%D0%BE%D1%81%D0%BE%D1%84%D1%82 ) вбухАли?
Дело хозяйское, знаю время потратил не мало, но, 3256 о 208 ногах, ну не серьезно это. малой серией может.
Дело хозяйское, знаю время потратил не мало, но, 3256 о 208 ногах, ну не серьезно это. малой серией может.
Дело в том, что мысли вы так и не уловили.
Цитирую себя:
А всю логику пихать в сменный модуль с ПЛИС (CPLD)
Иными словами, никто не запрещает сделать под себя необходимый модуль с необходимой ПЛИС (CPLD). Это необязательно может быть Altera и необязательно EPM3256(EPM3512).
Тут важно чтобы сигналы были совместимы по уровню и по названиям.
Модуль от Игрософт приведен в качестве примера, на основе которого было сделано.
- - - Добавлено - - -
У меня тоже нет 208-ногих максов, тем более на шилдах от игрософт...
Обеспечить желающих сможете?
На али уже всех что ли забанили/
Печатную плату можно сделать ибо файлы их есть. Вон можно Павла Рябцова попросить их сделать если надо.
P.S. Если идея окажется удачной, то можно будет по такому принципу тот же Sam Coupe попробовать сделать или к примеру такую же плату на ВМ80 (например клон Ориона)
Anubis_OD
24.08.2017, 11:49
Мне интересен это комп.. как и многое, что сделал Михаил.
CodeMaster
24.08.2017, 12:58
А всю логику пихать в сменный модуль с ПЛИС (CPLD)
И можно иметь их несколько, что бы не прошивать под новую конфу, а просто сменить.
Если идея окажется удачной, то можно будет по такому принципу тот же Sam Coupe попробовать сделать или к примеру такую же плату на ВМ80
В теме про ZXM-Alcyon поднимался вопрос о конфигурациях других Z80 компов на плате Игрософта, но помница ты грил, что там это нереально. Тут тоже по факту плата уже сделана, но в принципе можно сделать материнские платы типа Z80 based и i8080 based под ПЛИС-модуль от Игрософта и запустить на них весь спектр этих компов?
Дело в том, что мысли вы так и не уловили.
Цитирую себя:
А всю логику пихать в сменный модуль с ПЛИС (CPLD)
Иными словами, никто не запрещает сделать под себя необходимый модуль с необходимой ПЛИС (CPLD). Это необязательно может быть Altera и необязательно EPM3256(EPM3512).
Тут важно чтобы сигналы были совместимы по уровню и по названиям.
Модуль от Игрософт приведен в качестве примера, на основе которого было сделано.
- - - Добавлено - - -
На али уже всех что ли забанили/
Печатную плату можно сделать ибо файлы их есть. Вон можно Павла Рябцова попросить их сделать если надо.
P.S. Если идея окажется удачной, то можно будет по такому принципу тот же Sam Coupe попробовать сделать или к примеру такую же плату на ВМ80 (например клон Ориона)
я готов тебя поддержать ,окромя голодовки, но это лично, не нравится идея 208 ног и CPLD, сурово
с другой стороны, там все общем ложится.
HardWareMan
24.08.2017, 13:55
Ну что вы в самом деле. Мик сделал свой аналог WaveShare (http://www.waveshare.com/product.htm) с карточными играми и куртизанками, ну и заточкой под тему форума. Почему бы и нет?
я готов тебя поддержать ,окромя голодовки, но это лично, не нравится идея 208 ног и CPLD, сурово
Нету конкретики, что тебе тут конкретно не нравиться?
не нравится 208 ног и CPLD, вроде сказал
И можно иметь их несколько, что бы не прошивать под новую конфу, а просто сменить.
Вот уважая, человек понял смысл такой железки. Это один из вариантов.
В теме про ZXM-Alcyon поднимался вопрос о конфигурациях других Z80 компов на плате Игрософта, но помница ты грил, что там это нереально. Тут тоже по факту плата уже сделана, но в принципе можно сделать материнские платы типа Z80 based и i8080 based под ПЛИС-модуль от Игрософта и запустить на них весь спектр этих компов?
Плата Игрософт по сути непригордна к постороению других компов пот принципу "из коробки". Тоесть ни один комп из нее не получиться не переделывая - видели сколько там пришлось проводов паять.
Тут по сути за базу взят ZX Spectrum с его шинамии. Но никто не мешает поменять кварц, сделать свои адаптеры и сварганить свой комп.
По сути я уже сказал, это как Ардуино, но в пространстве Z80 :)
Приведу пример. Для начала я попробую конфу Пентагон 128кб ОЗУ. Из имеющегося мы впихиваем почти полный комп, тоесть возможность загружать с ленты уже есть, так как магнитофонный вход есть.
Нужен контроллер дисковода. Тут два пути:
1) ставим внешний контроллер в слот
2) делаем контроллер бутербродом над или под ПЛИС.
Ну и так в зависимости от своих потребностей. По сути это приглашение к творчеству.
Ну что вы в самом деле. Мик сделал свой аналог WaveShare (http://www.waveshare.com/product.htm) с карточными играми и куртизанками, ну и заточкой под тему форума. Почему бы и нет?
Ну тут есть кому,но лень в 240 запихать :)
не нравится 208 ног и CPLD, вроде сказал
Кто мешает поставить свой модуль FPGA со 144 или 160 ногами. Ненужные сигналы ты просто глушишь, в зависимости от схемы, либо на землю, либо на питание.
Кто мешает поставить свой модуль FPGA со 144 или 160 ногами. Ненужные сигналы ты просто глушишь, в зависимости от схемы, либо на землю, либо на питание.
Дык я о том, кто осилит, 4 платы, пылить если есть и не тратиться, вопросы?
Дык я о том, кто осилит, 4 платы,
Какие 4 платы?
ееее мое, на как хорошо на другом форуме,можно сказать,все
ееее мое, на как хорошо на другом форуме,можно сказать,все
Я вот не пойму где я что сделал не так. Ты во всех постах выражаешь лютое недовольство, только я вот никак не догоняю - в чем я то провинился. Не нравятся мои поделия, делайте свои, как вам нравится с обилием ног или без них.
CodeMaster
24.08.2017, 15:58
и сварганить свой комп.
Но это в любом случае будет клон ZX Spectrum, а я про то, можно ли материнку сделать универсальной, что бы получились, например, и MSX и Amstrad CPC на её базе?
Ты во всех постах выражаешь лютое недовольство
Я, чес гря, смотрю на его посты и думаю: не хакнули ли аккаунт Totem'а? Обычно он изъясняется понятным языком ;-)
Но это в любом случае будет клон ZX Spectrum, а я про то, можно ли материнку сделать универсальной, что бы получились, например, и MSX и Amstrad CPC на её базе?
Универсальную материнку сделать конечно можно, пользоваться ей будет не особо удобно. И прежде всего из-за разных системных шин.
Если заметил на этой плате присутствует 2 слота Nemo Bus, что уже стандарт для наших поделий. И краевой для любителей фирменных девайсов (Divide и так далее)
По аналогии, если я захочу Sam Coupe, то опять же 2 слота будут Nemo Bus и краевой слот будет Sam Coupe bus.
Также для MSX и Amstrad CPC. Кроме того, если Sam Coupe по клавам аналогичны (подход), то в MSX и Amstrad CPC клавы присоединяются через ВВ55 и AY (для Amstrad)
Если все шины и варианты клав включать в плату, то она получится мягко скажем чуть больше. :)
Прелесть этой платы в ее размерах 170x170мм :)
Просто у меня нет, комплекса "пойфлеймить " :v2_dizzy_christmas2 :
в цель,доставить)
CodeMaster
24.08.2017, 16:52
Если все шины и варианты клав включать в плату, то она получится мягко скажем чуть больше.
Да, без клав конечно не обойтись, а шины все-то конечно на плату не надо, если только так же вторым этажом ставить "адаптер шины" с некого универсального варианта. Тем более внешняя шина не всем нужна, но я понял, что "это уже совсем другая история".
Тем более внешняя шина не всем нужна, но я понял, что "это уже совсем другая история".
Ну это да, кому то нужна, а кому нет. Мне лично из них нужна только Nemo Bus. :)
P.S. Еще отмечу, возможно сразу отпадут вопросы, а почему - я делаю на тех элементах, которые у меня есть или на тех, которые мне интересны посмотреть. :)
omercury
24.08.2017, 19:48
Я вот не пойму где я что сделал не так.
Везет, я вообще ничего не понял...
omercury
24.08.2017, 23:56
На али уже всех что ли забанили
Не, не забанили.)))
Только EPM3256 там находятся максимум в 144-ногом корпусе, а 3512 не находятся вовсе.
Да и смысла в покупке устаревших Максов не вижу, особенно при наличии многоногих Циклонов.)))
С другой стороны разговор бессмыслен хотя бы потому, что всё уже готово, а если бы и не было готово, то всё равно было бы сделано по-своему.
Вам же надо куда-то утилизировать накопленное. :)
Вам же надо куда-то утилизировать накопленное.
Точно. :)
Только EPM3256 там находятся максимум в 144-ногом корпусе, а 3512 не находятся вовсе.
Да и смысла в покупке устаревших Максов не вижу, особенно при наличии многоногих Циклонов.)))
Опять же никто не запрещает развести сменную платку со своей ПЛИС или CPLD, я как бы уже писал выше.
omercury
25.08.2017, 08:27
Опять же никто не запрещает развести сменную платку со своей ПЛИС или CPLD
В случае с FPGA теряется смысл шилда - пайка много надёжнее PLC/PLD разъёмов, вносящих к тому же свои помехи и ограничивающих частоты. Разве только использовать готовые Core-блоки, коих на том же алиэкспрессе великое множество.
Загрузка конфигурации всё равно производится при каждом включении питания, уж лучше поставить какой-нибудь МК и грузить желаемую конфу им. Впрочем это неоднократно уже сделано.
В случае с FPGA теряется смысл шилда - пайка много надёжнее PLC/PLD разъёмов, вносящих к тому же свои помехи и ограничивающих частоты. Разве только использовать готовые
Ну собственно тебе никто не запрещает так делать, а я вот решил попробовать так.
omercury
25.08.2017, 09:08
Ну собственно тебе никто не запрещает так делать...
А я, собственно, так и делаю.)))
Я вот не пойму где я что сделал не так. Ты во всех постах выражаешь лютое недовольство, только я вот никак не догоняю - в чем я то провинился. Не нравятся мои поделия, делайте свои, как вам нравится с обилием ног или без них.
Михаил все, нормально, просто это лично мое мнение -CPLD и 208 ног, это чуть сложно, эксклюзив я бы сказал. Я не порицаю и не осуждаю, есть идея сделать "полный экслюзив", аля АY-CUBE
т.е. маленькая платка 10x10 или меньше , c "железячным" z80 и "немо бусом", который смотрит еще и вертикально, на втором этаже "турбосонд" и "сса" и батарейка ампере на 2000-3000.
Корпус стилизован под классику ZX, хоть и кубик, АY подсвечивает "спековскою радугу" цветов, верхняя крышка с экраном, съемная, она выступает в роли "джоябеспроводного" и пульта для переключения треков.
Останавливает только сложность изготовления корпуса и пульта панели клавиш, моделисты мне сделают ручками штук 10, частично эти расходы компенсирутся железяками, которые есть на серию в наличии.
И конечно "беспроводка" и естественно нужность такого девайса еще кому-то. К ящику подключение scart и pal кодер.
Гы гы, 4 страницы обсуждений что я рукожоп и 208 ног это уже не модно. Увы мои руки из плюша и BGA корпуса я не умею паять.
Так что как то так.
P.S. Похоже идея правильная, раз подвергли абструкции.
Типа из классики:
— Вы купили новые сапоги, Вера?
— Да вот ещё не решила, Людмила Прокофьевна. Вам нравится?
— Очень вызывающие. Я бы такие не взяла. А на вашем месте интересовалась бы сапогами не во время работы, а после неё.
— Значит, хорошие сапоги, надо брать.
Гы гы, 4 страницы обсуждений что я рукожоп и 208 ног это уже не модно. Увы мои руки из плюша и BGA корпуса я не умею паять.
Так что как то так.
Ты не понял еще раз, просто у меня это железо пылиться в упаковке, часть я раздал, а барыжить ими мне совесть не позволяет. Есть задел по "железякам", которые можно использовать в идее, что я предложил выше.
Я не ругаться и не флеймить пришел в ветку, а предложить идею, концепт и железо. На мой взгляд интересный, а ты у нас единственный, кто делает действительно интересные машинки. Может попробовать сделать не просто плату, а законченный целиком и продуманный продукт? :)
Я не ругаться и не флеймить пришел в ветку, а предложить идею, концепт и железо. На мой взгляд интересный, а ты у нас единственный, кто делает действительно интересные машинки. Может попробовать сделать не просто плату, а законченный целиком и продуманный продукт?
Я пока не понял что ты хочешь. Законченных и целиковых плат вроде сейчас много. Распиши конкретику своей идеи, на чем делается, что включает, какие размеры. Что в итоге ты хочешь получить.
Пока от тебя идут обрывочные мысли, но я увы не телепат и тупо не могу понять о чем речь.
Я пока не понял что ты хочешь. Законченных и целиковых плат вроде сейчас много. Распиши конкретику своей идеи, на чем делается, что включает, какие размеры. Что в итоге ты хочешь получить.
Пока от тебя идут обрывочные мысли, но я увы не телепат и тупо не могу понять о чем речь.
Да я понимаю, что словами трудно объяснить, вот для наглядности
https://c.dns-shop.ru/thumb/st1/fit/wmdexp/800/650/75772f03166d48ad5fcaa13e8bae978b/e67b01d342b9f4f8d132ff79b772c010aa789c34822b5cda0c 120e3a572bad9a.jpg
но корпус стилизован под классическую "резинку",
цвета подсвечиваются от игры AY, внутри все "натуральное"
http://i0.wp.com/www.retrogamescollector.com/wp-content/uploads/2013/09/spec-microdrive-800.jpg?resize=834%2C346
Такой красивый кубик мобильный.
Обсудим, если интересно.
"ЦЫнус в том", что есть "немобас", куда можно поставить , "нудико например" ULAX или любую другую карту. Как идея? Кому нравится говорите да, кому нет -нет :)
Как идея? Кому нравится говорите да, кому нет -нет
Я бы порекомендовал тебе создать новую тему, ибо это никак не соответствует этой теме. А то в этой теме будет каша непойми о чем.
CodeMaster
25.08.2017, 14:15
Я пока не понял что ты хочешь.
Сегодня уже лучше, но мысль прям ускользает из рук ;-)
т.е. маленькая платка 10x10 или меньше
можно поставить , "нудико например" ULAX или любую другую карту
Не знаю какого размера у вас ULAX получится, но в 10х10 войдёт пожалуй только Z-Controller
Такой красивый кубик мобильный.
Красивый может быть, а мобильный то зачем?
Как идея?
Да пока пытаемся понять о чём она ;-)
- - - Добавлено - - -
ибо это никак не соответствует этой теме.
Да, видимо надо вынести посты Totem'а в отдельную тему.
Я так понимаю его в эту тему привело это:
а ты у нас единственный, кто делает действительно интересные машинки
Я бы порекомендовал тебе создать новую тему, ибо это никак не соответствует этой теме. А то в этой теме будет каша непойми о чем.
Согласен, но не буду, это повод заинтересовать лично тебя и тех кому интересен такой формат, выше головы не прыгнешь, я сейчас могу ходить и сидеть, но осталось много не реализованных идей и "железок", очень бы хотелось
хоть часть воплотить в реалии :)
Согласен, но не буду, это повод заинтересовать лично тебя и тех кому интересен такой формат, выше головы не прыгнешь, я сейчас могу ходить и сидеть, но осталось много не реализованных идей и "железок", очень бы хотелось
хоть часть воплотить в реалии
Ну вот, как сказал Codemaster - Сегодня уже лучше, но мысль прям ускользает из рук
Вот взяли мы DEXP Music box выкинули оттуда потроха и туда пытаемся впихнуть что?
внешний AY c цветомузыкой или комп целиком да еще с беспроводным джойстиком. И это все в 100х100мм и питаться от аккумулятора. И еще чтобы было все реальным (Z80, AY и так далее)
Там только AY c Z80 сожрут аккум в момент.
CodeMaster, Знаешь в чем разница между нами? тоже люблю " пофлеймить и потроллить", я предлагаю не мифическую "химеру", а реальную идею поддержанную железом, заметь за которое платить не надо и готовой прошивкой, просто потому как Миша ее уже сделал, можно написать любую фигню и все ее обсуждать будут, страниц на 20. Предлагаешь реальную вещь, опять толололло.
- - - Добавлено - - -
Ну вот, как сказал Codemaster - Сегодня уже лучше, но мысль прям ускользает из рук
Вот взяли мы DEXP Music box выкинули оттуда потроха и туда пытаемся впихнуть что?
внешний AY c цветомузыкой или комп целиком да еще с беспроводным джойстиком. И это все в 100х100мм и питаться от аккумулятора. И еще чтобы было все реальным (Z80, AY и так далее)
Там только AY c Z80 сожрут аккум в момент.
:)
емое, ты читал или смотрел между строк?
да это куб, платы расположены вертикально, сами естественно "экслюзивные", но на основной, скажем 10x10, есть "немобас" стандартный, все "натуральное" -это значит "железные" z80 и АY турбо, SAA "живут вторым этажом", карту с батарейкой
ставить не обязательно, карта с "беспроводкой" выполняет роль крышки и джоя.
CodeMaster
25.08.2017, 15:12
емое, ты читал или смотрел между строк?
Короче, Михаил, ты можешь сделать Totem'у конструктив ZX Spectrum в форм-факторе 10х10х10 см. что бы там ещё осталось место под одну карту расширения Nemo Bus? Ответь уже, да или нет?
Короче, Михаил, ты можешь сделать Totem'у конструктив ZX Spectrum в форм-факторе 10х10х10 см. что бы там ещё осталось место под одну карту расширения Nemo Bus? Ответь уже, да или нет?
Я могу и сам сделать , емое, честное слово форумы нужны чтоб сраться, у Миши готовая прошивка под 3000 альтерки, у меня есть давно "выношеная идея", да плата 4 слойная, тебя это удивляет? Не хочу ругаться, но ты сейчас напоминаешь мне
vlad'а, ровно такой подход- "все что я делаю круто, я не знаю как сделано у вас, но вы *****" :) или shurik-ua -пишешь ему "ты должен сделать" в контексте железяки, а он воспринимает это- как его заставляют делать. :) и гордо плюясь уходит.
у Миши готовая прошивка под 3000 альтерки
Ну допустим есть, дальше что, где схема, куда ее лить то будем. Пока мы топчемся на месте, а тем временем я уже запаял свою плату и завтра пойду в гараж ее отмывать от флюса.
- - - Добавлено - - -
но на основной, скажем 10x10, есть "немобас" стандартный, все "натуральное" -это значит "железные" z80 и АY турбо, SAA "живут вторым этажом"
Так попытаемся еще раз понять:
1. Размеры плат 100х100 мм - их как минимум 2 или 3
2. Основная плата имеет z80, ПЗУ, ОЗУ и ПЛИС
3. Звуковая карта с AY турбо и SAA - короче ZXM-SoundCard Extreme -только в другом размере
4. С чего грузиться - тоесть карта накопителей.
5. Какая то хрень должна еще цветомузыкой прикидываться
И еще нужен Nemo Bus и все это в 10х10
Ну допустим есть, дальше что, где схема, куда ее лить то будем. Пока мы топчемся на месте, а тем временем я уже запаял свою плату и завтра пойду в гараж ее отмывать от флюса.
- - - Добавлено - - -
Так попытаемся еще раз понять:
1. Размеры плат 100х100 мм - их как минимум 2 или 3
2. Основная плата имеет z80, ПЗУ, ОЗУ и ПЛИС
3. Звуковая карта с AY турбо и SAA - короче ZXM-SoundCard Extreme -только в другом размере
4. С чего грузиться - тоесть карта накопителей.
5. Какая то хрень должна еще цветомузыкой прикидываться
И еще нужен Nemo Bus и все это в 10х10
ты удивишься, но схема у тебя есть уже :)
10x10 это, то что я могу сделать лутом -рукоделием, меньше.
да примерно так, помнишь я тебе высылал фоту драм? срам на 10 машинок у меня не хватит.
"цвтомузыка", ну атмега,
Вещь "статусная" и стильная, может выступать просто будильником под Тима Фолина :)
"ядро" такое
http://cdn1.savepice.ru/uploads/2017/8/25/26a55d487e33ce5fcfdab4ff5fd1140b-prev.jpg (http://savepice.ru/full/2017/8/25/26a55d487e33ce5fcfdab4ff5fd1140b-full.jpg.html)
ты удивишься, но схема у тебя есть уже
Может и удивлюсь, но схем у меня столько, что сам уже не помню.
Я не должен из тебя клещами инфу выдергивать, кому нужно то больше мне или тебе.
Может и удивлюсь, но схем у меня столько, что сам уже не помню.
Я не должен из тебя клещами инфу выдергивать, кому нужно то больше мне или тебе.
Миша у тебя буквально все уже есть, на сайте если забыл, велосипед не изобретаем, просто используем наработки и дармовое железо.
Но в формате не платы, а "стильного компика", который не стыдно подарить победителям любого феста по тематике ZX, да и просто потролить народ за кружкой пива в баре:) c айфончиками :)
Миша у тебя буквально все уже есть, на сайте если забыл, велосипед не изобретаем, просто используем наработки и дармовое железо.
У меня много чего на сайте есть, я пытаюсь услышать твое ТЗ на комп, какое железо планируется, какой объем ОЗУ, ПЗУ и так далее.
Либо ты сформулируй что ты хочешь и на чем это буде, либо я мысли читать на расстоянии не могу, а посему даже
- а ты у нас единственный, кто делает действительно интересные машинки - не в силах что то сделать.
У меня много чего на сайте есть, я пытаюсь услышать твое ТЗ на комп, какое железо планируется, какой объем ОЗУ, ПЗУ и так далее.
Либо ты сформулируй что ты хочешь и на чем это буде, либо я мысли читать на расстоянии не могу, а посему даже
- а ты у нас единственный, кто делает действительно интересные машинки - не в силах что то сделать.
Да все стандартно - зефирка, джаспер, фото "ядра ", есть тут. Есть нюансы, на которые меня точно не хватит, но если тебе интересно и еще кому, можем сделать.
omercury
25.08.2017, 20:27
аля АY-CUBE
Ай да Totem, ай да suk... ну вы в курсе.
На ходу подмётки режет!
Ай да Totem, ай да suk... ну вы в курсе.
На ходу подмётки режет!
Спасибо за комплимент, но я не "сном ни духом", не в курсе, о твоем скриншоте и проекте.
Мой пересекается с твоим?
ну без шуток?
фото "ядра ", есть тут
Если ты про фото, которое ты запостил несколькими постами выше, то там нефига не видно что там за микросхемы. Ну Z80 в TQFP корпусе я понял, а ядро твое какое размазанное.
Если ты про фото, которое ты запостил несколькими постами выше, то там нефига не видно что там за микросхемы. Ну Z80 в TQFP корпусе я понял, а ядро твое какое размазанное.
EPM 3256 144, мы это уже обсуждали, в ветке другой.
Alex Rider: Здесь было сообщение, нарушающее правила форума о недопустимости нецензурной лексики.
EPM 3256 144, мы это уже обсуждали
Хорошо, узнали что за ядро - EPM3256ATC144
процессор Z80 в TQFP
Какая память и объем?
- - - Добавлено - - -
Есть нюансы, на которые меня точно не хватит
Что за ньюансы?
CodeMaster
25.08.2017, 21:35
да плата 4 слойная, тебя это удивляет?
10x10 это, то что я могу сделать лутом -рукоделием
Да, если ЛУТом, то удивляет.
Хорошо, узнали что за ядро - EPM3256ATC144
процессор Z80 в TQFP
Какая память и объем?
- - - Добавлено - - -
Что за ньюансы?
Ты наверное не помнишь, писал уже о этом.
можно забрать отседа драм
http://zx-pk.ru/threads/14041-radost-dnya).html?p=909543&viewfull=1#post909543
будет бюджетно совсем, пол палеты 3256 и z80 и ног хватит.
Нюанс простой, я не знаю как и на чем сделать "беспроводку".
omercury, сама идея родилась очень давно, когда Женька, он же Ewgeny7
в шутку предложил упихать все в пачку сигарет, я конечно тоже посмеялся, но так вот сложилось, что Миша растерзал "игрософт", железо есть и концепт дизайна и прошивки писать не надо, поправить.
- - - Добавлено - - -
Да, если ЛУТом, то удивляет.
трололо
там фото вроде есть на форуме, могу текстолитом 0,8 мм поделиться, осталось много, я не говорю, что нужно повторять мои эксперименты по производству лутом 4 слоя, это еще тот "икспирианс", но сам комп да, 4 слоя, вот здоровая штука как Pent 666, не удивляет, сколько там сломано копий и всего прочего :)
omercury
25.08.2017, 22:28
Мой пересекается с твоим?
Кроме названия и концепта почти ничем.
Мой только горизонтальный.
Всё ещё борюсь между 18.7к-ячейками EP2C20Q240 и 185 IO EP1C6Q240... ;)
OrionExt
25.08.2017, 22:34
Вообще не понятно о чем разговор. Было предложено некую хрень от игрового афтомата применить в разрезе ZX. И тут началось.
Кроме названия и концепта почти ничем.
Мой только горизонтальный.
Всё ещё борюсь между 18.7к-ячейками EP2C20Q240 и 185 IO EP1C6Q240... ;)
Ну в другом проекте, я борюсь с ногами и жадностью, он очень важен, а главное на порядки интересен, но и этот я не могу оставить, они вообщем связаны в общую цепочку. в 20 ног меньше. :)
- - - Добавлено - - -
Вообще не понятно о чем разговор. Было предложено некую хрень от игрового афтомата применить в разрезе ZX. И тут началось.
Ммм, нет, ухаха почему все понимается наоборот?
omercury
25.08.2017, 22:44
в 20 ног меньше.
140
минус отдельный канал памяти.
В принципе тоже немало и бОльшая часть периферии в него уместится.
140
В принципе тоже немало и бОльшая часть периферии в него уместится.
туда все "лызе без сметаны", стесняюсь спросить- это амига там жить будет?
omercury
25.08.2017, 23:04
он очень важен, а главное на порядки интересен
Наслышан.
Но уж больно дикие требования к памяти.
...впрочем ещё не полностью понимаю, что меня ждёт в плане графики. Походу придётся отдельным чипом выносить.
- - - Добавлено - - -
туда все "лызе без сметаны", стесняюсь спросить- это амига там жить будет?
GMX там будет жить в виде скалера с рендером с увеличением разрядности цветов да оверлей на сервис монитор и функции накопителей через ДМА.
А комп... планирую загружаемые конфиги. Посмотрим, на что ума и времени хватит.
Наслышан.
Но уж больно дикие требования к памяти.
...впрочем ещё не полностью понимаю, что меня ждёт в плане графики. Походу придётся отдельным чипом выносить.
да в этом есть проблема, но решаемая, если ты о том проекте, а графика, ну ... 14 игрушек, за 3 месяца, сделаны практически одним человеком, точнее они выглядят совсем по другому, если мы не ошибаемся, то 3,5 или 7 -хватит всем :)
omercury
25.08.2017, 23:26
14 игрушек, за 3 месяца
Вот именно без этого и хотелось бы обойтись.
Уж очень неблагодарное занятие.
Наслышан.
Но уж больно дикие требования к памяти.
...впрочем ещё не полностью понимаю, что меня ждёт в плане графики. Походу придётся отдельным чипом выносить.
- - - Добавлено - - -
GMX там будет жить в виде скалера с рендером с увеличением разрядности цветов да оверлей на сервис монитор и функции накопителей через ДМА.
А комп... планирую загружаемые конфиги. Посмотрим, на что ума и времени хватит.
он там просто не нужен, там по дефолту 15 бит цвета, спек даже не знает, что его видео контроллер есть, а если подозревает, то точно не знает, что он не нужен :)
- - - Добавлено - - -
Вот именно без этого и хотелось бы обойтись.
Уж очень неблагодарное занятие.
чудес не бывает, просто идеи и реализация проще и доступнее, чем все предложенное ранее.
и позволяет использовать весь запас игр ZX, не вмешиваясь в код, как миниум, но это другая ветка и о другом :)
OrionExt
25.08.2017, 23:44
Кто шпилит тут соберет за вечер. Любую конфигурацию ZX и черта лысого
Кто шпилит тут соберет за вечер. Любую конфигурацию ZX и черта лысого
одно дело собрать на коленке и з0пихать в корпус от модема, другое дело сделать действительно, 'статусную вещь', которая будет радовать и глаз и ухо ,и важно, что не напряжно по затратам и время есть этим заниматься.
omercury
26.08.2017, 00:27
Кто шпилит тут соберет за вечер.. .
Устраивается блондинка на работу в офис…
- Что Вы умеете делать? - спрашивают блондинку…
- Я умею быстро печатать!
- Сколько знаков в минуту печатаете?
- Ну, примерно, 1500 знаков в минуту…
- ООО!
- Но, вот, только в результате, такая фигня получается…
Ты наверное не помнишь, писал уже о этом.
можно забрать отседа драм
Хорошо, определились с :
1. EPM3256ATC144
2. Z80 в квадратном планаре
3. ОЗУ DRAM 1Mx4 - 2 микросхемы, общей емкостью 1Мб
Что за ПЗУ, какой емкостью? С чего будешь грузить программы, на чем клава. Мне что опять надо вытягивать клещами спецификацию твоего компа?
- - - Добавлено - - -
Нюанс простой, я не знаю как и на чем сделать "беспроводку".
Что должна делать беспроводка?
У китайцев есть готовые модули на bluetooth, Wi-fi, ZigBee
Софтово поддержишь?
Хорошо, определились с :
1. EPM3256ATC144
2. Z80 в квадратном планаре
3. ОЗУ DRAM 1Mx4 - 2 микросхемы, общей емкостью 1Мб
Что за ПЗУ, какой емкостью? С чего будешь грузить программы, на чем клава. Мне что опять надо вытягивать клещами спецификацию твоего компа?
- - - Добавлено - - -
Что должна делать беспроводка?
У китайцев есть готовые модули на bluetooth, Wi-fi, ZigBee
Софтово поддержишь?
ПЗУ в plcc32, тут выбор не велик, объем любой. Есть и флэшЪ в tsop корпусах.
Ребята с ТS уже сделали и софтом поддержали для EVO Wi-фи.
"Хотелка" в основном в беспроводном джое, он же крышка корпуса и пульт.
Вообщем задачка та еще.
И еще нюанс, "упихать" звуковую в такой формат.
Пока Totem мучительно выдавливает из себя что он хочет, тем временем плата отмыта, просушена и приготовилась к фотосессии/
http://s04.radikal.ru/i177/1708/89/02c6181d6382t.jpg (http://radikal.ru/big/kqfcy2e0rc2i4)
http://s019.radikal.ru/i630/1708/77/4a70ea7df2a5t.jpg (http://radikal.ru/big/7195lsx8670lm)
А вот с верхней платой
http://i013.radikal.ru/1708/0a/207af58b41f0t.jpg (http://radikal.ru/big/t0mtabnpk6myb)
И как же без косяков, верхняя плата получилась слишком низко села и шлейф джопстика некуда пихать, да и JTAG разъем верхней платы упирается о AY. Кроме того, с другой стороны CPLD упирается на микросхемы OЗУ, если они в панельке.
Итог, надо в качестве разъемов на нижней плате использовать более высокие нежели обычные PBD.
http://i053.radikal.ru/1708/6e/ca4c8869cf0et.jpg (http://radikal.ru/big/dvlfhou2gelm9)
При построении своих модулей надо это учесть. И чтобы была возможность бутербротизировать, то вот такие разъемы возможно будут лучшим решением - https://ru.aliexpress.com/item/10Pcs-2-54mm-Pitch-2x20-Pin-40-Pin-Female-Double-Row-Long-Pin-Header-Strip-PC104/32763684715.html
omercury
26.08.2017, 15:46
Михаил, извиняюсь за офтоп, но надо закончить, раз уж началось уже...
он там просто не нужен, там по дефолту 15 бит цвета
У спека по-умолчанию 16 цветов и 256х192.
Попробую на пальцах.
https://github.com/brunexgeek/hqx
- - - Добавлено - - -
И как же без косяков:)
При построении своих модулей надо это учесть. И чтобы была возможность бутербротизировать, то вот такие разъемы возможно будут лучшим решением - https://ru.aliexpress.com/item/10Pcs-2-54mm-Pitch-2x20-Pin-40-Pin-Female-Double-Row-Long-Pin-Header-Strip-PC104/32763684715.html
от именно так, требует очень тщательного и трепетного подхода :)
- - - Добавлено - - -
Михаил, извиняюсь за офтоп, но надо закончить, раз уж началось уже...
У спека по-умолчанию 16 цветов и 256х192.
Попробую на пальцах.
https://github.com/brunexgeek/hqx
- - - Добавлено - - -
:)
удалил случайно, вырвано из контекста в фразе о другом проекте, очень не хорошо так делать. :)
Ну на лицо обычное не понимание, отсюда убери если не трудно.
от именно так, требует очень тщательного и трепетного подхода
Ой да ладно, не ошибается тот кто тут в теме флейм разводит, а мы создаем себе трудности и героически их преодолеваем.
И да, заканчивайте флеймить не по теме, меру надо знать, а то придется звать модератора и чистить тут все.
Ой да ладно, не ошибается тот кто тут в теме флейм разводит, а мы создаем себе трудности и героически их преодолеваем.
И да, заканчивайте флеймить не по теме, меру надо знать, а то придется звать модератора и чистить тут все.
а я не флеймлю, я предлагаю сделать,еще более интересную вещь, ты воспринимаешь это, как стеб.
а я не флеймлю, я предлагаю сделать,еще более интересную вещь, ты воспринимаешь это, как стеб.
Ты предлагаешь сделать только на словах. Я что должен сам все делать. Кому это нужнее, мне или тебе. Тут либо участвуешь реально в процессе, либо на том и закончим. Просто тут теоретиков очень много, которые говорят как правильно надо делать, но в реальности ничего на выходе.
Ты предлагаешь сделать только на словах. Я что должен сам все делать. Кому это нужнее, мне или тебе. Тут либо участвуешь реально в процессе, либо на том и закончим. Просто тут теоретиков очень много, которые говорят как правильно надо делать, но в реальности ничего на выходе.
Я прекрасно понимаю, что идей у всех полно.
И не говорю - "Миша делай! Я знаю точно так надо!" :v2_finge::v2_biggr: :v2_biggr:
Я предлагаю использовать абсолютно бесплатный задел по "железякам" и практически уже готовые прошивки из твоих проектов.
Это просто удобно и быстро.
Компик с оригинальным корпусом, беспроводным джойстиком и "немобасом".
Если такая идея интересна и найдется время, можно обсудить и сделать.
А делать просто реплику, твой реплики игрософта весьма смешно получится. :)
А как лицезреть схему компьютера в pdf? Ссылка http://micklab.ru/file/zxm_jasper/zxm_jasper_00.pdf не работает.
Прикольно, информацию запостил кучу месяцев и никто ничего не сказал. Видимо неинтересно. Ну да ладно.
Спасибо, что заметил. Теперь можешь смотреть. :)
omercury
28.08.2017, 00:44
Прикольно, информацию запостил кучу месяцев и никто ничего не сказал. Видимо неинтересно.
А что, есть какая-либо принципиальная разница, к какому именно выводу ПЛИС подключен тот или иной вывод процессора? :)
Всё интересное в прошивке, которой нет...)))
Всё интересное в прошивке, которой нет...)))
Основа прошивки это все что было озвучено в теме про надругательство над Игрософтом. Тут только в основном пины будут по другому расставлены. А те прошивки были доступны тоже очень давно.
Заказал на али разъемы с длинными выводами, буду потом поднимать. А пока немного обновил файлы на странице http://micklab.ru/My%20Computer/ZXMJasper.htm
Добавил перечень элеменов и сборку, ну и заодно схему и печатку игрософтовского модуля именами цепей заточенные конкретно под Яшму.
Кстати обнаружил еще один косячек, расстояния между разъемами игрософтовского модуля немного меньше оказались нежели на Яшме. Приходится вставлять внатяг.
Также в плане нарисовать пару своих модулей. Один свой вариант разводки EPM3256AQC208 (возможно и EPM3256ATC144 для примера) и второй контроллер флопика.
(возможно и EPM3256ATC144 для примера)
не знаю твоего мотива, но не трать время.
не знаю твоего мотива, но не трать время.
Ну если не знаешь мотива, что тогда советуешь не тратить время.
Ну если не знаешь мотива, что тогда советуешь не тратить время.
исхожу из контекста прошлой беседы тут и памятуя разбор, что можно туда "втолкать", а что будет на другой логике, это тоже было, но опять забыто, благодаря троллло и прочим, сопутствующим этому форуму прелестям.
Я не тролю и не шучу.
исхожу из контекста прошлой беседы тут и памятуя разбор, что можно туда "втолкать", а что будет на другой логике, это тоже было, но опять забыто, благодаря троллло и прочим, сопутствующим этому форуму прелестям.
Я не тролю и не шучу.
Странный ты конечно. А не думал, что допустим я захочу собрать следущим такой же комп на ВМ80 к примеру. А модуль как бы уже готов - не изобретать другой.
К тому же такой подход позволяет пробовать новые ПЛИС не разводя громоздких плат. И как понял ты со своим миникомпом слился.
Тоесть порассуждал и все, делать не стал.
omercury
31.08.2017, 14:48
И как понял ты со своим миникомпом слился.
Ага.
В экстазе.
Может пусть лучше свою ЮЛАХу доделают? :)
- - - Добавлено - - -
допустим я захочу собрать следущим такой же комп на ВМ80 к примеру. А модуль как бы уже готов - не изобретать другой.
На мой взгляд было бы логично сделать наоборот - ПЛИС со всеми разъёмами на борде, а процессорный модуль съёмный.
На мой взгляд было бы логично сделать наоборот - ПЛИС со всеми разъёмами на борде, а процессорный модуль съёмный.
В Виду специфичности наших компов, то сменный модуль проца не подойдет. Скажем я хочу меть Орион и Спектрум, но они различны по строению и обвязке (разъемы)
omercury
31.08.2017, 19:08
Скажем я хочу меть Орион и Спектрум, но они различны по строению и обвязке (разъемы)
PS2/USB - клавомышь;
VGA/HDMI - монитор;
RCA/3,5/6 jack - звук;
DB9/DB25/USB - Джой;
FDD/HDD/SD/MMC/CF/USB- накопители;
RJ45/COM,LPT - коммуникации.
Что я упустил?
Ну что, смысл в одних разъемах. А если я хочу с разными ПЛИС или CPLD поиграться, то что плату с разъемами опять целиком переразводить?
omercury
01.09.2017, 00:18
Ну что, смысл в одних разъемах.
Именно.
Смысл в СТАНДАРТНЫХ разъёмах.
А если я хочу с разными ПЛИС или CPLD поиграться
Значит нужно делать MB со стандартными разъёмами и съёмными модулями отдельно под ПЛИС и под процессор.
Только чудес ждать не стОит, от плохоньких разъёмов будут помехи.
P.S.
ПЛИС - общее название программируемой логики, деление идёт а CPLD и FPGA. :)
HardWareMan
01.09.2017, 05:31
P.S.
ПЛИС - общее название программируемой логики, деление идёт а CPLD и FPGA. :)
Верно, только вот Альтера убивает эту разницу, выпуская MAX10.
Верно, только вот Альтера убивает эту разницу, выпуская MAX10.
так это вроде как уже INTEL
HardWareMan
01.09.2017, 14:32
Ынтель лишь продолжила то, что начала Альтерка.
omercury
01.09.2017, 15:22
Верно, только вот Альтера убивает эту разницу, выпуская MAX10.
Я лоханулся, а Вы не поправили.
CPLD = ПЛИС
Деление на PLA и FPGA как раз таки по степени интеграции.
И, кстати, никаких убийств: MAX 10 FPGA Device (https://www.altera.com/en_US/pdfs/literature/hb/max-10/m10_overview.pdf)
HardWareMan
01.09.2017, 15:45
omercury, если уж быть совсем занудой, то:
1. Не PLA а PAL: Programmable Array Logic. PAL подразумевает быть энергонезависимой с мгновенным включением (т.н. instant-on).
2. CPLD: Complex Programmable Logic Device. Это средняя ступень ПЛИС, по сути более ёмкий PAL, как по LE (Logic Element) так и по ножкам (Pin). Опять же, энергонезависимость и мгновенное включение.
3. FPGA: Field-Programmable Gate Array. Это высшая ступень интеграции ПЛИС. Для обеспечения гибкости она уже не энергонезависимая и требует время на включение (время конфигурирования). Это потому, что ячейка SRAM для бита конфигурации занимает гораздо меньше места и сигналов управления, нежели ячейка FLASH/PROM. Это так же влияет на ёмкость по количеству LE (LUT, LAB и т.д.).
Семейство MAX всегда позиционировалось как CPLD. Но MAX10 первый, кто выбивается из этого ряда. Мы это уже обсуждали (http://zx-pk.ru/threads/24003-spetsialist_mkh2-plm/page4.html): MAX10 это FPGA + конфигурационная память в одном корпусе. А значит, хоть она и энергонезависимая, но все же не с мгновенным включением.
Но MAX10 первый, кто выбивается из этого ряда.
MAX II же.
HardWareMan
01.09.2017, 16:55
MAX II же.
У MAXII тоже есть POR, 5 сотен микросекунд. Это же много меньше даже одной миллисекунды, верно?
OrionExt
01.09.2017, 17:58
Хватит флудить, а у меня есть (MAX X)….., скоро ждем MAX XX)….., XX. (это римские цифры 10 и 20, на всяк случай)
Странный ты конечно. А не думал, что допустим я захочу собрать следущим такой же комп на ВМ80 к примеру. А модуль как бы уже готов - не изобретать другой.
К тому же такой подход позволяет пробовать новые ПЛИС не разводя громоздких плат. И как понял ты со своим миникомпом слился.
Тоесть порассуждал и все, делать не стал.
Да я знаю, что странный, только очень странный человек будет безвозмездно отправлять посылки с золотыми железяками, например в Казахстан.
Нет не слился, подготовил библиотеки. Обязательства по другому проекту, еще сильно забирают много время и сборка феникса подвисла.
Заодно, нашел у себя EPM240 кучу, прикину чуть позже, может клавиатура PS/2 "залезет".
Кстати если будешь, делать на BM80, у меня есть КР1810ВК56, от щедрот, многоуважаемого Caro, у Евгения кстати он есть.
КР1810ВК56
Это что за хрень такая?
И кстати , ты свои DRAMины на 1мб распаивать будешь?
Это что за хрень такая?
И кстати , ты свои DRAMины на 1мб распаивать будешь?
это контроллер, типа такого.
https://www.amazon.co.uk/8MHZ-84C90-PLCC84-Z84C9008VSG-ZILOG/dp/B011ON4U52
но с ним еще никто не разбирался, по крайней мере, на форуме.
Нет, я платы не "дербаню", если надо выпаиваю микрухи нужные, плату на место. :)
тебе прислать плату?
Нет, я платы не "дербаню", если надо выпаиваю микрухи нужные, плату на место.
тебе прислать плату?
Плату мне не надо. Я хочу на модуле c EPM3256ATC144 сделать посадочное место под эти микрухи.
Плату мне не надо. Я хочу на модуле c EPM3256ATC144 сделать посадочное место под эти микрухи.
а смысл? без железа? мне все равно такое количество не утилизировать, их аж 3 штуки там по 60 чипов вроде, феном снять проблем особых нет. на симмы сгодятся и паять их проще народу чем SOJ.
а смысл? без железа?
Ну вот для модуля на пробу сгодятся :) Надо же попробовать их поюзать.
А пока вот мой вариант модуля с EPM3256AQC208 - это чтобы случаем не нарушить чьи то права.
Изменения по сравнению с оригинальным модулем Игрософта:
- CPLD теперь находится на верхней стороне
- изменена разводка, постарался сгруппировать ответственные сигналы.
- уменьшено количество конденсаторов.
- изменено посадочное место микросхемы ОЗУ
Картинки:
http://s03.radikal.ru/i176/1709/f4/55728ae7032ft.jpg (http://radikal.ru/big/hwzuuctfjuvb5)
http://s018.radikal.ru/i501/1709/18/fd2f20398fd3t.jpg (http://radikal.ru/big/ekwdyl77w05y9)
https://youtu.be/PEHSUZQuKGI
Адрес напомни в личку. :)
omercury
02.09.2017, 20:21
- уменьшено количество конденсаторов.
А вот это напрасно. Экономии на копейку, геморроя на рупь...
Поставьте хотя бы по одному на каждую пару выводов питания. Ну, не мне Вас учить.
Кстати, типоразмер 0201 лишнего места совсем не занимает и прекрасно паяется даже без маски.
А вот это напрасно. Экономии на копейку, геморроя на рупь...
Тут нет никакой экономии. Я могу те 4 кондера по углам перенести на обратную сторону. Пока не решил. Больше для этой CPLD хи ставить я думаю не стоит. И пока геморроя на рупь не наблюдал.
И да погляди где у Игрософта кондеры стоят - и блин работает же.
Возможно для ПЛИС там надо ставить больше, не спорю.
omercury
02.09.2017, 21:09
Я могу те 4 кондера по углам перенести на обратную сторону.
Сделайте хотя бы так, но тогда уж парные площадки поближе к пинам питания.
- - - Добавлено - - -
И да погляди где у Игрософта кондеры стоят
...и аж 4 (С2, С4-С6) параллельно где-то с краю.
;)
и блин работает же
Сам удивлён)))
- - - Добавлено - - -
UPD
парные площадки
В смысле под 2 конденсатора на 1-10n и 100-500n параллельно.
Гейты тут достаточно мощные и их весьма немало, фонить будут.
Лучше сделать по правилам и быть уверенным, что по крайней мере от этого глюков точно не будет.
Вот тебе снизу конденсаторы :)
http://s013.radikal.ru/i323/1709/a1/1b877a8f2f6dt.jpg (http://radikal.ru/big/ustjf1nknr2ms)
http://s11.radikal.ru/i183/1709/43/1418a35ff8c0t.jpg (http://radikal.ru/big/xyxfnl669d2yw)
omercury
02.09.2017, 21:18
Вот тебе снизу конденсаторы :)
:)
Михаил, это не мне.
Мне не надо.)))
Кстати, сразу не замерил, что тот огромный пад под ПЛИС оказывается плюсовой и кондёры были подключены к нему напрямую.
Можно было не париться, оставьте либо как было, либо как есть сейчас, либо и то и другое - без разницы.
Кстати, сразу не замерил, что тот огромный пад под ПЛИС оказывается плюсовой и кондёры были подключены к нему напрямую.
Можно было не париться, оставьте либо как было, либо как есть сейчас, либо и то и другое - без разницы.
Ну вот, только веник достанешь, а тут говорят не парится.
Вот еще один модуль. Теперь с контроллером дискогрыза на КР1818ВГ93
http://s019.radikal.ru/i603/1709/06/a8d2695cc246t.jpg (http://radikal.ru/big/jrx1hid8t8zoq)
http://s019.radikal.ru/i625/1709/74/dfbaca903248t.jpg (http://radikal.ru/big/a0o0vg1inmy4o)
Особенности:
- основан в основном на SMD компонентах.
- CPLD - EPM3032ATC44 (EPM3064ATC44)
- не формирует сигнал DOS и NMI, посему их надо формировать на борту компьютера
- КР1818ВГ93 можно заменить на MB8877A, тогда не надо будет впаивать детали отвечающие за питание +12В
Обновил информацию на страничке - http://micklab.ru/My%20Computer/ZXMJasper.htm#module
Туда положил файлы схем и печаток модулей.
Еще осталось нарисовать еще один модуль на пробу с EPM3256ATC144 c динамической памятью.
Ну и вот модуль с EPM3256ATC144
http://s018.radikal.ru/i516/1709/94/18a7a55f8bb8t.jpg (http://radikal.ru/big/818ilagj4haq8)
http://s012.radikal.ru/i320/1709/f7/90c3b5f0725ct.jpg (http://radikal.ru/big/5bbs1yfnltkcc)
Разместил на линиях статической памяти линии управления динамической памятью две микросхемы 1Мбx4.
Тоесть если впаиваем эти микрухи, то с платы компьютера убираем микросхемы статики.
Соотвественно прошивка CPLD тоже должна быть другой.
Теперь осталось заказать эти модули на пробу, но когад это будет фиг знает.
По данному проекту пока ожидаю разъемы с длинными выводами, займусь воспоминаниями Альционы.
По данному проекту пока ожидаю разъемы с длинными выводами,
Мелкие длинноногие разъемы уже пришли. Ждем большие.
http://s001.radikal.ru/i193/1709/0d/2b0e904272fbt.jpg (http://radikal.ru/big/f4s5kzk77v44n)
Получил сегодня платки модулей, спасибо Павлу Рябцову.
Будет теперь что собирать :)
http://s015.radikal.ru/i330/1711/0a/d364de108495t.jpg (http://radikal.ru/big/7kuyeiqcdlasw)
http://s48.radikal.ru/i119/1711/f6/79a8123a7c27t.jpg (http://radikal.ru/big/ljxizs6wstnkd)
Ну и пришлось перезаказывать разъемы (предыдущий пост). Они оказались меньше, чем большие по высоте (пластиковая часть)
http://s013.radikal.ru/i325/1711/2d/d0f3d1525060t.jpg (http://radikal.ru/big/hw6js55c9vzho)
Теперь надо выпаять старые разъемы с платы и поставить новые.
Выдалась свободная минута, решил перепаять мелкие разъемы на длинногие.
Чтобы придать необходимую жесткость разъемам, иначе могут погнутся, взял несколько штук разъемов PBS-2 (6 шт) и PBS-4 (2 шт).
Вынул из них металлические штыри, оставив только одну пластмассу и надел на штыри разъемов.
После запайки вот так вот вышло.
http://s014.radikal.ru/i326/1711/17/199ab09a1c1et.jpg (http://radikal.ru/big/lls3cl98odo49)
http://s019.radikal.ru/i643/1711/7b/77363240c75at.jpg (http://radikal.ru/big/if24uaodhxzsu)
А вот так с модулем от Игрософта (EPM3512)
http://s018.radikal.ru/i513/1711/c8/2046271aaad8t.jpg (http://radikal.ru/big/cv4p5cngcs7tr)
http://s16.radikal.ru/i191/1711/1b/67007922efc7t.jpg (http://radikal.ru/big/zhs4ur12vr2db)
Теперь ничего не задевает и не упирается, можно начинать программить :)
Пробный полет с стандартным модулем от Игрософта.
После продолжительных танцев с бубном, а именно с LPT ByteBlaster (то я шью, то я не шью сегодня альтеру) откопал у себя в закромах давно купленный али USB Blaster. Ну с ним дело пошло веселее.
Ну и как обычно планируешь много, а в итоге получается мало. А все из-за того что создавая универсальную плату я заводил на разъем модулей как можно больше сигналов. В результате чего ответственные сигналы для Z80, как например WAIT и BUSRQ пришлось заводить в Альтере на питание, иначе получалось что не запрогаммированный вывод Альтеры сажал сигнал на землю и собственно висняк.
Ну и понятное дело нет никакой оптимизации сигналов, приходящих к самой альтере.
Посему все шло с большим скрипом.
Короче надоело мне играть в игру влезет или не влезет, запилил штатный 128Кб Спекк отечественного разлива (по сути развертка Пятногон) c скандаблером. Осталось собрать модуль с дискогрызом и понастальгировать :)
Ну естетсвенно ни о какой SD карте речи не идет.
По микросхемам, на фото видно что стоит:
ПЗУ - AT29C512 (как удобно иметь 64кб в 32 ногом корпусе);
ОЗУ - UT621024
Это считайте минимальная конфигурация.
Да и на Игрософтовском модуле (слегка уже убитом - проводки на нем) стоит 8Кб SRAM (я поставил) вместо 32кб.
http://s010.radikal.ru/i312/1711/a1/6148720801aet.jpg (http://radikal.ru/big/motm5oirwoajn)
http://s018.radikal.ru/i518/1711/cc/5ea64010d4dct.jpg (http://radikal.ru/big/raxpmcg3f9uxe)
А и еще косяк в схеме обнаружил, пришлось резать дорожку и кидать пока временный проводок (мгтф), потом его заменю на красненький.
Ну и PIC клаву что то в этот раз не так шибко хорошо обрабатывает. Видимо впиливание управление питанием не прошло так гладко.
P.S. И кстати очень рад как наша КР1533ИР27 отрабатывает в видеовыхлопе - экран четкий без всяких там артефактов.
Решил, пока не спаяв дискогрызный контроллер, проверить магнитофонный вход на 128Кб конфигурации.
Сразу оговорюсь, что интенсивно с магнитофонным интерфейсом я работал когда у меня был 48кб Спектрум (отечественный клон естественно), а когда появилась машина с 128кб и дискогрызом, то про магнитофонный вход я забыл напрочь.
Так вот, сейчас, пока нет дискогрыза решил вернуться. Взял запись оригинальной кассеты с Диззи коллекшен (импортная) и попробовал ввести.
Вот вроде и грузятся картинки и полоски по экрану бегают, но упорно все сваливаются в 1982 Бейсик. Правда в Диззи 3 еще успел сказать свою фразу Фэнтези ворлд Диззи и опять в Бейсик.
Загружал через Winamp c компа.
Вопрос, оригинальные Диззи (записи) чем то отличались от записей отечественного разлива, т.е. работали они на наших 128кб клонах. Мне бы понять причину, то ли косяк с верхней памятью или еще что.
А пока вот пару скриншотов процесса заргузки
http://s019.radikal.ru/i640/1711/4a/4298b390b946t.jpg (http://radikal.ru/big/dd246jlen75ov)
http://s48.radikal.ru/i122/1711/61/59d63e1db599t.jpg (http://radikal.ru/big/6ksdir1jrmicn)
P.S. Записал в ПЗУ тест DiagROM v1.27, потестировал - Пишет что память в порядке.
usr0?
В смысле, мне бы на пальцах как для AAA.
Более того скачал отсюда tzx файл Dizzy 3 - http://zx-games.ru/dizzy-3-fantasy-world-dizzy/
Ситуация повторилась - говорит оцифровку и привет в бейсик.
Ну как на не совсем корректных дисковых версиях, рекомендуют загружать не из basic128, а сначала сделать usr0.
Ну как на не совсем корректных дисковых версиях, рекомендуют загружать не из basic128, а сначала сделать usr0.
А причем тут дисковых версиях. Я пробовал загружать через магнитофонный вход
1. оцифрованные фирменные кассеты
2. tzx файл Dizzy 3
Поведение одинаково. Вот я и спрашиваю, какие могут быть причины. Может ПЗУ-ха правленная. Сейчас я поставил ПЗУ от ZX-777. Увы я не помню, загружал ли я на нем с магнитофона, скорее нет чем да. Или в 128кб режиме как то по хитрому загружаться должна.
Я не знаток, но хотелось бы понять.
- - - Добавлено - - -
Попробовал ПЗУ от Пентагона - все тоже. Значит не в ПЗУ дело наверное.
andykarpov
30.11.2017, 15:01
Взял запись оригинальной кассеты с Диззи коллекшен (импортная) и попробовал ввести.
Вот вроде и грузятся картинки и полоски по экрану бегают, но упорно все сваливаются в 1982 Бейсик. Правда в Диззи 3 еще успел сказать свою фразу Фэнтези ворлд Диззи и опять в Бейсик.
Загружал через Winamp c компа.
А где на исходники проекта можно посмотреть?
Как там порт чтения клавиатуры и магнитофона реализованы?
А где на исходники проекта можно посмотреть?
Как там порт чтения клавиатуры и магнитофона реализованы?
Можно, но я пока рисую на AHDL :)
----------------------------------------------------------------------------------------------------------------------------
-- Описание: Прошивка микросхемы CPLD DD1 (модуль EPM3256AQC208_IGP1)
-- Проект: ZXM-Jasper
-- Автор: Тарасов М.Н. (Mick)
-- Тип CPLD: EPM3256AQC208
-- Версия: v1.00 - 2017
----------------------------------------------------------------------------------------------------------------------------
TITLE "ZXM-Jasper System Array Logic";
FUNCTION 2mux1 (a, b, sel) RETURNS (y);
SUBDESIGN MODULE_CPLD
(
-- Входная тактовая частота CLK
CLK_14MHZ : INPUT;
-- Сигналы управления RAM памятью
MA[16..0] : OUTPUT;
MD[7..0] : BIDIR;
WR_RAM : OUTPUT;
CS_RAML : OUTPUT;
CE_RAM2 : OUTPUT;
-- Выходные сигналы видео формирователя
VD[7..0] : OUTPUT;
HS : OUTPUT;
VS : OUTPUT;
GI : OUTPUT;
-- Сигналы управления ROM памятью
ROM_A14 : OUTPUT;
ROM_A15 : OUTPUT;
RD_ROM : OUTPUT;
WR_ROM : OUTPUT;
CS_ROM : OUTPUT;
-- Сигналы управления с CPU
CA[15..0] : INPUT;
CD[7..0] : BIDIR;
C_CLK : OUTPUT;
C_IORQ : INPUT;
C_MREQ : INPUT;
C_M1 : INPUT;
C_RD : INPUT;
C_WR : INPUT;
C_RFSH : INPUT;
-- Общие сигналы
C_RESET : INPUT;
C_MAGIC : INPUT;
C_IORQGE : INPUT;
C_INT : OUTPUT;
C_NMI : OUTPUT;
C_BLK : INPUT; --OUTPUT;
C_BUSRQ : INPUT; --OUTPUT;
C_WAIT : INPUT; --OUTPUT;
C_IODOS : INPUT; --OUTPUT;
C_DOS : OUTPUT;
-- Сигналы YM2149
AYCLK : OUTPUT;
BC1 : OUTPUT;
BDIR : OUTPUT;
-- Сигналы порта FE
TAPE_IN : INPUT;
TAPE_OUT : OUTPUT;
BEEP : OUTPUT;
-- Сигналы выбора джойстика
RD_1F : OUTPUT;
-- Скандаблер
PA[14..0] : OUTPUT; -- адреса знакомест
VWR : OUTPUT; -- сигнал записи в видеобуфер
PD[5..0] : BIDIR; -- данные
-- Сигналы клавиатуры
KBD_CS : INPUT;
KBD_CLK : INPUT;
KBD_DI : INPUT
)
VARIABLE
Sync_count[2..0] : DFF; -- 4-х разрядный счетчик, сигналы TI, H0, H1
Clk_reg : DFF;--системный регистр
CLKZ : NODE;-- частота процессора
H0M : NODE;-- частота селектора памяти
H1M : NODE;-- частота селектора памяти
VCLK : NODE; -- опорная частота видеочетчиков
HSync_count[6..0]: DFF; -- 6-и разрядный счетчик строчной разверкти, сигналы H3..H8
HReset : NODE; -- сброс счетчиков строчной развертки
HBlank : NODE; -- сигнал гашения видеосигнала строчный
HBlank1 : NODE; -- сигнал гашения видеосигнала строчный
HBlank2 : NODE; -- сигнал гашения видеосигнала строчный
HBlank3 : DFF; -- сигнал гашения видеосигнала строчный
HBorder : NODE; -- сигнал строчного бордера
HSync : DFF; -- строчный синхроимпульс
HSync1 : DFF; -- синхроимпульс счета кадровых счетчиков
VSync_count[8..0] : DFF; -- 10-и разрядный счетчик кадровый развертки, сигналы V0..V9
VReset : NODE; --сброс счетчиков кадровой развертки
VSync : DFF; -- кадровый синхроимпульс
VBorder : NODE; -- сигнал кадрового бордера
Border_sync : DFF; -- строб бордера
Int_sync : DFF; -- строб прерывания
Int_count[3..0] : DFF; -- 4-и разрядный счетчик длительности прерывания
Flash_count[4..0] : DFF; -- 6-и разрядный счетчик мерцания, сигнал FLASH
REG_rddata[7..0] : TRI; -- буфер чтения памяти
DATA_CPU[7..0] : TRI_STATE_NODE;
-- Сигналы управления памятью
WR_Buf : LCELL; -- запись в буферный регистр
VA[4..0] : NODE; -- адрес видео памяти
RA[2..0] : NODE; -- адрес видео памяти
Sel_A45 : NODE; -- доступ к ОЗУ
Ram_write_r : DFF; -- запись в ОЗУ
Ram_wrdata[7..0]: TRI; -- буфер записи в ОЗУ
Ram_buf[7..0] : DFF;
Ram_smx : NODE; -- страницы ОЗУ
RD_MEMORY : LCELL;
ROM_SEL : NODE;
-- Сигналы управления видеоформирователем
WRSCR : LCELL; -- сигнал защелкивания видеоинформации
Reg_inf[7..0] : DFF; -- регистр видеоинформации
Reg_pix[7..0] : DFF; -- регистр пикселей (промежуточный)
Reg_atr[7..0] : DFF; -- регистр цвета
Pix_inf : LCELL; -- видеоинформация
Reg_vid[5..0] : DFF; -- регистр видео выходной
ColourADR[3..0] : NODE;
-- Управляющие сигналы
IO_ENABLE : NODE; -- доступ к портам
IO_RD : LCELL; -- чтение из портов
IO_WR : LCELL; -- запись в порты
Sel_code : NODE; -- выбор ПЗУ TRDOS
Sel_3dxx : NODE; -- выбор ПЗУ TRDOS
DOS_r : JKFF; -- выбор ПЗУ TRDOS
NMI_r : DFF; -- выбор ПЗУ TRDOS
DOS_En : LCELL; --доступ к контроллеру дисковода
RDFE_Sel : LCELL; -- выбор клавиатуры
-- Регистр порта xxFEh
WR_FE : LCELL;
Border_Color_r[2..0] : DFF;
Tape_r : DFF;
Beep_r : DFF;
-- Регистр порта 7FFDh
Sel_7FFD : NODE;
WR_7FFD : LCELL;
RAM0_Page_r[2..0] : DFF; -- основные страницы 128кб
SCR128_r : DFF; --экран в 4000h или C000h (3 - бит)
ROM128_r : DFF; -- 128 ПЗУ (4 - бит)
BLK_Port_r : DFF; -- блокировка записи в порт (5 - бит)
-- Скандаблер
VHReset : NODE;
VHBlank : NODE;
SHReset : NODE;
VWR_strobe : NODE; -- запись в буфер
MUX_strobe : DFF; -- счетчик переключения буферов
MUX_data : LCELL; -- триггер конца строки
WHSync_count[6..0] : DFF; -- счетчик знакомест
VHSync_count[2..0] : DFF; -- счетчик знакомест
SHSync_count[2..0] : DFF; -- счетчик знакомест
VD_reg[5..0] : DFF; -- регистр видео
REG_wscan[5..0] : TRI;
RH : NODE;
-- интерфейс клавиатуры
KBD_save_en : NODE;
KBD_count[3..0] : DFFE;
KBD_shift_in[7..0] : DFF;
KBD_regA8[4..0] : DFFE;
KBD_regA9[4..0] : DFFE;
KBD_regA10[4..0] : DFFE;
KBD_regA11[4..0] : DFFE;
KBD_regA12[4..0] : DFFE;
KBD_regA13[4..0] : DFFE;
KBD_regA14[4..0] : DFFE;
KBD_regA15[4..0] : DFFE;
KBD_rddata[7..0] : TRI;
BEGIN
------------------------------------------------------------------------------------
-- Синхрогенератор
------------------------------------------------------------------------------------
-- Clock frequency 14.000 MHz
-- "256 x 192 Screen"
-- Line frequency 15625 Hz
-- Field frequency 50 Hz
-- Sync polarity: H negative, V negative
-- Scan type: non interlaced.
------------------------------------------------------------------------------------
-- Системные сигналы
------------------------------------------------------------------------------------
Sync_count[].clk = CLK_14MHZ; -- Системные сигналы TI, H0, H1, 2
Sync_count[].d = Sync_count[].q+1;
VCLK = !(Sync_count[].q == B"111");
------------------------------------------------------------------------------------
-- Строчная развертка
------------------------------------------------------------------------------------
-- One line:
-- 32 pixels horizontal sync
-- 32 pixels back porch
-- 64 pixels left border
-- 256 pixels video
-- 64 pixels right border
------------------------------------------------------------------------------------
-- 448 pixels total per line
------------------------------------------------------------------------------------
-- Реализация
------------------------------------------------------------------------------------
-- 32 видимая часть
-- 8 правый бордер
-- 4 начало гасящего импульса
-- 4 строчный импульс
-- 8 левый бордер
-- =
-- 56 сброс счетчиков строчной развертки
------------------------------------------------------------------------------------
HSync_count[].clk = VCLK; -- Сигналы строчной развертки H3, H4, H5, H6, H7, BC
HSync_count[].d = HSync_count[].q+1;
HSync_count[].clrn = !HReset;
HReset = (HSync_count[6..4].q == B"111"); -- сброс счетчиков в конце второй строки VGA
HBorder = HSync_count[6].q; -- сигнал строчного бордера на второй строке VGA
HBlank1 = !(HSync_count[6..3].q == B"0101"); -- гасящий импульс на первой VGA строке
HBlank2 = !(HSync_count[6..3].q == B"1100"); -- гасящий импульс на второй VGA строке
HBlank = HBlank1 & HBlank2;
HSync.clk = VCLK;
HSync.d = HBlank # HSync_count[2].q;
HBlank3.clk = !(HSync_count[6..0].q ==B"1010000");
HBlank3.d = GND;
HBlank3.prn = !(HSync_count[6..0].q == B"1100101");
------------------------------------------------------------------------------------
-- Кадровая развертка
------------------------------------------------------------------------------------
-- One field:
-- 16 lines vertical sync = porch
-- 56 lines top border
-- 192 lines video
-- 48 lines bottom border
------------------------------------------------------------------------------------
-- 312 lines total per field
------------------------------------------------------------------------------------
-- Реализация
------------------------------------------------------------------------------------
-- 192 видимая часть
-- 48 нижний бордер
-- 16 кадровый импульс = гасящий импульс
-- 56 верхний бордер
-- =
-- 312 сброс счетчиков кадровой развертки
------------------------------------------------------------------------------------
HSync1.clk = VCLK;
HSync1.d = (HSync_count[6..0] == B"1001101");
VSync_count[].clk = HSync1.q; -- Сигналы кадровой развертки V0...V7
VSync_count[].d = VSync_count[].q+1;
VSync_count[].clrn = !VReset;
VReset = (VSync_count[8..3].q == B"101000");-- сброс на 320 строке
VBorder = VSync_count[8].q # (VSync_count[7].q & VSync_count[6].q); -- сигнал BK = V8 # (V7 & V6)
VSync.clk = VCLK;
VSync.d = !(VSync_count[8..4].q == B"01111");
------------------------------------------------------------------------------------
-- Счетчики мерцания
------------------------------------------------------------------------------------
Flash_count[].clk = !VSync.q; --Сигналы счетчиков мерцания BK/, FLASH
Flash_count[].d = Flash_count[].q+1;
------------------------------------------------------------------------------------
-- Строб бордера
------------------------------------------------------------------------------------
Border_sync.d = !(VBorder # HBorder);
Border_sync.clk = HSync_count[1].q;
------------------------------------------------------------------------------------
-- Счетчик длительности прерывания
------------------------------------------------------------------------------------
Int_count[].clk = VCLK;
Int_count[].d = Int_count[].q+1;
Int_count[].clrn = !Int_sync.q;
------------------------------------------------------------------------------------
-- Сигнал прерывания
-- Примечание: прерывание генерится с частотой 48Гц
------------------------------------------------------------------------------------
Int_sync.clk = !VSync.q; -- прерывание на 256 импульсе
Int_sync.d = GND;
Int_sync.prn = !(Int_count[3..0].q == B"1111");
------------------------------------------------------------------------------------
-- Сигнал прерывания
-- временно на 121 ногу сигнал EXT1, был 117
------------------------------------------------------------------------------------
C_INT = Int_sync.q;
------------------------------------------------------------------------------------
-- Сигнал синхронизации
------------------------------------------------------------------------------------
HS = HSync.q;
------------------------------------------------------------------------------------
-- Сигнал разрешения SCART
------------------------------------------------------------------------------------
VS = VSync.q;
------------------------------------------------------------------------------------
-- Сигнал гашения
------------------------------------------------------------------------------------
GI = GND;
------------------------------------------------------------------------------------
-- Видеоформирователь
------------------------------------------------------------------------------------
-- Стробирующие сигналы захвата информации
------------------------------------------------------------------------------------
WRSCR = !(Sync_count[1].q & Sync_count[2].q & HSync_count[0].q);
------------------------------------------------------------------------------------
-- Сдвиговый регистр пикселей
------------------------------------------------------------------------------------
Reg_pix[].clk = HSync_count[0].q; -- сигналы H2
Reg_pix[].d = MD[];
------------------------------------------------------------------------------------
-- Сдвиговый регистр пикселей
------------------------------------------------------------------------------------
Reg_inf[].clk = Sync_count[0].q; -- сигнал 7MHZ
IF WRSCR !=0 THEN Reg_inf[].d = (Reg_inf[7-1..0].q,GND);
ELSE Reg_inf[].d = Reg_pix[];
END IF;
------------------------------------------------------------------------------------
-- Регистр атрибутов
------------------------------------------------------------------------------------
Reg_atr[].clk = WRSCR;
Reg_atr[].d = MD[];
------------------------------------------------------------------------------------
-- Мерцание знакоместа
------------------------------------------------------------------------------------
Pix_inf = Reg_inf[7].q $ (Flash_count[4].q & Reg_atr[7].q);
------------------------------------------------------------------------------------
-- Адрес палитры
------------------------------------------------------------------------------------
IF Border_sync.q ==0 THEN
ColourADR[0] = Border_Color_r[0].q;
ColourADR[1] = Border_Color_r[1].q;
ColourADR[2] = Border_Color_r[2].q;
ColourADR[3] = GND;
ELSE
IF Pix_inf ==0 THEN
ColourADR[0] = Reg_atr[3].q; --Blue
ColourADR[1] = Reg_atr[4].q; --Red
ColourADR[2] = Reg_atr[5].q; --Green
ColourADR[3] = Reg_atr[6].q; --Bright
ELSE
ColourADR[0] = Reg_atr[0].q; --Blue
ColourADR[1] = Reg_atr[1].q; --Red
ColourADR[2] = Reg_atr[2].q; --Green
ColourADR[3] = Reg_atr[6].q; --Bright
END IF;
END IF;
------------------------------------------------------------------------------------
-- Вывод видеоинформации
------------------------------------------------------------------------------------
Reg_vid[].clk = Sync_count[0].q; -- сигнал 7MHZ
Reg_vid[].clrn = HBlank3.q & VSync.q;
Reg_vid[0].d = ColourADR[0]; -- Blue0
Reg_vid[1].d = ColourADR[0] & ColourADR[3]; -- Blue1
Reg_vid[2].d = ColourADR[1]; -- Red0
Reg_vid[3].d = ColourADR[1] & ColourADR[3]; -- Red1
Reg_vid[4].d = ColourADR[2]; -- Green0
Reg_vid[5].d = ColourADR[2] & ColourADR[3]; -- Green1
------------------------------------------------------------------------------------
-- Системные сигналы
------------------------------------------------------------------------------------
-- C_BUSRQ = VCC;
-- C_WAIT = VCC;
------------------------------------------------------------------------------------
-- Сигнал формирование частоты процессора
-- Примечание: процессор на частоте 3,5МГц(NORMAL)
------------------------------------------------------------------------------------
H0M = Sync_count[1].q; -- H0
H1M = Sync_count[2].q; -- H1
Clk_reg.d = Sync_count[1].q;
Clk_reg.clk = Sync_count[0].q;
CLKZ = !H0M;--Clk_reg.q;
C_CLK = CLKZ;
------------------------------------------------------------------------------------
-- Управление памятью RAM
------------------------------------------------------------------------------------
-- Сигнал записи в буферный регистр TI =1 и H0 =0
------------------------------------------------------------------------------------
WR_Buf = H0M & !H1M; -- сигнал WRBUF
------------------------------------------------------------------------------------
-- Запись в буферный регистр
------------------------------------------------------------------------------------
Ram_buf[].d = MD[];
Ram_buf[].clk = !WR_Buf;
------------------------------------------------------------------------------------
-- Сигнал мультиплексирования страниц ОЗУ
------------------------------------------------------------------------------------
Ram_smx = CA[15] and CA[14]; -- сигнал SMX = A15 & A14
------------------------------------------------------------------------------------
-- Выбор памяти ОЗУ
------------------------------------------------------------------------------------
Sel_A45 = CA[15] # CA[14]; -- сигнал A45 = A15 # A14 # BLK
------------------------------------------------------------------------------------
-- Сигнал записи в память
------------------------------------------------------------------------------------
Ram_write_r.d = Sel_A45 & !C_MREQ & C_RD & C_RFSH;
Ram_write_r.clrn = !H1M;
Ram_write_r.clk = !CLKZ;--!Clk_reg.q;
Ram_write_r.prn = VCC;
------------------------------------------------------------------------------------
-- Запись в память
------------------------------------------------------------------------------------
WR_RAM = !Ram_write_r.q;
Ram_wrdata[].in = CD[];
Ram_wrdata[].oe = Ram_write_r.q;
MD[] = Ram_wrdata[].out;
------------------------------------------------------------------------------------
-- Формирование адресов видеоконтроллера VА
------------------------------------------------------------------------------------
IF HSync_count[0].q ==0 THEN -- сигнал H2
VA[0] = VSync_count[0].q;
VA[1] = VSync_count[1].q;
VA[2] = VSync_count[2].q;
VA[3] = VSync_count[6].q;
VA[4] = VSync_count[7].q;
ELSE
VA[0] = VSync_count[6].q;
VA[1] = VSync_count[7].q;
VA[2] = GND;
VA[3] = VCC;
VA[4] = VCC;
END IF;
------------------------------------------------------------------------------------
-- Формирование адресов RА
------------------------------------------------------------------------------------
IF Ram_smx ==0 THEN -- выборк окна в адресах 0x000..0xBFFF
RA[0] = CA[14];
RA[1] = CA[15];
RA[2] = CA[14];
ELSE
RA[0] = RAM0_PAGE_r[0].q; -- сигнал Page0
RA[1] = RAM0_PAGE_r[1].q; -- сигнал Page1
RA[2] = RAM0_PAGE_r[2].q; -- сигнал Page2
END IF;
------------------------------------------------------------------------------------
-- Формирование адресов и выбор микросхемы памяти
------------------------------------------------------------------------------------
IF H1M ==0 THEN
MA[13..0] = CA[13..0];
MA[16..14] = RA[2..0];
ELSE
MA[4..0] = HSync_count[5..1]; -- сигналы H3...H7
MA[5] = VSync_count[3].q; -- сигнал V4
MA[6] = VSync_count[4].q; -- сигнал V5
MA[7] = VSync_count[5].q; -- сигнал V6
MA[12..8] = VA[4..0]; -- сигналы VA0...VA4
MA[13] = GND; -- сигнал 0
MA[14] = VCC; -- сигнал 1
MA[15] = SCR128_r.q; -- сигнал SCR128
MA[16] = VCC; -- сигнал 1
END IF;
CS_RAML = GND;
CE_RAM2 = VCC;
------------------------------------------------------------------------------------
-- Управление памятью ROM
------------------------------------------------------------------------------------
-- Формирование управляющих сигналов ROM памяти
------------------------------------------------------------------------------------
ROM_A14 = ROM128_r.q # !DOS_en; -- сигнал RA14 = ROM128/ & !PRN;
ROM_A15 = DOS_en; -- сигнал RA15 = DOS/ & !PRN;
------------------------------------------------------------------------------------
-- Сигнал выбора ПЗУ
------------------------------------------------------------------------------------
ROM_SEL = Sel_A45 # C_MREQ;
CS_ROM = ROM_SEL;
------------------------------------------------------------------------------------
-- Сигнал чтения из ПЗУ
------------------------------------------------------------------------------------
RD_ROM = ROM_SEL # C_RD; -- сигнал RDROM/ = A45 # RD # MREQ
-----------------------------------------------------------------------------------
-- Сигнал записи в ПЗУ
------------------------------------------------------------------------------------
WR_ROM = VCC;
------------------------------------------------------------------------------------
-- Порты
------------------------------------------------------------------------------------
-- Сигнал управление портами
------------------------------------------------------------------------------------
IO_ENABLE = !C_M1 # C_IORQGE; --C_IORQ # C_IORQGE;
------------------------------------------------------------------------------------
-- Сигнал чтения из портов
------------------------------------------------------------------------------------
IO_RD = IO_ENABLE # C_RD;
------------------------------------------------------------------------------------
-- Сигнал записи в порты
------------------------------------------------------------------------------------
IO_WR = IO_ENABLE # C_WR;
------------------------------------------------------------------------------------
-- Порт xx1Fh - Кемпстон джойстик 00011111b
-----------------------------------------------------------------------------------
RD_1F = CA[7] # !(CA[3..0] == B"1111") # !DOS_En # IO_RD;
------------------------------------------------------------------------------------
-- Порт xxFEh = 11111110b
------------------------------------------------------------------------------------
WR_FE = !(CA[3..0] == B"1110") # IO_WR;
Border_Color_r[2..0].d = CD[2..0];
Border_Color_r[2..0].clk = WR_FE;
Border_Color_r[2..0].clrn = C_RESET;
Tape_r.d = CD[3];
Tape_r.clk = WR_FE;
Tape_r.clrn = C_RESET;
Beep_r.d = CD[4];
Beep_r.clk = WR_FE;
Beep_r.clrn = C_RESET;
------------------------------------------------------------------------------------
-- Выход магнитофона
------------------------------------------------------------------------------------
TAPE_OUT = Tape_r.q;
------------------------------------------------------------------------------------
-- Выход звука
------------------------------------------------------------------------------------
BEEP = Beep_r.q;
------------------------------------------------------------------------------------
-- Выход блокировки ПЗУ
------------------------------------------------------------------------------------
--C_BLK = GND;
------------------------------------------------------------------------------------
-- Селектор порта 7FFDh
-----------------------------------------------------------------------------------
Sel_7FFD = CA[15] # !CA[14] # !(CA[3..0] == B"1101") # IO_WR;
------------------------------------------------------------------------------------
-- Порт 7FFDh
-----------------------------------------------------------------------------------
WR_7FFD = Sel_7FFD # BLK_Port_r.q;
RAM0_Page_r[2..0].d = CD[2..0];
RAM0_Page_r[2..0].clk = WR_7FFD;
RAM0_Page_r[2..0].clrn = C_RESET;
SCR128_r.d = CD[3];
SCR128_r.clk = WR_7FFD;
SCR128_r.clrn = C_RESET;
ROM128_r.d = CD[4];
ROM128_r.clk = WR_7FFD;
ROM128_r.clrn = C_RESET;
BLK_Port_r.d = CD[5];
BLK_Port_r.clk = WR_7FFD;
BLK_Port_r.clrn = C_RESET;
------------------------------------------------------------------------------------
-- Порты BFFDh и FFFDh
------------------------------------------------------------------------------------
BC1 = CA[15] & CA[14] & (CA[3..0] == B"1101") & !IO_ENABLE;
BDIR = CA[15] & (CA[3..0] == B"1101") & !IO_WR;
------------------------------------------------------------------------------------
-- Частота AY-3-8912
------------------------------------------------------------------------------------
AYCLK = Sync_count[2].q; -- сигнал H1 = 1,75МГц
------------------------------------------------------------------------------------
-- Сигнал IODOS/
------------------------------------------------------------------------------------
-- C_IODOS = VCC;
------------------------------------------------------------------------------------
-- Доступ к контроллеру дисковода
------------------------------------------------------------------------------------
DOS_En = !DOS_r.q;
------------------------------------------------------------------------------------
-- TR-DOS контроллер
------------------------------------------------------------------------------------
-- Выбор окна ПЗУ
------------------------------------------------------------------------------------
Sel_code = C_M1 # C_MREQ;
Sel_3dxx = !(CA[15..8] == B"00111101") # !ROM128_r.q # Sel_code;
------------------------------------------------------------------------------------
-- Сигнал выбора контроллера NMI/
------------------------------------------------------------------------------------
NMI_r.d = C_MAGIC # !Sel_A45;
NMI_r.clk = Sel_code;
NMI_r.prn = Sel_3dxx;
------------------------------------------------------------------------------------
-- Сигнал NMI/
------------------------------------------------------------------------------------
C_NMI = NMI_r.q;
------------------------------------------------------------------------------------
-- Сигнал выбора контроллера DOS/
------------------------------------------------------------------------------------
DOS_r.clrn = C_RESET;
DOS_r.j = !(Sel_3dxx & NMI_r.q);
DOS_r.clk = !CLKZ;
DOS_r.k = !(Sel_code # !Sel_A45);
------------------------------------------------------------------------------------
-- Сигнал DOS/
------------------------------------------------------------------------------------
C_DOS = !DOS_r.q;
------------------------------------------------------------------------------------
-- Интерфейс клавиатуры
------------------------------------------------------------------------------------
-- Порт xxFEh - Клавиатура
------------------------------------------------------------------------------------
RDFE_Sel = !(CA[3..0] == B"1110") # IO_RD;
-----------------------------------------------------------------------------------
-- Счетчик
------------------------------------------------------------------------------------
KBD_save_en = KBD_count[0].q # KBD_count[1].q # KBD_count[2].q # !KBD_count[3].q;
KBD_count[].clk = !KBD_CLK;
KBD_count[].ena = KBD_save_en;
KBD_count[].clrn = !KBD_CS;
KBD_count[].d = KBD_count[].q + 1;
------------------------------------------------------------------------------------
-- Входной сдвигающий регистр
------------------------------------------------------------------------------------
KBD_shift_in[].clk = KBD_CLK;
IF KBD_count[3].q ==0 THEN
KBD_shift_in[].d = (KBD_shift_in[7-1..0].q,KBD_DI);
ELSE
KBD_shift_in[].d = KBD_shift_in[].q;
END IF;
------------------------------------------------------------------------------------
-- Регистры клавиатуры
------------------------------------------------------------------------------------
KBD_regA8[4..0].d = KBD_shift_in[7..3].q;
KBD_regA9[4..0].d = KBD_shift_in[7..3].q;
KBD_regA10[4..0].d = KBD_shift_in[7..3].q;
KBD_regA11[4..0].d = KBD_shift_in[7..3].q;
KBD_regA12[4..0].d = KBD_shift_in[7..3].q;
KBD_regA13[4..0].d = KBD_shift_in[7..3].q;
KBD_regA14[4..0].d = KBD_shift_in[7..3].q;
KBD_regA15[4..0].d = KBD_shift_in[7..3].q;
KBD_regA8[].clk = KBD_CLK;
KBD_regA8[].ena = KBD_count[3].q & (KBD_shift_in[2..0].q == B"000");
KBD_regA8[].prn = C_RESET;
KBD_regA9[].clk = KBD_CLK;
KBD_regA9[].ena = KBD_count[3].q & (KBD_shift_in[2..0].q == B"001");
KBD_regA9[].prn = C_RESET;
KBD_regA10[].clk = KBD_CLK;
KBD_regA10[].ena = KBD_count[3].q & (KBD_shift_in[2..0].q == B"010");
KBD_regA10[].prn = C_RESET;
KBD_regA11[].clk = KBD_CLK;
KBD_regA11[].ena = KBD_count[3].q & (KBD_shift_in[2..0].q == B"011");
KBD_regA11[].prn = C_RESET;
KBD_regA12[].clk = KBD_CLK;
KBD_regA12[].ena = KBD_count[3].q & (KBD_shift_in[2..0].q == B"100");
KBD_regA12[].prn = C_RESET;
KBD_regA13[].clk = KBD_CLK;
KBD_regA13[].ena = KBD_count[3].q & (KBD_shift_in[2..0].q == B"101");
KBD_regA13[].prn = C_RESET;
KBD_regA14[].clk = KBD_CLK;
KBD_regA14[].ena = KBD_count[3].q & (KBD_shift_in[2..0].q == B"110");
KBD_regA14[].prn = C_RESET;
KBD_regA15[].clk = KBD_CLK;
KBD_regA15[].ena = KBD_count[3].q & (KBD_shift_in[2..0].q == B"111");
KBD_regA15[].prn = C_RESET;
------------------------------------------------------------------------------------
-- Выходной буфер
------------------------------------------------------------------------------------
KBD_rddata[0].in = (CA8 # KBD_regA8[0].q) & (CA9 # KBD_regA9[0].q) & (CA10 # KBD_regA10[0].q) & (CA11 # KBD_regA11[0].q) & (CA12 # KBD_regA12[0].q) & (CA13 # KBD_regA13[0].q) & (CA14 # KBD_regA14[0].q) & (CA15 # KBD_regA15[0].q);
KBD_rddata[1].in = (CA8 # KBD_regA8[1].q) & (CA9 # KBD_regA9[1].q) & (CA10 # KBD_regA10[1].q) & (CA11 # KBD_regA11[1].q) & (CA12 # KBD_regA12[1].q) & (CA13 # KBD_regA13[1].q) & (CA14 # KBD_regA14[1].q) & (CA15 # KBD_regA15[1].q);
KBD_rddata[2].in = (CA8 # KBD_regA8[2].q) & (CA9 # KBD_regA9[2].q) & (CA10 # KBD_regA10[2].q) & (CA11 # KBD_regA11[2].q) & (CA12 # KBD_regA12[2].q) & (CA13 # KBD_regA13[2].q) & (CA14 # KBD_regA14[2].q) & (CA15 # KBD_regA15[2].q);
KBD_rddata[3].in = (CA8 # KBD_regA8[3].q) & (CA9 # KBD_regA9[3].q) & (CA10 # KBD_regA10[3].q) & (CA11 # KBD_regA11[3].q) & (CA12 # KBD_regA12[3].q) & (CA13 # KBD_regA13[3].q) & (CA14 # KBD_regA14[3].q) & (CA15 # KBD_regA15[3].q);
KBD_rddata[4].in = (CA8 # KBD_regA8[4].q) & (CA9 # KBD_regA9[4].q) & (CA10 # KBD_regA10[4].q) & (CA11 # KBD_regA11[4].q) & (CA12 # KBD_regA12[4].q) & (CA13 # KBD_regA13[4].q) & (CA14 # KBD_regA14[4].q) & (CA15 # KBD_regA15[4].q);
KBD_rddata[5].in = VCC;
KBD_rddata[6].in = TAPE_IN;
KBD_rddata[7].in = VCC;
KBD_rddata[].oe = !RDFE_Sel;
DATA_CPU[] = KBD_rddata[].out;
------------------------------------------------------------------------------------
-- Чтение из буферного регистра
------------------------------------------------------------------------------------
RD_MEMORY = !Sel_A45 # C_MREQ # C_RD;
REG_rddata[].in = Ram_buf[].q;
REG_rddata[].oe = !RD_MEMORY;
DATA_CPU[] = REG_rddata[].out;
CD[] = DATA_CPU[].out;
------------------------------------------------------------------------------------
-- Скандаблер на одну строку
------------------------------------------------------------------------------------
-- Счетчик адреса знакомест
------------------------------------------------------------------------------------
RH = HReset;
WHSync_count[].clk = CLK_14MHZ;
WHSync_count[].d = WHSync_count[].q+1;
WHSync_count[].clrn = !RH;
VHSync_count[].clk = !WHSync_count[5].q;
VHSync_count[].d = VHSync_count[].q+1;
VHSync_count[].clrn = VHReset & !RH;
SHSync_count[].clk = !WHSync_count[6].q;
SHSync_count[].d = SHSync_count[].q+1;
SHSync_count[].clrn = SHReset & !RH;
VHReset = !(VHSync_count[2..0].q ==B"111");
VHBlank = !(VHSync_count[2..0].q ==B"101");
SHReset = !(SHSync_count[2..0].q ==B"111");
------------------------------------------------------------------------------------
-- Строб строки знакомест
------------------------------------------------------------------------------------
MUX_data = !MUX_strobe.q;
MUX_strobe.clk = !(SHSync_count[2..0].q ==B"101");
MUX_strobe.d = MUX_data;
PA[9] = MUX_strobe.q $ VWR_strobe;
------------------------------------------------------------------------------------
-- Запись в буфер знакомест
------------------------------------------------------------------------------------
VWR_strobe = WHSync_count[0] & CLK_14MHZ;
VWR = !VWR_strobe;
------------------------------------------------------------------------------------
-- Aдреса знакомест
-----------------------------------------------------------------------------------
IF VWR_strobe == 0 THEN
PA[0] = WHSync_count[0].q; -- 7MГЦ
PA[1] = WHSync_count[1].q; -- 3,5МГЦ
PA[2] = WHSync_count[2].q; -- 1,75МГЦ
PA[3] = WHSync_count[3].q; -- 0,875МГЦ
PA[4] = WHSync_count[4].q; -- 0,875МГЦ
PA[5] = WHSync_count[5].q; -- 0,4375МГЦ
PA[6] = VHSync_count[0].q; -- 0,21875МГЦ
PA[7] = VHSync_count[1].q; -- 0,109375МГЦ
PA[8] = VHSync_count[2].q; -- 0,0546875МГЦ
ELSE
PA[0] = WHSync_count[1].q; -- 3,5МГЦ
PA[1] = WHSync_count[2].q; -- 1,75МГЦ
PA[2] = WHSync_count[3].q; -- 0,875МГЦ
PA[3] = WHSync_count[4].q; -- 0,875МГЦ
PA[4] = WHSync_count[5].q; -- 0,4375МГЦ
PA[5] = WHSync_count[6].q; -- 0,21875МГЦ
PA[6] = SHSync_count[0].q; -- 0,109375МГЦ
PA[7] = SHSync_count[1].q; -- 0,0546875МГЦ
PA[8] = SHSync_count[2].q; -- 0,0546875МГЦ
END IF;
PA[10] = GND;
PA[11] = GND;
PA[12] = GND;
PA[13] = VCC;
PA[14] = GND;
------------------------------------------------------------------------------------
-- Строб видеоданных
------------------------------------------------------------------------------------
VD[0] = VD_reg[0].q; -- Blue0
VD[1] = VD_reg[1].q; -- Blue1
VD[2] = VD_reg[2].q; -- Red0
VD[3] = VD_reg[3].q; -- Red1
VD[4] = GND; -- Red2
VD[5] = VD_reg[4].q; -- Green0
VD[6] = VD_reg[5].q; -- Green1
VD[7] = GND; -- Green2
VD_reg[].clk = CLK_14MHZ;
VD_reg[].d = PD[];
VD_reg[].clrn = VHBlank;
REG_wscan[].in = Reg_vid[].q;
REG_wscan[].oe = VWR_strobe;
PD[] = REG_wscan[].out;
END;
- - - Добавлено - - -
Сейчас посмотрел немного код Dizzy 3 в эмуляторе и похоже причина в IM 2. Тоесть когда стоит режим IM 1 то он замечательно работает, но как только переводит в IM 2 то похоже первое же прерывание приводит к краху всю систему :(
как только переводит в IM 2 то похоже первое же прерывание приводит к краху всю систему
А что у нас на шине данных в момент IM 2 ? ;)
А что у нас на шине данных в момент IM 2 ?
А фиг его знает. Надо думу думать. :)
Вроде код рабочий (на Игрософте наигрался), хотя и есть небольшие изменения.
А фиг его знает. Надо думу думать.
Это я к тому, что многие программы рассчитывают, что там FF будет, и располагают адрес вектора перехода по адресу ххFF, где хх - содержимое регистра I
Видимо, у тебя не FF
Это я к тому, что многие программы рассчитывают, что там FF будет, и располагают адрес вектора перехода по адресу ххFF, где хх - содержимое регистра I
Видимо, у тебя не FF
Нет, конкретно в Dizzy 3 помоему вектор в FD. Но смысл понятен. Скорее всего при IM 2 либо читает не оттуда, либо фиг его знает. Я конечно для прикола завтра поставлю другой проц. если не в нем дело, то значит надо менять менеджер памяти.
Я конечно для прикола завтра поставлю другой проц. если не в нем дело, то значит надо менять менеджер памяти.
Поставил другой проц NEC D780C-2 (NMOS) и заработало вроде. По крайней мере Dizzy 3 загрузилась и запела, поиграл немного.
До этого стоял проц TOSHIBA TMPZ84C00AP-8 (CMOS) - он почему то плохо работал с IM 2 на плате. Интересно почему.
Попробую другие Диззи позагружать.
Небольшой отчет:
Загружал Dizzy 4 - работает
Загружал демку Illusion - работала в течении 2 часов
Загружал Dizzy 7 - работает
Пока вывод такой с NMOS процессором работает без сбоев. Надо будет поставить другие процессоры на пробу, может это только с Тошибой не хочет работать.
Еще бы найти магнитофонную демку типа Rage, чтобы проверить бордюр и завершить первый этап.
solegstar
01.12.2017, 13:12
Еще бы найти магнитофонную демку типа Rage, чтобы проверить бордюр и завершить первый этап.
магнитофонной у меня нет, но часть с зонтиком в ROM-версии есть ТУТ (http://zx-pk.ru/threads/11709-profi-video-nuzhna-quot-pentagonovskaya-proshivka-quot.html?p=694674&viewfull=1#post694674)...
магнитофонной у меня нет, но часть с зонтиком в ROM-версии есть ТУТ...
Нашел я тапку последней части Rage, не знаю кто ее переделывал, но вроде ROM версия.
Итак несколько скриншотиков:
Illusion
http://s018.radikal.ru/i504/1712/b0/1b4046329a06t.jpg (http://radikal.ru/big/u7uvpenvvdzeh)
http://s009.radikal.ru/i309/1712/de/c9f13dfb82eet.jpg (http://radikal.ru/big/b7uh74vq5q6o0)
7Th Reality загрузилась только первая часть.
http://s019.radikal.ru/i625/1712/6b/8eed9f5a6572t.jpg (http://radikal.ru/big/5qr1wi4sqry5u)
http://s019.radikal.ru/i634/1712/fd/aff5b3372f28t.jpg (http://radikal.ru/big/u8wlrb5vvvb7g)
И вишенка на торте Rage End
http://s019.radikal.ru/i641/1712/7a/3544cdbe3ed5t.jpg (http://radikal.ru/big/05x3rpa5wuycv)
Как видим все ровненько, значит Пятногоноподобная конфигурация.
По сути значит 128кб конфигурация на ZXM-Jasper работает. :)
solegstar
01.12.2017, 13:45
Нашел я тапку последней части Rage, не знаю кто ее переделывал, но вроде ROM версия.
да, это zebest делал тапку, а John North делал ROM-версию для меня.
я себе тут тоже чуть прикупил платок... можно будет поковыряться с ними на досуге))
https://www.dropbox.com/s/52ge4v3wj8b0lhv/IMG_0957.jpg?dl=0&raw=1
я себе тут тоже чуть прикупил платок... можно будет поковыряться с ними на досуге))
Поздравляю, верхние платки смотрел? Если с EPM3512, то пространства для маневров хватит. Если с EPM3256, то его гораздо меньше.
Вот у меня ZXM-Jasper получилась только 128кб конфигурация, но с поддержкой матрицы клавы и скандаблером. Это все заняло 235 ячеек.
Конечно если убрать некоторые лишние выходы (цвет, адреса ОЗУ скандаблера), то будет меньше.
И если еще оптимизировать выводы, то вполне что нибудь мелкое залезет.
Я делал как бы универсальную платформу, поэтому штатный модуль от IGP1 оказался далек от оптимизации.
** DEVICE SUMMARY **
Chip/ Input Output Bidir Shareable
POF Device Pins Pins Pins LCs Expanders % Utilized
module_cpld
EPM3256AQC208-7 34 62 22 235 73 91 %
User Pins: 34 62 22
solegstar
01.12.2017, 13:58
Если с EPM3512, то пространства для маневров хватит. Если с EPM3256, то его гораздо меньше.
одна 3512 из 9, остальные 3256. они пока в сторонке лежат. тут кое-что доделать нужно и можно ковырять. как до них доберусь, черкану здесь.
Пока вывод такой с NMOS процессором работает без сбоев. Надо будет поставить другие процессоры на пробу, может это только с Тошибой не хочет работать.
Провел этот эксперимент.
Участники эксперимента:
КР1858ВМ1 - NMOS - работает
GS Z8400B PS - NMOS - работает
Zilog Z84C0006PEC - CMOS - не работает (не выходит из сброса)
NEC D70008AC-8 - CMOS - не работает (глючим и падаем в 48 Basic, но и там плохо себя ведем)
Итог таков, что CMOS процы не работают на этой плате совместно с модулем от Игрософта EPM3256.
Возможно причина в конфе CPLD, а возможно причина в уровнях (толерантности с 3,3В CPLD)
Короче разбираться глубоко не буду, будут другие модули, тогда и погляжу.
- - - Добавлено - - -
Так первый модуль 1818VG93 собран и запрограммирован
Временно пока припаял хвост с разъемом от 5.25 дюймого дискогрыза. Как придут нормальные разъемы, то сделаю все культурно :)
Впрочем можно и без разъема, если установить MB8877A вместо нашей КР1818ВГ93
Вот немного картинок
http://s16.radikal.ru/i190/1712/1d/d8468da459adt.jpg (http://radikal.ru/big/95wctkwnhci9a)
http://s016.radikal.ru/i336/1712/a9/e12d71ccefd8t.jpg (http://radikal.ru/big/loug33exax7z1)
http://s011.radikal.ru/i316/1712/18/9cfa33faf7a0t.jpg (http://radikal.ru/big/638erovotyjfz)
P.S. В принципе модуль можно не только с этим компом применять. ;)
Итог:
У меня теперь полноценный комп 128кб с дискогрызом :)
Итак, пока свежи воспоминания:
128Кб конфигурация
На фото представлен набор микросхем на нижней плате для 128Кб конфигурации
https://b.radikal.ru/b18/1801/ae/aa23c7c6fd68t.jpg (https://b.radikal.ru/b18/1801/ae/aa23c7c6fd68.jpg)
- микросхема ПЗУ емкостью 64Кб - AT29С512-12PC
- микросхема ОЗУ емкостью 128Кб - UT621024PC-70LL
- процессор - NEC D780C-2 (NMOS)
Верхний модуль был использован от игрового автомата типа Igrosoft
https://b.radikal.ru/b27/1801/f1/ed905d308d44t.jpg (https://b.radikal.ru/b27/1801/f1/ed905d308d44.jpg)
Микросхема памяти на модуле была заменена на - W24257AK-20
15нс давали сбои в скандаблере, поставил чуть медленнее :) (Привет Спринтеру)
Что в итоге получил (конкретный вариант прошивки):
- 128Кб спектрум совместимый компьютер
- загрузка программ через магнитофонный интерфейс
- пентагоноподобная развертка
- скандаблер для VGA монитора (умеющий держать 48Гц кадровой развертки)
- выбор AY-3-8912
- выбор джойстика типа Kempston на КР1533АП3
Примечание:
Ввиду того что я для интереса впаял КР1533ЛН1, то похоже из-за этого совместно с CPLD типа EPM3256(а скорее всего MAX3000A) не работают CMOS процессоры Z80, только NMOS.
Я полагаю надо ставить 74F04N как это было в Igrosoft. Там по крайней мере CMOS процы работали.
Дополнение, чтобы компьютер стал еще и с дисководом, то нужен внешний контроллер дисковода или соответствующий модуль (опишу позже).
Таким образом, используя различные CPLD или FPGA можно получить Спектрум для осуществления всех ваших безумных фантазий.
Чуть позже выложу все к себе на сайт. Если кому интересно и кто не боится фантазировать не только паяльником, то есть свободные 4 платы, которые я выложу на продажу в Барахолке.
Раньше уже о нем писал немножко, теперь чутка подробнее.
Модуль контроллера дисковода на КР1818ВГ93
https://d.radikal.ru/d36/1801/1f/81a59b60f9a2t.jpg (https://d.radikal.ru/d36/1801/1f/81a59b60f9a2.jpg)
https://a.radikal.ru/a21/1801/2a/90347291d45bt.jpg (https://a.radikal.ru/a21/1801/2a/90347291d45b.jpg)
- Основная логика заключена в микросхеме EPM3032ATC44-10N
- Микросхема контроллера дисковода - КР1818ВГ93 или MB8877A
- Поддержка 2 дисководов
Примечания:
- При использовании MB8877A, дополнительное напряжение +12V не нужно, а значит разъем XP6 не требуется
- Контроллер не формирует сигналы DOS/ и NMI/, эти сигналы должен формировать логика либо самого компьютера, либо модуля с CPLD (FPGA)
При использовании модуля с ZXM-Jasper, то рекомендуется длиноногие разъемы ставить через проставки, чтобы ничего не резать.
https://d.radikal.ru/d34/1801/99/c060db5d9550t.jpg (https://d.radikal.ru/d34/1801/99/c060db5d9550.jpg)
У меня в качестве проставок использовались пластмассовые штырьевые части разъемов типа PLS. Для этого надо удалить металлические штыри (вытащить).
В заключение, модуль можно использовать и как дополнительное обрудование к любым поделкам, необходимо только учесть какие необходимы для этого сигналы.
Есть некторое количество пустых печатных плат, которые будут выставлены на Барахолке.
Небольшая порция новой информации.
Переделал у себя на сайте страничку по компьютеру, выделил из него в отдельный раздел всю информацию о сменных модулях.
Ссылки:
- о самом компьютере - http://micklab.ru/My%20Computer/ZXMJasper.htm
- о сменных модулях - http://micklab.ru/MyModules.htm
Также выложил информацию о доработках компа. Одна с проводком, а другую просто отогнуть :) - http://micklab.ru/file/zxm_jasper/zxm_jasper_00annex.pdf
Сегодня был день пайки, так что запаял я два оставшихся модуля. Но пока не программировал.
Модуль с EPM3256AQC208
https://d.radikal.ru/d34/1801/ca/130c50735489t.jpg (https://d.radikal.ru/d34/1801/ca/130c50735489.jpg)
https://b.radikal.ru/b03/1801/fc/d176c1f5de6ct.jpg (https://b.radikal.ru/b03/1801/fc/d176c1f5de6c.jpg)
CPLD-ху сдул с ZXM-Alcyon (туда запаял сдутую с платы, присланную Павлом Рябцовым, EPM3512AQC208)
При использовании модуля с ZXM-Jasper, то рекомендуется длиноногие разъемы ставить через проставки, чтобы ничего не резать.
https://a.radikal.ru/a00/1801/12/64933a8e3de0t.jpg (https://a.radikal.ru/a00/1801/12/64933a8e3de0.jpg)
Модуль EPM3256ATC144
https://b.radikal.ru/b04/1801/3e/f869bd9cca5ct.jpg (https://b.radikal.ru/b04/1801/3e/f869bd9cca5c.jpg)
https://a.radikal.ru/a29/1801/24/e71736e6411at.jpg (https://a.radikal.ru/a29/1801/24/e71736e6411a.jpg)
Микрухи памяти и CPLD предоставил Totem
Этот модуль тоже с проставками длинноногих разъемов
https://d.radikal.ru/d40/1801/c1/9ca7071cd684t.jpg (https://d.radikal.ru/d40/1801/c1/9ca7071cd684.jpg)
Отлично, там с ногами нет проблем с epm3256 ? на фотке тут
https://radikal.ru/lfp/b.radikal.ru/b04/1801/3e/f869bd9cca5c.jpg/htm
или ракурс такой?
Отлично, там с ногами нет проблем с epm3256 ? на фотке тут
Одна нога отломилась, пришлось тонким проводком "привариваться" - как раз он и виден :( но там нет замыканий.
Как программить ее начну, тогда видно будет. Заодно и узнаю как память сдулась с платы. (паяльная станция с феном мне однозначно понравилась)
P.S. Тут мысль безумная пришла, а ведь мне никто не мешает модули с CPLD бутербродизировать, распределяя между ними ресурсы. :)
Одна нога отломилась, пришлось тонким проводком "привариваться" - как раз он и виден :( но там нет замыканий.
Как программить ее начну, тогда видно будет. Заодно и узнаю как память сдулась с платы. (паяльная станция с феном мне однозначно понравилась)
P.S. Тут мысль безумная пришла, а ведь мне никто не мешает модули с CPLD бутербродизировать, распределяя между ними ресурсы. :)
Печалька, определяется квартусом? Eжли что, я тебе вышлю другую.
P.S. Тут мысль безумная пришла, а ведь мне никто не мешает модули с CPLD бутербродизировать, распределяя между ними ресурсы
Ну да, можно, я тебе именно так примерно и предлагал сделать с мини компом, только "елка" c немобус вертикальная.
Кубик в красивом корпусе, кому собирать корпуса у меня есть.
Печалька, определяется квартусом? Eжли что, я тебе вышлю другую.
На днях буду пробовать ее запрограммировать. Тогда и видно будет :)
- - - Добавлено - - -
Ну да, можно, я тебе именно так примерно и предлагал сделать с мини компом, только "елка" c немобус вертикальная.
Кубик в красивом корпусе, кому собирать корпуса у меня есть.
Опять же все зависит от решаемых задач, а то может немобус там не нужна (на вертикальную елку плат то нет)
Сегодня пересобрал 128Кб версию c модуля EPM3256AQC208 IGP для модуля c EPM3256AQC208. Вроде ноги теперь идут ровненько, а в итоге получилось что ячеек заняло на 2 больше.
Отчеты:
Для EMP3256AQC IGP (плата от Игрософт)
***** Project compilation was successful
ZXM-Jasper System Array Logic
** DEVICE SUMMARY **
Chip/ Input Output Bidir Shareable
POF Device Pins Pins Pins LCs Expanders % Utilized
module_cpld
EPM3256AQC208-7 34 62 22 235 73 91 %
User Pins: 34 62 22
Для модуля EPM3256AQC208 (тот который новодел)
***** Project compilation was successful
ZXM-Jasper System Array Logic
** DEVICE SUMMARY **
Chip/ Input Output Bidir Shareable
POF Device Pins Pins Pins LCs Expanders % Utilized
module_cpld
EPM3256AQC208-7 34 62 22 237 80 92 %
User Pins: 34 62 22
Думал, что будет меньше, а вот нет.
Короче сначала не запустился или глючил. Снял модуль промыл еще раз, почистил ноги - запустился. Видимо где то был не контакт в разъме.
Вот сейчас на 7th Reality тестируется :)
Завтра прошивку закину на сайт в соотвестующий раздел.
Видимо где то был не контакт в разъме.
А вот не не в контакте было, а в этих лишних компиленных связей. Пришлось немного изменить формирование клоков процессора.
Вот что значит поменять несколько ног, а в результате внутренние связи меняются.
Сейчас вроде работает.
solegstar
19.02.2018, 15:09
Mick, есть вопрос: А ты для себя делал заготовку для создания модулей? Т.е. два разъема с отмечеными номерами выводов главной CPLD? Вот думаю сделать для одного проекта, но может уже есть. :)
Mick, есть вопрос: А ты для себя делал заготовку для создания модулей? Т.е. два разъема с отмечеными номерами выводов главной CPLD? Вот думаю сделать для одного проекта, но может уже есть.
Честно сказать не понял вопроса. В смысле делал заготовку, что нужно?
solegstar
19.02.2018, 17:15
Честно сказать не понял вопроса. В смысле делал заготовку, что нужно?
Я вот о чем: есть главный модуль с CPLD. Его схема и печатная плата известна. Чтобы для него сделать доп. модуль нужна как минимум заготовка с таким же расположением разъемов. ну это мелочи. снести всё с главного модуля, подчистить связи не проблема. далее нужно нарисовать принципиальную схему для доп. модуля с привязкой к выводам главной плис и далее это всё совместить с прошивкой. так вот для удобства было бы хорошо, если бы была какая-то заготовка - принципиальная схема + печатка. на которой было бы отмечено какой вывод разъема приходит на какой номер вывода ПЛИС. допустим просто обзывать цепь "разъем_номер вывода разъема_номер вывода ПЛИС" (XP3_02_188). Такой себе список цепей между внешними разъемами и ПЛИС. это есть конечно в каком-то роде в принципиальной схеме и печатке к модулю, но там названия сигналов непосредственно для Jasper`a, как я понял. ладно, я сделаю на досуге.
- - - Добавлено - - -
даже наверное обычная таблица соответствия выводов разъемов и выводов ПЛИС помогла бы.
Я вот о чем: есть главный модуль с CPLD. Его схема и печатная плата известна. Чтобы для него сделать доп. модуль нужна как минимум заготовка с таким же расположением разъемов. ну это мелочи. снести всё с главного модуля, подчистить связи не проблема. далее нужно нарисовать принципиальную схему для доп. модуля с привязкой к выводам главной плис и далее это всё совместить с прошивкой. так вот для удобства было бы хорошо, если бы была какая-то заготовка - принципиальная схема + печатка. на которой было бы отмечено какой вывод разъема приходит на какой номер вывода ПЛИС. допустим просто обзывать цепь "разъем_номер вывода разъема_номер вывода ПЛИС" (XP3_02_188). Такой себе список цепей между внешними разъемами и ПЛИС. это есть конечно в каком-то роде в принципиальной схеме и печатке к модулю, но там названия сигналов непосредственно для Jasper`a, как я понял. ладно, я сделаю на досуге.
Теперь понял. Как ты правильно указал, изначально все привязывалось к основной материнской плате, так как по идее модули с CPLD могут быть разными, как например c EPM3256AQC208 и EPM3256ATC144. То есть налицо разница количества выводов. Не говоря уже о модулях, где нет CPLD.
Тебе надо именно привязку к EPM3256AQC208?
solegstar
19.02.2018, 19:08
Тебе надо именно привязку к EPM3256AQC208?
да, спс, я уже практически доделал. не заморачивайся. :) хочу сделать прототип вга конвертера на основе модуля с поддержкой палитры.
- - - Добавлено - - -
Типа такого:
https://www.dropbox.com/s/5qzxzoatfqmafzc/%D0%A4%D0%BE%D1%82%D0%BE%2019.02.18%2C%2017%2052%2 037.jpg?dl=0&raw=1
https://www.dropbox.com/s/7at7oaj2hyotr6h/%D0%A4%D0%BE%D1%82%D0%BE%2019.02.18%2C%2017%2052%2 058.jpg?dl=0&raw=1
Ps: сорри за оффтоп, сделаю тему и потру здесь.
да, спс, я уже практически доделал. не заморачивайся. хочу сделать прототип вга конвертера на основе модуля с поддержкой палитры.
Ну тебе виднее. Тереть ничего не надо.
да, спс, я уже практически доделал. не заморачивайся.
А я все таки заморочился.
Короче вот файл со схемой и сборочным чертежом, а также таблицей расположение сигналов CPLD относительно разъемов. Короче это пригодится тем, кто захочет модули использовать для своих нужд - http://micklab.ru/file/modules/module_epm3256AQC208_uni.pdf
Давным давно как то по случаю на али прикупил по дешевки CPLD-хи чудной серии MAX9000. А именно EPM9560RI208 и EPM9560ARC208. Правда в итоге оказалось что ноги у них в непотребном состоянии - погнуты. А все из за желания Спектрум из гуано. Ну и забросил, хотя сначала нарисовал схему клона Спектрума на нем. И вот когда появилась Яшма, решил, вернуться к этим CPLD. Думаю дай нарисую модуль и попробую заказать печатки. На сей раз не стал просить Павла Рябцова, он и так загружен по самую крышу, так что на али заказал с десяток печаток. Конечно они получились дороже чем у Павла, но любопытство однако оказалось сильнее.
Итак что получилоcь, на сей раз я не стал длинные разъемы запаивать, а сделал эти модули как бы законченными устройствами:
EPM9560ARC208
https://a.radikal.ru/a12/1804/04/0c0c5f8ea39ft.jpg (https://a.radikal.ru/a12/1804/04/0c0c5f8ea39f.jpg)
https://a.radikal.ru/a14/1804/bd/1286aeb6d884t.jpg (https://a.radikal.ru/a14/1804/bd/1286aeb6d884.jpg)
EPM9560RI208
https://d.radikal.ru/d12/1804/2a/35b33eabc2f1t.jpg (https://d.radikal.ru/d12/1804/2a/35b33eabc2f1.jpg)
https://d.radikal.ru/d41/1804/f4/176d53c08535t.jpg (https://d.radikal.ru/d41/1804/f4/176d53c08535.jpg)
Если обратите внимание на ноги, то видно что их выпрямляли - ух уж это и нудное занятие.
Итак поставил в Яшму, загрузил Кактус, он увидел CPLD, но вежливо сказал я ее вижу, но работать с ней не умею.
Пришлось запускать MAX+PLUS II и через LPT программатор ее шить. И кстати прошились оба модуля без вопросов.
Прошил я конфигурацию 128кб Спека (нашего клона с разверткой аля Пентагон), по сути переназначил ноги из проекта на EPM3256AQC208.
Включаю, а на 128 менюхе черные промоины. О думаю, приплыли. Ставлю модуль EPM3256AQC208 - там тоже самое.
Слетела прошивка в ПЗУ AT29C512. Перепрошил ПЗУ, меню появилось. Погонял по очереди демку SB4 - работает.
Вот Яшма с модулем.
https://d.radikal.ru/d02/1804/70/53e5850101cbt.jpg (https://d.radikal.ru/d02/1804/70/53e5850101cb.jpg)
Кстати греются эти CPLD как печки :)
Подведем итоги:
- MAX9000 нам покорился и теперь есть Спектрум на этой серии.
- емкость EPM9560 - 560 регистров, по сути больше чем у EPM3512 на 48 регистров, что позволяет получить неплохой Спекки с многими плюшками.
- не требователен к быстродействию к микросхемы памяти набортной ОЗУ, которая используется в качестве буфера скандаблера (на EPM3256 помнится надо ставить не шустрее 20нс)
- так как MAX9000 старая серия, то для программирования нужен старый добрый MAX Plus II и LPT программатор, это минус
- возможно еще что то, но я уже забыл.
Mick, немного офф , хотел спросить ,я софт под свои разработки ты сам пишешь ,тот который под Z80 , типа под свои карты , плееры , демо ?
Mick, немного офф , хотел спросить ,я софт под свои разработки ты сам пишешь ,тот который под Z80 , типа под свои карты , плееры , демо ?
Обычно да, но это в основном порты других плееров. Так как никто не изъявил желание написать более вменяемые плееры, посему я для упрощения себе жизни клепал сборники музонов. :)
Обычно да, но это в основном порты других плееров. Так как никто не изъявил желание написать более вменяемые плееры, посему я для упрощения себе жизни клепал сборники музонов.
Это я к тому ,что кодеров мало , а кодеров под железки еще меньше , если ,что ,поспрашать.
Это я к тому ,что кодеров мало , а кодеров под железки еще меньше , если ,что ,поспрашать.
Если что спрашивай. :)
В продолжении темы про модуль на EPM9560. Так чтобы было выкладываю картинку эскиза печатной платы и фото чистой платы
Эскиз
https://a.radikal.ru/a43/1804/7a/baf899b1ed97t.jpg (https://a.radikal.ru/a43/1804/7a/baf899b1ed97.png)
Фото чистой платы
https://d.radikal.ru/d43/1804/a0/e8930b8ec317t.jpg (https://d.radikal.ru/d43/1804/a0/e8930b8ec317.jpg)
Позже выложу все информацию на свой сайт.
Если кого заинтересуют платки модулей и самой Яшмы, то в барахолке есть соответствующая тема - http://zx-pk.com/forum/viewtopic.php?f=7&t=9265
Забацал страничку по модулю на EPM9560ARI208 - http://micklab.ru/My%20Modules/EPM9560ARI208.htm
Напомню что это вполне себе неплохая CPLD серии MAX9000 с 560 регистрами и 5В. На ней вполне себе влезает неплохой себе Спектрум клон.
Минус в том что ее поддерживает только MAX PLUS II стоимость ее новой как самолета, но демонтаж вполне себе в Китае можно найти.
Спрашивал у Павла Рябцова, он ответил, что китайцы предлагают демонтаж по 450 руб за шт. Я считаю что это вполне себе неплохо.
Можно пересобрать прошивку ПИКа на 16F628?
Можно пересобрать прошивку ПИКа на 16F628?
Не ну что сразу заваливать личку всяким спамом. Есть же тема, где можно задавать вопросы. Один фиг я что личку читаю, что форум одинаково. Когда могу ответить, отвечаю и личка никоем образом не ускорит этот процесс.
Пересобрать можно, надо немного потрудится. Если знаком с пиками, то мог бы и сам.
Вот пересобрал, правда пришлось по новее mpasmwin взять - https://disk.yandex.ru/d/7QUZP_2jxLkGLQ
Проверяй.
Большое спасибо. С пиками я знаком только визуально. Так то я АВР люблю. Как-то сунулся в Пики, и забросил, не зашли они мне. Но Программаторы есть PICkit2 и 3, и даже зашивал несколько штук.
Так то я АВР люблю. Как-то сунулся в Пики, и забросил, не зашли они мне.
Ну понятно АВР проще, но у пиков есть один несравненный плюс - они совместимы по ногам, по крайней мере определенные серии.
В принципе я тоже пики не очень, но куда то надо контроллеры девать, да и голову поломать иногда надо.
Ну АВР тоже сериями совместим. Например 8,88,168,328 ; 16, 32; 64,128, 1284; 1280,1256. Ну и аттини аналогично. Когда в одном корпусе они идут. Вот в феникс поставил 85 attiny. под нее исходники от 45 собрались без проблем. Ну и в текущей экономике. 88 дороже 628. Да и у меня 628 пара штук демонтажных есть. Они чаще используются во всякой автоматике
А верхнюю плату с CPLD надо отдельно изготавливать? или игрософтовская подходит?
или игрософтовская подходит?
Насколько я помню, игрософтовские должны подходить.
В теме про это должно по идее написано быть.
Вместо IS61C64A-20N (DD9) можно поставить W24m257AK-15? Просто IS61C64А вообще не найти, по крайней мере я не нашел где купить. А на основной игрософта плате W24m257AK-15 2 шт. есть и по пинам подходят за исключением CE2 на IS61C64А, на W24m257AK-15 Вообще нет CE2, а на этом выводе адрессный пин. По идее проблем не должно быть при работе.
https://s1.hostingkartinok.com/uploads/thumbs/2022/05/c5a76fad3e65d799d4d22e3ec9d2adda.png (https://hostingkartinok.com/show-image.php?id=c5a76fad3e65d799d4d22e3ec9d2adda)
https://s1.hostingkartinok.com/uploads/thumbs/2022/05/d1986bd3c64074627a1ed0d6479f37a5.png (https://hostingkartinok.com/show-image.php?id=d1986bd3c64074627a1ed0d6479f37a5)
https://s1.hostingkartinok.com/uploads/thumbs/2022/05/2f306e1d2300a079fd42f692b0729740.png (https://hostingkartinok.com/show-image.php?id=2f306e1d2300a079fd42f692b0729740)
По идее проблем не должно быть при работе.
Не скажу, это надо пробовать.
- - - Добавлено - - -
Просто IS61C64А вообще не найти, по крайней мере я не нашел где купить.
А алик ты не рассматриваешь?
Или нашу барахолку спросить, там от старых материнок должны быть.
И да, эта микруха нужна для палитры. Если палитру не планируешь использовать, то ее можно не ставить.
На алике смотрел. Нет там их. Я думаю попробывать всетаки W24. Ну будет она не с нулевого адреса писать, так там места навалом. :)
В Ижевске показывает наличие (https://efind.ru/offer/HM6264?rid=135) SRAM 8kx8 в некоем "Максимум Плюс" (указаны телефон и email). Что за контора - не знаю.
В Ижевске показывает наличие (https://efind.ru/offer/HM6264?rid=135) SRAM 8kx8 в некоем "Максимум Плюс" (указаны телефон и email). Что за контора - не знаю.
Они широкие, а у меня место под узкие микрухи.
Пардон, был невнимателен.
А какую прошивку шить в ПЗУ.
А какую прошивку шить в ПЗУ.
Все зависит какая у тебя конфигурация. Напомню, что этот комп по сути конструктор и конкретные прошивки зависят от того что автор той или иной конфигурации хотел сделать.
Допустим пентагон
Как говорил один персонаж из фильма "Неверные вопросы порождают неверные ответы"
Так что вопрос задан неверно. Повторюсь, эта платформа по сути конструктор. Основная логика находится в сменном модуле, который может быть собран как на ПЛИС, микросхем программируемой логики CPLD, так теоретически на дискретных микросхем.
То есть ты должен сначала определится что у тебя в качестве модуля будет находится.
А уже потом произвести анализ что туда влезет и что нужно для обвязки (какие микросхемы памяти)
И потом уже либо сам пишешь прошивку, либо берешь готовую, если ее кто то написал другой.
Для примера.
1. Есть модуль на EPM3256AQC208, только надо уточнять какой
2. Есть прошивка на странице - http://micklab.ru/My%20Computer/ZXMJasper.htm
3. В этой конфигурации не нужна микросхемы палитры, так как палитры там нет
4. В качестве микросхемы ПЗУ используется AT29C512 емкостью 64кб, туда прошивается ПЗУ от Феникса или подобного
5. В качестве микросхемы ОЗУ используется UT621024 емкостью 128кб
Касательно самой конфигурации, то что влезло в EPM3256AQC208 (91% занято)
- развертка Пентагон
- поддержка 128кб ОЗУ
- скандаблер VGA, монитор должен держать кадровую развертку 48ГЦ
- поддержка загрузки с магнитофона
- поддержка PS2 клавы
- поддержка AY-3-8912
- нет поддержки SD карты, нужен внешний контроллер накопителей
- нет поддержки турбо режима
Иными словами, тут чисто 128 машина без изысков.
Выглядеть без верхнего модуля должно как то так
https://i.ibb.co/t2QhXBj/zxm-jasper-top.jpg (https://ibb.co/t2QhXBj)
Вот теперь понятно, что в базовой версии можно в ПЗУ прошивку феникса записать. Или ему подобных. Спасибо.
Я так понимаю эти артефакты связаны с памятью скандаблера . Про муар если что. Матрас полосатый потому что ПЗУ не установлена.
https://i.ibb.co/wS23P6b/photo-2022-06-28-23-23-35.jpg (https://ibb.co/wS23P6b)
И нужно просто поставить память помедленнее. 20-ку например?
В общем получилось оставить микросхему памяти родную W24M257AK-15 путем небольшой доработки.
https://i.ibb.co/jWCYZ7W/Screenshot-10.jpg (https://ibb.co/jWCYZ7W)
А клавиатура по какой причине может не работать?
А клавиатура по какой причине может не работать?
Возможно не подходит по протоколу. Ты напиши какая клава и как не работает. А возможно с пиком не так что то.
Клава Diebold и Genius.
Нет реакции на нажатия.
Проверил. Ни при старте, ни при нажатии нет активности на клавиатуре и выходе на ПЛИС.
МК PIC16F628A
Подкинул другой МК. Тоже самое.
Включение питания и сброс с кнопки отрабатывает.
Клава Diebold и Genius.
Модели какие?
Гениусов ведь великое множество всяких разных.
- - - Добавлено - - -
МК PIC16F628A
А это тебе пересобирал под этот пик. Возможно что то пошло не так. У меня таких пиков то нет, проверить не было возможности.
Вот такие клавиатуры.
https://i.ibb.co/WgGpvLG/photo-2022-07-03-20-30-45.jpg (https://ibb.co/WgGpvLG) https://i.ibb.co/VLb865N/photo-2022-07-03-20-30-29.jpg (https://ibb.co/VLb865N)
Вообще не понимаю что там происходит. Оно еще и на ассемблере.
От клавиатур сигналы идут. С МК ничего нет.
Есть готовая прошивка платы CPLD варианта 1?
Вообще не понимаю что там происходит. Оно еще и на ассемблере.
А на чем еще должен быть. Голову поломать самое оно.
Смотри на МК сигналы KBD_CS/, KBD_DATA, KBD_CLK. Должны меняться в такт нажимания кнопок на клаве
- - - Добавлено - - -
Есть готовая прошивка платы CPLD варианта 1?
Это какая?
Для игрософтовского модуля. Они же 2-х вариантов.
Открыл исходники, но там полный геморой. Имена сигналов отличаются от тех что на схеме.
С МК KBD_CS в "0", KBD_CLK в "0" постоянно. KBD_DATA в "1" С момента подачи питания на плату и при включении уровни не меняются.
Может клавиатуры не в том режиме инитятся. НА ZXMC обе клавиатуры работают.
С МК KBD_CS в "0", KBD_CLK в "0" постоянно. KBD_DATA в "1" С момента подачи питания на плату и при включении уровни не меняются.
Значит не работает как надо пик.
Может клавиатуры не в том режиме инитятся. НА ZXMC обе клавиатуры работают.
Если там работают, то тогда должна будет и тут работать.
Не могу разобраться в чем проблема. Клава работае на частоте 17,24 кГц. Непонятно где проблема в прошивке.
Не могу разобраться в чем проблема. Клава работае на частоте 17,24 кГц. Непонятно где проблема в прошивке.
В прошивке чего?
Я допускаю, что возможно есть проблема в пике, у меня такого нет, поэтому может что то не так пошло.
В остальном я разные прошивки (свои) CPLD себе ставил, клава работает.
В прошивке чего?
Я допускаю, что возможно есть проблема в пике, у меня такого нет, поэтому может что то не так пошло.
В остальном я разные прошивки (свои) CPLD себе ставил, клава работает.
В прошивке ПИКа.
Поковырял исходник. Как я понял инициализация включает в себя только сброс клавиатуры и проверка ответа от нее. Не понял как происходит захват данных с клавиатуры. Похоже, что по таймеру и так же по таймеру идет разбор клока. Тогда выходит, что не все клавиатуры будут работать, а только те, у которых по умолчанию частота клока стоит та, на которую рассчитаны задержки таймера. Команд на установку определенной частоты клока в процедуре инициализации клавиатуры я не увидел.
Знать бы алгоритм обработки данных с клавиатуры по полочкам. И какие параметры работы клавиатуры взяты по дефолту. При включении на шине PS/2 видно активность. МК отправляет команду на клавиатуру. Далее при нажатии клавиш видно прохождение клока и даты на МК. А вот с МК ничего не выходит.
И тут я вижу такие варианты.
При инициализации клавиатуры неправильно разбирается ответ от клавиатуры и принимается решение, что ее нет.( при изменении количества попыток поиска с 3-х до 10 просто увеличивается задержка между включением и сигналом сброса на плату)
Из-за неправильных задержек ошибка обработки и так же игнор данных с клавиатуры.
Провели некоторые эксперименты. Выяснилось, что клавиатура бракуется в процессе детекта.
После включения питания клавиатура шлет свое состояние, после этого на шине PS/2 Clock видно импульс от МК, а так же импульс подтяжки Data к нулю. Клок с клавиатуры не появляется.
Обе клавиатуры рабочие. Работают на других спеках, в том числе на фениксе.
После включения питания клавиатура шлет свое состояние, после этого на шине PS/2 Clock видно импульс от МК, а так же импульс подтяжки Data к нулю. Клок с клавиатуры не появляется.
Обе клавиатуры рабочие. Работают на других спеках, в том числе на фениксе.
Заказал себе PIC16F628A как придет проверю.
Огромная благодарность. Мы ещё попробуем другие клавиатуры подцепить.
Nikolay_44
08.08.2022, 10:06
В общем получилось оставить микросхему памяти родную W24M257AK-15 путем небольшой доработки.
https://i.ibb.co/jWCYZ7W/Screenshot-10.jpg (https://ibb.co/jWCYZ7W)
Что за доработка?
Что за доработка?
10 пф повесил на WR видеобуфера. Ставил память 20-ку. становилось лучше, но артефачило все равно. Пока остановился на кондере.
Заказал себе PIC16F628A как придет проверю.
Итак PIC пришел, стал разбираться почему не работает клава. Оказалось что я забыл выключить аналоговый вход компаратора на порте А. На PIC16F88 там по умолчанию входы АЦП, я их выключил, а в PIC16F62A там по умолчанию входы компаратора, вот я их и не выключил.
Ладно, с этой проблемой разобрались, клава стала видится, но ничего не передается на комп. Поглядел осцилом вроде посылки на CPLD идут, но комп не реагирует на них. В общем причина в порте RA4 (это выход клоков передачи данных) пика, у него выход open drain и он хоть и подтянут внешне на питание через резистор 5,6к но валит уровень. И похоже это не нравится CPLD, не может на него среагировать.
Выход, либо пробовать ставить вразрез триггер Шмитта (ТЛ2), либо пытаться переназначить выводы пика, поменять выход RA4 сделав его входом на какой то другой вывод. К примеру на RB7, где сейчас стоит кнопка PWRON. Но в этом случае придется резать дороги. Либо еще вариант переназначить ноги не только на пике, но и на ПЛИС. Но тогда надо переходить везде на этот вариант, я имею ввиду PIC16F88
Либо еще вариант переназначить ноги не только на пике, но и на ПЛИС. Но тогда надо переходить везде на этот вариант, я имею ввиду PIC16F88
После долгого раздумывания, решил пойти этим путем. Переназначил ответственные сигналы на другой порт пика, а также соответственно и ноги ПЛИС поменял.
Попробовал, вроде заработало. Посему это будет теперь основным вариантом развития. Конечно теперь придется везде в схемах ( комп, модули) поменять сигналы.
Кроме того в модуле EPM9560ARI208 создал версию прошивки - так сказать, отправную точку или стартовая версия, от которой будем дальше плясать.
Чуть позже, как подготовлю описание, выложу что там в ней есть в базе.
Так, для релиза стартовой версии прошивки модуля на EPM9560ARC208, затем перенесу под EPM3512AQC208, нужно определится с вопросом.
Какую палитру запихнуть. В яшме 8 битный видео цап с распределением весов
- Blue 2 бит
- Red 3 бит
- Green 3 бит
То есть максимально 256 цветов
Так вот лежит дилема какую палитру применить, стандарт на 8 битную палитру - R3G3B2
Либо как у Профи она G3R3B2.
В первом случае программ нет, во втором случае больше чем ничего - 1, остальное говорят под CP/M (но его пока не планировал)
Так на какой остановится?
CodeMaster
11.10.2022, 10:00
В первом случае программ нет, во втором случае больше чем ничего - 1
Если нет разницы, то зачем платить больше? Делай что ближе по душе.
Если нет разницы, то зачем платить больше? Делай что ближе по душе.
Ну да, разница может появится при реализации режима Профи, но это уже другая история.
А посему значит ставим стандартную палитру - R3G3B2
Привет. Можно исходники для PIC16F628?
[email protected]
Привет. Можно исходники для PIC16F628?
Да, ты прав надо вложить их на сайт. Но там одна загвоздка, там надо также перешивать и большую ПЛИС, ибо ноги переназначены.
Надо вспомнить, что и как, делал я в прошлом году.
Ну 628 у меня в аметист Переехал. В джаспере 88 стоит как и должен. А под аметист все равно нет еще прошивок. Там что угодно можно переназначить. И у меня появилась мысль. Раз клок заваливается может именно на этой ноге подтяжку уменьшить до 2 кОм?
Порт конфига 9560 на 3512 мы сделали. И для ПИк 88 и для 628. Работает. Конечно глюки клавы всеравно есть. С этим будем разбираться.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot