Просмотр полной версии : Вопросы о Z84C00 и eZ80
Вопросы о совместимости с "оригинальным" процессором и имеющимся софтом.
Недокументированные флаги не учитываем.
Почти все недокументированные команды в этих процессорах вроде стали документированными.
В остальном - правильно ли я понимаю, что:
Z84C00 полностью совместим бинарно и по тактам, если подать на него 3,5 МГц, и его можно спокойно использовать в новых компьютерах без потери совместимости
eZ80 совместим бинарно, новые команды старым программам не мешают, проблема в "поломанных" тактах и занятости портов 00...FF, причём проблема тактов более-менее решаема специальным режимом шины
Z84C00 полностью совместим бинарно и по тактам, если подать на него 3,5 МГц, и его можно спокойно использовать в новых компьютерах без потери совместимости
Что за проц за такой? Я такого проца не знаю, а вот обозначения Зайлогов своего CPU Z80 такое есть, они все обзначались именно этой последовательностью, в конце добавляя частоту в Мгц.
Z84C004 - 4 мгц
Z84C006 - 6 мгц
Z84C008 - 8 мгц
Что за проц за такой? Я такого проца не знаю, а вот обозначения Зайлогов своего CPU Z80 такое есть, они все обзначались именно этой последовательностью, в конце добавляя частоту в Мгц.
Z84C004 - 4 мгц
Z84C006 - 6 мгц
Z84C008 - 8 мгц
и еще 10MHz и 20MHz Z84C0020PEG
https://eu.mouser.com/ProductDetail/ZiLOG/Z84C0020PEG?utm_term=Z84C0020&qs=ahrryRM2ahtaw12qdP6z5A%3D%3D&utm_campaign=Z84C0020PEG&utm_medium=aggregator&utm_source=findchips&utm_content=ZiLOG
только на ценник обратите внимание. ez80 первого поколения недоступны. Доступно в основном eZ80Acclaim. "Корок" на них нет. Отладочную плату побаловаться можно привезти.
eZ80 совместим бинарно, новые команды старым программам не мешают... eZ80 вроде бы для спека не подходит, потому что все команды выполняет за один такт, а в схемотехнике спека в промежутких между командами к памяти должен обращаться видеопроцессор...
а в схемотехнике спека в промежутких между командами к памяти должен обращаться видеопроцессор...
Ну а кто тебе мешает увеличить частоту работы системы, память будет работать на частотах выше процессорных, например в 2 раза. И опять же если исходить из синхронной системы, а если асинхронный доступ, то по сути пофиг. Другое дело что будешь делать с 1 тактными инструкциями для мультиколора - только если ловушку на ПЛИС и вставлять WAIT для удлинения инструкций.
Что за проц за такой? Я такого проца не знаю, а вот обозначения Зайлогов своего CPU Z80 такое есть, они все обзначались именно этой последовательностью, в конце добавляя частоту в Мгц.
Z84C004 - 4 мгц
Z84C006 - 6 мгц
Z84C008 - 8 мгц
То есть это и есть Z80, только CMOS?
- - - Добавлено - - -
ez80 первого поколения недоступны. Доступно в основном eZ80Acclaim. "Корок" на них нет. Отладочную плату побаловаться можно привезти.
Каких "корок"? Для FPGA?
- - - Добавлено - - -
Другое дело что будешь делать с 1 тактными инструкциями для мультиколора - только если ловушку на ПЛИС и вставлять WAIT для удлинения инструкций.
Ничего не буду делать, для начала пофиг на мультиколор, а потом посмотрим.
- - - Добавлено - - -
Есть спортивный интерес собрать монстра с MMU, но на реальном процессоре.
То есть это и есть Z80, только CMOS?
- - - Добавлено - - -
Каких "корок"? Для FPGA?
- - - Добавлено - - -
- - - Добавлено - - -
Есть спортивный интерес собрать монстра с MMU, но на реальном процессоре.
не удержался, купил себе по дешевке на eBay 20 MHz DIP-40 Z84C0020PEC за $1.30 правда не факт, что с бесплатной доставкой доедет хотя бы за 90 дней( продавец вроде товары профильные имеет, и эту позицию у него купили 954 раза) По даташиту z84 семейство то же, что z80. Есть ли хоть какие-то реальные отличия знают хардмейкеры здешние. А так вроде СМОS-ы можно гонять если FULL STATIC че-то там на тактовой от 0 до 20 MHz и токо потребления должен падать. Корки? Да, бесплатного ядра eZ80 нетестированного хотя бы, но с исходниками на vhdl(HDL). А какой чип ММU нашли? Корок я че-то пока не нарыл. Если можно на OpenCore типа запрос создать, надо попробовать. Можно и на GitHub-е поискать. И еще вот платку для подключения к Arduino но с безумно дорогой доставкой из USA.
RetroShield Z80 (PCB Only). Туда сокет запаяю и можно будет через Arduino Z84C0020PEC гонять.https://habr.com/ru/post/446048/
eZ80 на HDL вообще не интересует. Я и сам могу написать, но не в этом фишка.
Чип MMU не нашёл, этим будет заниматься FPGA.
eZ80 на HDL вообще не интересует. Я и сам могу написать, но не в этом фишка.
Чип MMU не нашёл, этим будет заниматься FPGA.
это круто! про eZ80 на HDL тогда это огромная линейная память. Но если тебе это так легко, то можешь и z80 корку в нужную тебе сторону модернизировать. То, что Макарченко не успел. Если проц один, то ему только с видео и соундом разбираться. А MMU с одной стороны корректную работу с общей памятью между ними, и с другой под какую-то операционку многозадачную, если есть. Основной плюс FPGA это "красная дорожка" к ASICу. А дальше все от разработчика зависит( держать в своих руках или раздать всем или продавать лицензии) но в любом случае это долголетие железяке обеспечивает. Так как компоненты некоторые вовсе исчезают с рынка и придется плату и схему переделывать, если такое случится. А также габариты и потребление. Напрягает если честно к имеющимся корпусищам еще один громоздить. А так коробку к монику кинул, usb-hub воткнул. Через него все остальное. Лепота!
Но если тебе это так легко, то можешь и z80 корку в нужную тебе сторону модернизировать.
Нет, не легко. Но могу. Но не хочу :)
Удлинять циклы для ez80 не нужно, насколько я помню, когда читал даташит на него, как и Z180/Z280/Z380 он имеет управляющие регистры и там выставляется режим совместимости по тактам с Z80.
Удлинять циклы для ez80 не нужно, насколько я помню, когда читал даташит на него, как и Z180/Z280/Z380 он имеет управляющие регистры и там выставляется режим совместимости по тактам с Z80.
Это не режим совместимости по тактам, а режим совместимости с шиной. Чтобы не одним махом выставлялись все сигналы, а более-менее было похоже на Z80, Intel, или Motorola. В режиме Z80 все обращения к памяти выполняются за 6 тактов.
- - - Добавлено - - -
С удивлением обнаружил, что outi/otir/outd/otdr в Z84 старший байт адреса равен B минус 1.
А вообще кто-нибудь в программе использовал такой блочный доступ к портам, или из-за меняющегося старшего байта адреса он смысла не имеет?
NEO SPECTRUMAN
31.07.2019, 00:05
eZ80 вроде бы для спека не подходит, потому что все команды выполняет за один такт, а в схемотехнике спека в промежутких между командами к памяти должен обращаться видеопроцессор...
а кто мешает подать на него вайты?
- - - Добавлено - - -
А вообще кто-нибудь в программе использовал такой блочный доступ к портам
outi
каждый первый Ау плеер
каждый первый Ау плеер
А, ну то есть этот странный старший байт номера порта не используется...
NEO SPECTRUMAN
31.07.2019, 00:45
используется
ROUT XOR A ; ;
ROUT_A0 LD DE,$FFBF ; ;
LD BC,$FFFD ; ;
LD HL,AYREGS ; ;
LOUT OUT (C),A ; ;
LD B,E ; ;
OUTI ; ;
LD B,D ; ;
INC A ; ;
CP 13 ; ;
JR NZ,LOUT ; ;
OUT (C),A ; ;
LD A,(HL) ; ;
AND A ; ;
RET M ; ;
LD B,E ; ;
OUT (C),A ; ;
RET ; ;
просто сделать outi и востановить b 20t
а прочитать hl проинкрементить и отправить в порт как минимум 22t
Неожиданно. Прям засада с этими портами.
NEO SPECTRUMAN
31.07.2019, 00:55
Неожиданно. Прям засада с этими портами.
ну а кто мешает положить на несовместимое и таки использовать?
что то останется работать
что то можно будет допилить
можно вообще делать хардварный перехват несовместимых команд
хотя у ез80 по моему уже конвеер
и это будет сложнее
можно ставить вторым процем...
хотябы чтоб работали или тот или тот
можно вообще делать хардварный перехват несовместимых команд
хотя у ез80 по моему уже конвеер
и это будет сложнее
Да, в мануале даже картинка есть, как там операции на шине перетасовываются.
Хардварный перехват будет однозначно. Но, однако, на сложную задачу замахнулся, это я уже понял.
можно ставить вторым процем...
хотябы чтоб работали или тот или тот
Мне этого мало :)
Задача-максимум: запустить две программы, написанных для 48/128/etc, и чтобы они независимо выполнялись, выводя изображение в окна. Многозадачность и виртуализация Z80 на Z80. С эмуляцией дисковода, AY, регистра 7FFE и прочего.
Да, в мануале даже картинка есть, как там операции на шине перетасовываются.
Хардварный перехват будет однозначно. Но, однако, на сложную задачу замахнулся, это я уже понял.
Мне этого мало :)
Задача-максимум: запустить две программы, написанных для 48/128/etc, и чтобы они независимо выполнялись, выводя изображение в окна. Многозадачность и виртуализация Z80 на Z80. С эмуляцией дисковода, AY, регистра 7FFE и прочего.в каком мануале? ты на какой чип нацелился?
Пока не уверен. На Z84 (буду называть его так) вроде получается проще, но eZ80 быстрее раз в 10 и может адресовать 16 мегабайт.
Партнамбера то у них есть? Вот например проц со встроенным MMU Z8018008VSG, правда пускается на частотах только до 10MHz Z8018010VSG и старенький
https://docs-emea.rs-online.com/webdocs/1386/0900766b81386676.pdf
есть навороченные чипы типа eZ80F91 Series 256 kB Flash 8 kB RAM 50 MHz 8-Bit Microcontroller - LQFP-14469689
Z8018008VSG: 10 МГц, 2.5 MIPS макс., 64 килобайта, простой MMU на 1 мегабайт.
Z84C0020: 20 МГц, 5 MIPS макс., 64 килобайта, без MMU.
eZ80F91: 50 МГц, 50 MIPS макс., 16 мегабайт, и даже без MMU.
А вообще конечно странные процессоры у Zilog. Что-то есть в одном, что-то в другом. Если б их все вместе собрать такая замечательная вещь получилась бы...
Зато посмотри pb0135.pdf у него чего только на борту нет. Ethernet даже есть. Странные потому, что фирма обеднела и поглощена IXYS, вот они и компонуют под конкретные разработки. Один из чипов стоит в графическом калькуляторе TI-84 Plus CE и стоит до сих пор денег!
Странные потому, что фирма обеднела и поглощена IXYS, вот они и компонуют под конкретные разработки.
Может и так. eZ80190 ну прям DSP, интересно под что его компоновали.
NEO SPECTRUMAN
31.07.2019, 05:32
Z84C00 полностью совместим бинарно и по тактам, если подать на него 3,5 МГц, и его можно спокойно использовать в новых компьютерах без потери совместимости
На Z84 (буду называть его так)
присмотрелся
дык это просто CMOS-ная версия проца (так и нужно ее называть)
а не разводить тут Z084, Z84
и она не полностью совместимая с NMOS-ной
место out (C),$00 выдает out (C),$FF
и местами для бипера и мультибордера это критично...
изза этого иногда даже делают 2 версии демки
а гарантированно стоит CMOS-ный z80 например в пентево рев С и вроде в рев B
Это не режим совместимости по тактам, а режим совместимости с шиной. Чтобы не одним махом выставлялись все сигналы, а более-менее было похоже на Z80, Intel, или Motorola. В режиме Z80 все обращения к памяти выполняются за 6 тактов.
Это у какого варианта процессора? В eZ80190 Product Specification (ps0066.pdf) написано, что может добавлять от 0 до 7 wait states при обращении к памяти или портам (настраивается индивидуально для каждого chip select). О режиме совместимости ez80 с шиной z80 не видел информации.
Режим совместимости с шиной z80 есть у Kawasaki KL5C8400.
А как обстоят дела с доступностью всех тут обсуждаемых экзотических вещей. Это на тот случай, если в планах стоит повторяемость изделия.
присмотрелся
дык это просто CMOS-ная версия проца (так и нужно ее называть)
а не разводить тут Z084, Z84
и она не полностью совместимая с NMOS-ной
место out (C),$00 выдает out (C),$FF
и местами для бипера и мультибордера это критично...
Понял, не буду разводить.
Что вместо чего выдаёт не понял.
Но всё равно, эмулировать бипер под многозадачной операционкой... это тема для отдельного извращения.
- - - Добавлено - - -
Это у какого варианта процессора? В eZ80190 Product Specification (ps0066.pdf) написано, что может добавлять от 0 до 7 wait states при обращении к памяти или портам (настраивается индивидуально для каждого chip select).
Это у eZ80F91. Добавлять wait states он может, но ко всем одинаково, а у Z80 циклы доступа к памяти имеют длину 3-4-5 тактов. Только если снаружи при М1 дополнительно один wait добавить.
- - - Добавлено - - -
А как обстоят дела с доступностью всех тут обсуждаемых экзотических вещей. Это на тот случай, если в планах стоит повторяемость изделия.
На мой взгляд доступность не хуже, чем у Z80 в DIP-40.
Ещё вопрос по Спектрумам и их родственникам.
У процессора есть несколько режимов прерывания: 0, 1, 2.
0 - выполняем инструкцию RST 38h, которая приходит в качестве "вектора" (опкод FFh)
1 - всегда выполняем RST 38h
2 - читаем вектор, читаем адрес по этому вектору, идём по адресу.
В Спектрумах всегда используется вектор FF?
#INT всегда заведён на кадровую развёртку?
#NMI только для кнопки MAGIC?
Или есть модификации, в которых это не так?
Что будет, если во время обработки прерывания придёт ещё один запрос? Я, честно говоря, уже не помню как писать обработчик. В начале DI, в конце RETI?
Может ли отработать NMI, если мы уже в обработчике NMI? Пофиг что испортятся IFF1/IFF2, интересует поведение в целом.
- - - Добавлено - - -
А, ещё. Вроде там какой-то баг был с этими IFF. Киньте ссылку на описание бага, пожалуйста.
- - - Добавлено - - -
Бли-ин... Ещё вспомнил про глюк прерываний на цепочке префиксов... Пока будем считать это таким же жёстким багом, как F00F у Пентиума :)
OrionExt
31.07.2019, 14:20
Как самого близкого потомка в цепочке развития Z80, могу предложить Z280. Все остальное или аналог Нitachi, или особо не относится Z80.
Честно и Z280 далек от z80, но турбо паскаль из коробки очень даже шустро работает на нем (тестил на реале).
А как обстоят дела с доступностью всех тут обсуждаемых экзотических вещей. Это на тот случай, если в планах стоит повторяемость изделия.
на текущий момент доступны ( китайский продавец не проверен )с eBay EZ80F91AZA50SG 1200 руб. с доставкой, австралийские и британские продавцы с доставкой цены выше. На Mouser, если у кого-то есть друзья в Америке около 600 руб. $9.93 за 1 шт., от 100 шт. $7.35 на их складе сейчас 222 шт. Но если будут распроданы, они у Zilog(IXYS) дозакажут за 15 недель
- - - Добавлено - - -
Как самого близкого потомка в цепочке развития Z80, могу предложить Z280. Все остальное или аналог Нitachi, или особо не относится Z80.
Честно и Z280 далек от z80, но турбо паскаль из коробки очень даже шустро работает на нем (тестил на реале).
Z280 в данный момент среди текущих продуктов не значится. В разделе Classic Products есть z180 и они доступны, например Z8018010VSG и на eBay 980 руб. с доставкой и на Mouser, но цены не ниже, чем на eZ80, так как меньше спрос дороже воспроизводство. А на экзотику в корпусе DIP64 Z8018010PSC так вообще американская цена $29.26, правда на Z8018008PSC если купить в Америке 4 шт. около $24.
Если есть доступная корка в исходниках, то ведь можно ее тянуть в нужную сторону. Нет?
OrionExt
31.07.2019, 15:02
Да ясный пень. О каких маусерах речь. Все давно снято с производства. И скоротечная жизнь тут обсуждаемого eZ80 давно подошла к концу. Речь о китайских разборках. Z280 - $3.
Я не топлю за Z280. Что интересно производитель не сделал для своего детища не единицы инструментального софта.
NEO SPECTRUMAN
31.07.2019, 16:34
Что вместо чего выдаёт не понял.
дык команда такая
которая закидывает в порт 0
на смос-ах закидывает в порт 255
OrionExt
31.07.2019, 16:40
дык команда такаяБыло такое дело (всем Z80 известно). Но так криво закинуть на форум надо уметь. Я и сам призадумался :)
NEO SPECTRUMAN
31.07.2019, 17:18
Но так криво закинуть на форум надо уметь. Я и сам призадумался
:v2_dizzy_facepalm:
впрочем не важно
OrionExt
31.07.2019, 17:29
:v2_dizzy_facepalm:
впрочем не важноТщательнее нужно быть, в выборе мази для особо острых тем на zx.pk, если решил влиться :)
Вопросы о прерываниях пока открыты.
И дополнительно: страничная организация в Спектрумах бывает только по 16 килобайт? Другие есть?
OrionExt
31.07.2019, 18:30
А чего там обсуждать прерывания ZX. Mode 1.
Остальное на ваше усмотрение. Все возможно. Это не регламентируется стандартом ZX-48 (128). Какие глюки вы там наловите, как говориться на ваш страх и риск. Но как показала практика Mode 0 по известным причинам – в лес. Mode 2 маст хев.
Про MMU (мууууууууу ) крив и кос.
- - - Добавлено - - -
Логику MMU можно понять, при условии - быть лыцарем Англии.
Да ясный пень. О каких маусерах речь. Все давно снято с производства. И скоротечная жизнь тут обсуждаемого eZ80 давно подошла к концу. Речь о китайских разборках. Z280 - $3.
Я не топлю за Z280. Что интересно производитель не сделал для своего детища не единицы инструментального софта.
eZ80 будет жить, пока живы ti84 plus ce, а они живы и производятся и продаются до сего дня десятками тысяч штук. Amazon ими барыжит, а не только eBay.
https://www.amazon.com/Texas-Instruments-TI-84-Graphing-Calculator/dp/B00TFYYWQA
а он не будет продавать только остатки складов, даже если их там тысячи штук неликвидов.
Китайские разборки по $3 это очевидно снятые со старых плат Z280? Но китайцы по серии искать не будут. О каком партнамбере речь? Если там шариковые контакты, то у меня был плачевный пример, когда мой любимый клиент был вынужден мне простить 1 млн. рублей зарплаты, так как китайцы прислали совершенно работающие чипы, но шариковые контакты хреново восстановленные, что удалось обнаружить только рентгеном. А наш менеджер по поставкам в компании все это прошляпил. В Питере есть куча компаний, которые классно восстанавливают шариковые контакты, но недешево! Так что если у z280 шариковые контакты, то сразу под рентген!
A z180 и eZ80 это не снятые с плат, а совершенно новые не юзанные чипы. И зайди на сайт Zilog инструменты под них есть.
- - - Добавлено - - -
И дополнительно: страничная организация в Спектрумах бывает только по 16 килобайт? Другие есть? ты про основную память? и про какие Спектрумы? про самые распространенные?
NEO SPECTRUMAN
31.07.2019, 19:04
И дополнительно: страничная организация в Спектрумах бывает только по 16 килобайт? Другие есть?
наши спектрумы да
есть новомодный неспектрум некст на одной мелкосхеме
там есть режим 8 страниц по 8к
есть чудо совместимое с 48 спектрумом
под названием sam coupe
в котором 2 страницы по 32к
и еще по моему дополнительно 16к смещение в них и подставление 16к пзу поверх
И дополнительно: страничная организация в Спектрумах бывает только по 16 килобайт? Другие есть?
ОЗУ 128К спектрумов разделено на страницы по 16К, других нет, разве что у Таймекса может что-то и было другое. Одно окно в 16К с адреса С000 куда можно эти страницы подключить, с 4000h страница 05, с 8000h страница 02.
NEO SPECTRUMAN
31.07.2019, 19:06
Тщательнее нужно быть, в выборе мази для особо острых тем на zx.pk, если решил влиться
читать нужно
слева на право
сверху вниз
- - - Добавлено - - -
Одно окно в 16К с адреса С000 куда можно эти страницы подключить, с 4000h страница 05, с 8000h страница 02.
каменный век...
судя по всему вопрос глобальный
а не про один только 128к...
любая банка в любое окно наше все
Логику MMU можно понять, при условии - быть лыцарем Англии
не лазай туда ассемблером, или по крайней мере пользуйся системными вызовами и будет все хорошо
OrionExt
31.07.2019, 19:46
andrews, вон оно как. Не когда бы не подумал что eZ80 эмулятор - для куркулятора на z80 (посчитать синусоиду на 128*64 в графоне). Короче сам люблю потыкать в реальные кнопки. Недавно ткнул инет. ППЦ. Рынок с живыми кнопками - сдох.
Да, вопрос глобальный. От этого зависит что можно будет эмулировать.
Значит остановимся на 16 килобайтах. Экзотику трогать не будем.
NEO SPECTRUMAN
31.07.2019, 19:53
andrews, вон оно как. Не когда бы не подумал что eZ80 эмулятор - для куркулятора на z80 (посчитать синусоиду на 128*64 в графоне). Короче сам люблю потыкать в реальные кнопки. Недавно ткнул инет. ППЦ. Рынок с живыми кнопками - сдох.
а сам так понаписал что хер поймешь суть...
OrionExt
31.07.2019, 20:01
не лазай туда ассемблером, или по крайней мере пользуйся системными вызовами и будет все хорошо
Не лазайте по страницам и будете довольны. ЫЫЫ. Manic Miner рулит. ВИДИМО. КЛАЙВ РЕКОМЕНДУЕТ.
А там то нет ничего (биваса нет). СЭР на утро кушает овсянку.
NEO SPECTRUMAN
31.07.2019, 20:03
а так до ез80 жжот
https://www.youtube.com/watch?v=4C7XP6w4bQQ
вон оно как. Не когда бы не подумал что eZ80 эмулятор - для куркулятора на z80 (посчитать синусоиду на 128*64 в графоне).исходников их софта в руках не держал, но по сравнению с TI-84 на z80 продвинулись они неплохо
https://www.ti84calcwiz.com/math-programs/ игрухи, символьные вычисления и пр. Живые кнопки там остались. Просто это живой пример, что вытягивает eZ80, и то они его использовали на 25% как всегда. Можно просто выкинуть их ПЗУ и использовать все остальное ))
OrionExt
31.07.2019, 20:17
Видимо темка слилась. NEO SPECTRUMAN?, Пора включать задний привод :v2_dizzy_roll:
NEO SPECTRUMAN
31.07.2019, 20:24
OrionExt, иди в баню
и сам там включай свой задний привод
OrionExt
31.07.2019, 20:37
Тролить офф. А зачем мне эмульгатор на eZ80? Поддержать очередного дебила хозяина фирмы zilog. Закину $40 на программатор новый китайсам :v2_dizzy_army:
По памяти.
Итого, значит, делим на страницы по 16 килобайт. Каждой задаче доступно до 240 страниц (3,75 мегабайта). Физической памяти для начала будет 256 страниц (4 мегабайта), если вся эта вундер-система взлетит - добавим контроллер DRAM и сделаем физическую память до 4096 страниц (64 мегабайта).
Микросхемы быстрой статической памяти 2Mx16, оказывается, редкость. Пока нашёл только IS61WV204816BLL-10TLI. Её, наверное, и поставлю в прототип.
OrionExt
31.07.2019, 20:55
Z280 – это было лучшее с опозданием на 5 лет. Дальше обсуждать нечего, от манагеров которые вещали движуху новых обладателей золотого пакета zilog.
По памяти.
Итого, значит, делим на страницы по 16 килобайт. Каждой задаче доступно до 240 страниц (3,75 мегабайта). Физической памяти для начала будет 256 страниц (4 мегабайта), если вся эта вундер-система взлетит - добавим контроллер DRAM и сделаем физическую память до 4096 страниц (64 мегабайта).
Микросхемы быстрой статической памяти 2Mx16, оказывается, редкость. Пока нашёл только IS61WV204816BLL-10TLI. Её, наверное, и поставлю в прототип.
а надо ли ее столько? Она ведь недешевая!Какие видеорежимы будешь поддерживать?
Эту быструю память имхо лучше считать в страницах экрана.
Расширять ее память в зависимости от габаритов несущей платы. Если компактная - весь комп в коробочку это одно. Если в клавиатуру как ZX NEXT это другое. Если в кейс то третье.
а надо ли ее столько? Она ведь недешевая!Какие видеорежимы будешь поддерживать?
Эту быструю память имхо лучше считать в страницах экрана.
Расширять ее память в зависимости от габаритов несущей платы. Если компактная - весь комп в коробочку это одно. Если в клавиатуру как ZX NEXT это другое. Если в кейс то третье.
Вообще статической столько не надо. Это прототип, не хочу заморачиваться ещё и контроллером DRAM. Наверное, обойдусь 1 мегабайтом. Дорого.
Видеорежим пока планируется только один - VGA 320x240 (реально 640x480, 60 герц), 256 цветов. 75 килобайт экран.
Но поскольку эта странная конструкция планируется быть многозадачной и оконной, то в страницах экрана считать нет смысла.
Вообще это только рассуждения, я даже не знаю что из этого получится.
Читаю мануал на eZ80 - пока всё хорошо. Пробовать надо.
NEO SPECTRUMAN
31.07.2019, 22:56
VGA 320x240 (реально 640x480, 60 герц), 256 цветов
почему не 256х192 256 цветов с идеальной адресацией (YYYY YYYY XXXX XXXX) 48к экран ?
Так что если у z280 шариковые контакты, то сразу под рентген!
z8028010VSC PLCC-68
z8028010VSC PLCC-68убедили, такие заказать можно и возможно с целыми контактами, если их вытащили из сокета, куда их опять таки можно засунуть. На Aliexpress продают партию DC 9025, на eBay DC 9413. Если и перемаркер, то возможно не оба сразу. Кстати, в каком году Zilog их сняла с производства?
почему не 256х192 256 цветов с идеальной адресацией (YYYY YYYY XXXX XXXX) 48к экран ?
Потому что это один из родных режимов для VGA, пусть выводит картинку на весь экран.
И потому что, как я предполагаю, картинку 256x192 можно будет формировать в памяти и выводить на экран. Считайте, что этот режим тоже есть.
Как примерно это будет:
- запускается приложение, допустим, с адреса 0x000100, оно занимает 10 страниц по 16 килобайт (большой бинарник, много спрайтов)
- приложение запрашивает у операционной системы 6 страниц с адреса 0x050000
- рисует картинку 256x192 с адреса 0x050000 и говорит операционке "покажи вот это"
- рисует картинку 256x192 с адреса 0x05С000 и говорит операционке "теперь покажи вот это"
Или показывает всегда 0x05C000, рисует всегда на 0x050000, потом копирует на 0x05C000.
Всё это происходит в виртуальных адресах.
Можно запустить вторую копию этого же приложения, на экране должны быть две перекрывающиеся картинки. Как вариант - в окнах. Или вывод на весь экран, переключение по какому-нибудь Win+Alt+цифра.
Мечты... :)
Хотя я уже представляю как это сделать, главная проблема - скорость FPGA.
Потому что это один из родных режимов для VGA, пусть выводит картинку на весь экран.
И потому что, как я предполагаю, картинку 256x192 можно будет формировать в памяти и выводить на экран. Считайте, что этот режим тоже есть.
Как примерно это будет:
- запускается приложение, допустим, с адреса 0x000100, оно занимает 10 страниц по 16 килобайт (большой бинарник, много спрайтов)
- приложение запрашивает у операционной системы 6 страниц с адреса 0x050000
- рисует картинку 256x192 с адреса 0x050000 и говорит операционке "покажи вот это"
- рисует картинку 256x192 с адреса 0x05С000 и говорит операционке "теперь покажи вот это"
Или показывает всегда 0x05C000, рисует всегда на 0x050000, потом копирует на 0x05C000.
Всё это происходит в виртуальных адресах.
Можно запустить вторую копию этого же приложения, на экране должны быть две перекрывающиеся картинки. Как вариант - в окнах. Или вывод на весь экран, переключение по какому-нибудь Win+Alt+цифра.
Мечты... :)
Хотя я уже представляю как это сделать, главная проблема - скорость FPGA.
посмотри на современные Спектрумы, особенно ZX Next и EVO и позиционируйся с чем-то новым. Прогресс не стоит на месте, как у Xilinx, так и у Alter-а(Intel). Там любые скорости, вопрос в цене. Кстати, спецификацию всегда надо совмещать с параллельной калькуляцией( во первых цены у других, во вторых психологическая "красная черта". Какой бы ни был супер-пупер новый Спектрум, но есть и другие линии компов, да та же "малина" и все китайские линейки "апельсины" и прочие на "вышедших в тираж" коммуникационных процах. К счастью для нас, сейчас они все дружно лет на десять-пятнадцать тормознутся на проектной норме 7 нм, а после 4 нм уйдут в аут и на тридцать лет )) Они как правило линуксанутые и андройднутые, что в общем-то почти одно и то же, но может кто-то додумается написать нечто более отдаленное от этих систем и простое, так как детям до 16 лет и Linux и Android противопоказаны для их детского здоровья, начиная с глаз и копчика). Если про 7 и 4 нм мое предположение верно, то у спектрумистов и Спектрума еще лет 40 жизни точно есть :)
Если фишка в средствах разработки, я бы не стеснялся добавить ядро 8086 с чего и начиналось обсуждение. Но тут тебе видней, что труднее сделать прикрутить это ядро или перенести на расширенный z80. И не откладывай решение по форм-фактору( коробочка, совмещенный с клавиатурой, кейс) это сильно повлияет на дизайн несущей платы, а значит и выбор комплектующих. Все это конечно вопросы отдаленного будущего, как я понимаю не ранее 2020 года.
В общем удачи, буду с интересом следить за развитием событий. Судя по твоему предыдущему проекту ты креативщик упорный и результативный!
OrionExt
01.08.2019, 13:06
Кстати, в каком году Zilog их сняла с производства?У меня с датой 90...92г. на 10MHz и 12MHz. В сети видел 93г.
https://3.bp.blogspot.com/-n3KjDAUjVQU/XFQic9TVTgI/AAAAAAAABXU/Y38dSgx4M18K67N8yVTFrpGl6WlrdfuPgCKgBGAs/s1600/IMG_0757s.jpg
Если фишка в средствах разработки, я бы не стеснялся добавить ядро 8086 с чего и начиналось обсуждение. Но тут тебе видней, что труднее сделать прикрутить это ядро или перенести на расширенный z80.
Z80 для настоящего времени имеет два недостатка - адресное пространство и быстродействие. Это можно решить, написав ядро для FPGA, но тут для меня нет ничего нового и интересного.
В eZ80 недостатки устранены, причём достаточно грамотно. Но нет защиты памяти для многозадачности, и порты реализованы не совсем удачно для Спектрума. Я собираюсь исправить это внешней обвязкой, по возможности сохранив совместимость с имеющимся софтом. Да, биперы и бордер-эффекты работать не будут, но это тема для отдельного разговора.
Если же к 8086 прикрутить MMU и многозадачность - получится 80386. Сделать компьютер на 80386 тоже интересная задача, но тут нового ещё меньше, чем в ядре Z80 на HDL.
640 килобайт памяти доступно, 24-битная арифметика в eZ80 есть, скорости тоже достаточно.
Труъ-маньяки могут потом написать эмулятор 8086 на Z80 :)
В eZ80 недостатки устранены, причём достаточно грамотно. Но нет защиты памяти для многозадачности, и порты реализованы не совсем удачно для Спектрума.
в z280 есть MMU, уровни привилегий, кажется до 16мб адресное пространство, работа с драм, кеш. итд итп. Взрослый процессор на тот момент. Однако есть ньюансы...
В eZ80 недостатки устранены, причём достаточно грамотно. Но нет защиты памяти для многозадачности, и порты реализованы не совсем удачно для Спектрума.
Увы, для многозадачности качественной этого мало. 80386 и его наследники (всё семейство вплоть до последних x64) позволяют же сделать не просто защиту записи в регионы памяти. Там всё иначе устроено. Каждая задача имеет своё собственное адресное пространство, причем оно может быть больше чем физическое ОЗУ. Для многозадачной ОС это самое главное. А расширенные Z80 всего этого не имеют. Ну можно ставить битик защиты записи для страниц на 280 и что? Всё упирается в 64К адресного пространства и мастурбацией со страницами (как анекдот про арбуз, танцы мужика). Программа сама должна всё переключать копировать, это очень очень сложно. Страницы ОЗУ у 180 и 280 устроены почти так же как если бы мы аппаратно делали окна и подключения. Более того, оно там так и сделано, но только внутри проца и у 180 окно программно задается, у 280 страницы по 2К вроде и их может быть до 32 или 16 (мануал читал лет 7 назад). К примеру, разложили мы страницы по задачам. Т.е. вернее решили мы запустить первую программу, дали ей несколько страниц, из них состоит тот кусок ОЗУ что в адресном пространстве, далее программа уже может сама запрашивать страницы и ОС знает, что они "заняты" и таким то процессом. Хорошо. Но далее размера в 62К не уйти. И программа сама должна щёлкать страницами для работы. В 80386 всё проще в разы, задача не знает как там оно всё устроено, ей кажется что есть пустое адресное пространство и всё, и есть точка выхова ОС, ОС уже сама занимается перемещением страниц с диска в память. А идущие подряд байты в ОЗУ задачи могу быть физически лежать в страницах хаотично разбросанными по всему ОЗУ, тут проц по запросу команды берет сам из нужного места. Чувствуешь разницу?
Vadim, всё именно так! Но у eZ80 в этом плане есть огромный плюс - он может адресовать 16 мегабайт без мастурбации со страницамии и без сегментов как в 8086!
Прикрутить снаружи транслятор адресов - и вот уже каждая задача выполняется в своём линейном пространстве, ничего не зная о соседних задачах и расположении страниц в физической памяти. С защитой от записи, превышением объёма физического ОЗУ, и прочим.
Z80 для настоящего времени имеет два недостатка - адресное пространство и быстродействие. Это можно решить, написав ядро для FPGA, но тут для меня нет ничего нового и интересного.
В eZ80 недостатки устранены, причём достаточно грамотно. Но нет защиты памяти для многозадачности, и порты реализованы не совсем удачно для Спектрума. Я собираюсь исправить это внешней обвязкой, по возможности сохранив совместимость с имеющимся софтом. Да, биперы и бордер-эффекты работать не будут, но это тема для отдельного разговора.
Если же к 8086 прикрутить MMU и многозадачность - получится 80386. Сделать компьютер на 80386 тоже интересная задача, но тут нового ещё меньше, чем в ядре Z80 на HDL.
640 килобайт памяти доступно, 24-битная арифметика в eZ80 есть, скорости тоже достаточно.
Труъ-маньяки могут потом написать эмулятор 8086 на Z80 :)медленно будет работать эмулятор 8086 под eZ80. Если 8086 интересен инструментальным софтом для z80, то его ядро должно работать на максимальной возможной скорости! И такого зверя на Спектруме точно никто не делал :) А инструментария на самом Спектруме не так уж много, как хотелось бы.
386-й точно никто не сделает в FPGA. Если бы это было возможно, сам Intel, который слопал Alter-а сейчас бы это сделал. В нем слишком уж много эквивалентных вентилей. Ну а MSDOS можно и упростить в этом случае. Так как кроме поддержки консоли и файлов для инструментария ничего не нужно.
Общая же система должна быть максимально простой для восприятия новичком, программистом, пишущим под нее игровой софт и всякие клиенты для интернета. То есть придерживаться концепции "тонкого клиента" для облачных вычислений, современных коммуникаций, ну и для креативщиков нужны все средства разработки графики, видео, музыки в том числе и как части игр. Кол-во одновременно выполнимых задач не знаю какое, дюжины бы вполне хватило имхо. Не в маньячности дело, но наполнять комп все-равно пока он не вылижется до устойчивости будут как не крути с писишки. Да и есть игры старые любимые DOS-овские без исходников. Но правда тогда надо еще и экранами озаботится VGA совместимыми в этом zDOSе. Кстати для многозадачной системы было когда-то задумка назвать ее zDoors.
...Но далее размера в 62К не уйти. И программа сама должна щёлкать страницами для работы. В 80386 всё проще в разы, задача не знает как там оно всё устроено, ей кажется что есть пустое адресное пространство и всё, и есть точка выхова ОС, ОС уже сама занимается перемещением страниц с диска в память..Чувствуешь разницу?
смешал все в кучу при сравнении 386 и z80, то что большее адресное аж на 16bit у 386 никак не влияет на ''..сама должна.." и "..задача не знает как там..", ну т.е. это "мокрое" и "широкое" (разные dimensions)... можно и для z80 разработать linker\loader который будет обеспечивать передачу управления от одного куска проги в другой и передачу данных из одного куска в другой при этом так чтоб от проги требовалось вызвать int8h например
andrews, тогда уж взять FPGA в корпусе BGA и вместе с eZ80 прикрутить к ней реальный 80386, чего мелочиться :D
А если серьёзно, то не вижу смысла в таком гибриде. DOS на нём всё равно не запустится, слишком много окружения тащить надо. Тем более что весь IBM PC вместе с 8086 в FPGA уже есть.
Вот второй железный eZ80 прикрутить - это интересная задача ;)
Если смотреть "с правильной стороны" то у каждой задачи "свой" процессор Z80 и 64Кб памяти (а если постараться то и 64Кб кода и + 64Кб данных) и заметьте всё это без активации режима "своп на винчестер" тк реальной памяти больше чем требуется "задаче". И таких задач может быть без напряга до 256 шт (грубо говоря 256 шт. ZX-Spectrum48). На ПК на оборот - задача "думает" что у неё до хрена памяти, а по факту реальной памяти в 10000000 раз (условных) меньше - те эмулируем ОЗУ на винчестере.
И задача "сама" не будет щёлкать станицами, она может сделать запрос к специально обученной задаче и эта задача выполнит запрошенное деяния (и кучу др. если потребуется).
И задача "сама" не будет щёлкать станицами, она может сделать запрос к специально обученной задаче и эта задача выполнит запрошенное деяния (и кучу др. если потребуется).
Это при условии, что сама по себе эта задача вписывается в 64к или 64к+64к. Программа и драйвер файловой системы, например. Я думаю в NedoOS так и сделали. А если надо больше?
Вот пишу я компилятор. Если его "как есть" собрать для Z80, то получается 200 килобайт одного только кода, плюс данные при работе. Это как впихнуть в формулу "(64к+64к)*страницы"?
andrews, тогда уж взять FPGA в корпусе BGA и вместе с eZ80 прикрутить к ней реальный 80386, чего мелочиться :D
А если серьёзно, то не вижу смысла в таком гибриде. DOS на нём всё равно не запустится, слишком много окружения тащить надо. Тем более что весь IBM PC вместе с 8086 в FPGA уже есть.
Вот второй железный eZ80 прикрутить - это интересная задача ;) "так она с кузнецом придет. А зачем нам кузнец?" Зачем нам весь IBM PC 8086? Microsoft исходниками "поделился" только не 3 или 4 версией. а 2-й, видимо это для 8088. Еще раз скажу, что десять разработчиков "Светланы МЭ" не смогли за 12 лет воспроизвести российский 386 к 1998 году, так что между 8088 и 80386 это как от Земли до Луны пехом. К тому же FPGA более чем на 24к LE неподъемны по цене >$24 в Америке. Эта гадская ценовая политика производителей FPGA. Если бы они снижали цены каждого 1k LE за 20 лет в 100 раз и продавали бы лучше чипы 1 поколений с большой емкостью за $5, то что когда-то стоило $500. Поэтому может придется взять физически самые скорострельные Z84C0020PEC и NEC V20 в DIP( чтобы работали на любой нужной частоте), а "склеить" их недорогой FPGA. Ага, вот такая сумасшедшая идея :) не хотелось бы, чтобы комплектация стоила дороже $40. А перефирия использовалась бу от любых старых компов: COM-порт мыши, и PS/2 клавиатуры, джойстики, IR ввод/вывод, имитаторы мафонов, microSD вместо винчестеров, VGA. Память самая дешевая статическая до 2 Mb.
andrews, ага, хт на v20, в ней эмулятор zx spectrum в пзу прошить
для поиска такой был эмулятор
и вся краснея от стыда
он сказала не туда
мысль не туда пошла кмк
был же спектрум на 68000 , во
правда не совместимый совсем
зато басик и софтей кой какой
Поэтому может придется взять физически самые скорострельные Z84C0020PEC и NEC V20 в DIP( чтобы работали на любой нужной частоте), а "склеить" их недорогой FPGA. Ага, вот такая сумасшедшая идея :)
Спасибо, но мне своих идей хватает, не менее сумасшедших :)
andrews, ага, хт на v20, в ней эмулятор zx spectrum в пзу прошить
для поиска такой был эмулятор
и вся краснея от стыда
он сказала не туда
мысль не туда пошла кмк
был же спектрум на 68000 , во
правда не совместимый совсем
зато басик и софтей кой какой
зачем эмулятор? z80 работает в привычных режимах, если нужны какие-то кросс инструменты или урезанный dos переходишь одной кнопкой в dos, нужно обратно опять же быстро переходишь обратно. Памяти каждому по 1 Мегабайту относительно быстрой, если че надо выгрузить загрузить на microSD видимую обоим, но не одновременно! Ну что еще надо? COM Модемы старые аналоговые еще не все выкинули? У меня дома лежит, и телефон стационарный в отличие от телека не успели, гады, на цифру перевести, IR адаптер для PC. BT нет. Винчестеров нет. Форм фактор желательно коробочка. Я не знаю, сбудутся ли мои прогнозы об очень тяжелых временах похуже Великой американской депрессии, но если сбудутся, то деньги будут людям очень нужны, как и коммуникации. Ну а уж если санкции вынудят Россию покупать все в Китае и китайцы взвинтят цены на микроэлектронику, то самый передовой завод у нас в России 45 нм проектная норма для избранных, а для остальных 130 нм если че. Motorolа пока не рассматриваем. Это уж совсем не Zilog(Intel(Altera))
Кстати об имитаторах мафонов и дисководов.
С жёстким диском всё понятно - эмулируем.
С магнитофонами - стандартные процедуры перехватываем, нестандартные загрузчики работать не смогут. Но в будущем что-нибудь придумаем.
Что с дисководами? Я с ВГ93 никогда не работал, ей тоже нужен жёсткий реалтайм?
Ещё по eZ80.
Есть у них "eZ80Acclaim!" и "eZ80Acclaim Plus!" (EZ80F91AZ050 и EZ80F91AZA50). В чём разница? Не пойму.
смешал все в кучу при сравнении 386 и z80
Вообще то нет. Z80 не имеет никаких механизмов для реализации виртуального адресного пространства, а на 80386 никто не делает никакие вызовы, для программы есть плоский поток адресов, всё делает проц, если страница в ОЗУ просто подставляются данные, если нет, спец случай прерывания в ОС и она сделает что надо. А на зетнике нужно мастурбировать вприсядку как в анекдоте. И это даже близко будет не то. Смысл всех этих действий какой? Сделать многозадачную ОС?
- - - Добавлено - - -
На ПК на оборот - задача "думает" что у неё до хрена памяти, а по факту реальной памяти в 10000000 раз (условных) меньше - те эмулируем ОЗУ на винчестере.
Я не о свопе говорил, а о том, что задачи на Z80 будут точно знать где сидят и для доступа к ОЗУ свыше 48К (к примеру, пусть для них выделено 48К и 16 на окно ОС), то программа должна постоянно сама переключать страницы, копировать куски данных туда-сюда. На ПК совсем не так, программа не знает даже в каких физических адресах сидит, для неё ОЗУ плоское и начинается с адреса 0 до 2М скажем. А реально это набор страниц раскиданных в ОЗУ. Завершили процесс, страницы освобождаются. При плоской модели памяти как на Z380 что делать с освободившимся куском? Со страницами физическими то ясно, можно их где-то пометить как свободные, но при работе программы она будет активно писать в порты, подключая кусочки. Когда пишешь программу всё это ужасно напряжно. Кто не писал (чистые железячники), им пофигу типа теоретически можно значит всё гуд и будет делать. А реальности? Это как 128К спек с одним окном и количеством и качеством игр для 128К (тему надеюсь, все помнят).
- - - Добавлено - - -
так что между 8088 и 80386 это как от Земли до Луны пехом.
Если не дальше, я внимательно изучал по книжке 80386 и охреневал от возможностей, 486, Пни это всё почти тоже самое, с небольшими апгрейдами, в основном производительность улучшали, а архитектура проца менялась от поколения к поколению не очень значительно. Как я и писал выше, 80386 это считай Пень4, он такой же сложный и такой же крутой. Если в Z380 добавить всё то, что нужно для многозадачности, получим 80386 но с системой команд Zilog. Смысл?
По менеджеру памяти. Остается в фоне, когда все процессы, кроме обработки аппаратуры, приостановлены( крутится короткий цикл, или проц приостановлен, если есть такая опция) пускать задачку менеджера памяти, которая бы смотрела, какая задача завершилась и какую физическую память она задействовала( при системных вызовах выделения памяти), ее освобождать. Тогда страницы можно нарезать хоть по 1кБайту. Когда свободная память исчерпывается делать своп на устройства( винт, флоппи, флэш) задействованной памяти приостановленных задач. Если ничего из таких устройств для свопа нет, выводить пользователю на экран "закройте не используемые приложения", а еще лучше где-то постоянно выводить кол-во оставшейся памяти и загруженность проца. Главное не допускать "смертельных объятий". Должна быть кнопка не Reset, а прерывания выполнения( и принудительной приостановки с возможностью завершения) той задачи, которая вешает систему. Если стек начал разрастаться сверх ожидаемого, или посыпались требования выделения памяти, такую задачу надо сразу принудительно приостанавливать и сообщать пользователю. На древнючих майнфреймах не было не только MMU, там еще и лампы перегорали в самых разных частях схемы компьютера, тем не менее люди справлялись. Важно правильно организовать имеющиеся в нашем распоряжении средства.
Не будем "охреневать от возможностей" пусть каждый попытается сделать, что может. И дай Бог чтобы каждому нашлись деятельные помощники.
По поводу, кто не писал. Естественно, на ассемблере тем более, писать можно ну очень по-разному.
И контролировать на каждом шаге стек и использованную память не будешь, так как не знаешь, в каком окружении это должно исполняться. Выход тут один. В начале запуска пусть или ассемблер с помощью опции или псевдокода или локатор вставляет системный вызов, который вставляет системный вызов дающий информацию о состояние системы при запуске, а также об этой программе по оценке требуемой памяти под код и стека. Если есть оверлеи, в них тоже это должно быть. Их надо помечать как детей главной задачи.
Вот пишу я компилятор. Если его "как есть" собрать для Z80, то получается 200 килобайт одного только кода, плюс данные при работе. Это как впихнуть в формулу "(64к+64к)*страницы"?
Ответ давно известен - overlays с NEAR и FAR указателями, т.е. смысл в том что прога пишется НЕ под flat модель (в которой все указатели это простые адреса в flat памяти, вся прога помещается в адресное пространство и может обращаться непосредственно к любой своей части). В pdp-11, DOS, 16bit windows, cpm3, GEM x86 и т.д. такая модель и везде она более менее успешно развивалась. Более того ранее я считал что она дико ущербна и не имеет смысла НО на практике она довольно живучая, потому как в ней 95...97% времени железо оперирует короткими адресами! а значит идет реальная экономия силикона, ширины шин, кэша и места на диске... Самый яркий показатель того что это реальность, это реальная война между SNES и SEGA GENESIS, эти две штуки сцепились насмерть... и никто не победил! Тоже самое можно сказать и про кучу mc68k плат под шину s100, они реально конкурировали с платами на i8088/86 и софт на них шел тот же самый cp/m и unix-подобные, но это никак не оказало решающего воздействия (по сути 386-й пошел в массы уже в 1988 а понастоящему 32bit системы стали использовать уже только после выхода 486, т.е. у mc68k были все шансы разобраться с i8086, но так не случилось, правда так случилось с z8000).
- - - Добавлено - - -
Вообще то нет. Z80 не имеет никаких механизмов для реализации виртуального адресного пространства, а на 80386 никто не делает никакие вызовы, для программы есть плоский поток адресов, всё делает проц, если страница в ОЗУ просто подставляются данные, если нет, спец случай прерывания в ОС и она сделает что надо. А на зетнике нужно мастурбировать вприсядку как в анекдоте. И это даже близко будет не то. Смысл всех этих действий какой? Сделать многозадачную ОС?
смысл использовать столько же памяти сколько и доступно для 386, вот представь себе прогу для z80 которая раскидана по страницам на все 4MB в zx-evo, и такую же прогу под 386 которая сидит в режиме flat на этих же 4MB, частота одинаковая у процов 3.5 mhz, ширина шины данных 8bit, экран 6912 синклеровский... ну и где тут 386 выиграет со своим 32bit кодом и механизмом трансляции сегментов и страниц... ;0
Я, кажется, разжог... Всё вспомнили, и Pentium, и NES :)
А в процессе изучения документации на eZ80 обнаружилась то ли опечатка, то ли принципиальная разница, которая ломает всю идею.
Попробую разобраться.
У кого-нибудь есть плата с реальным eZ80 и осциллограф?
Смотря что называть осциллографом. Достойного по нынешним временам цифрового осциллографа с полосой пропускания 300 MHz у меня нет. Вопрос можно сформулировать и послать в техподдержку Zilog(IXYS). Если придет ответ из России заодно получишь контакт с их российским представителем техподдержки. Когда я в "Элтех" в 2007-8 гг. FAE работал на DSP Analog Devices то получал такие письма. Если сам не мог ответить, то подключался региональный инженер-консультант AD по Восточной Европе. Техподдержка у всех буржуйских компаний примерно одинаково работает. Платку отладочную не успел себе дешевую за <$80 заказать в 2017 году, а с тех пор руки как-то не доходили.
Если тактовая 1 МГц - вот чтобы осциллограф мог этот мегагерц увидеть. Вообще даже вольтметром можно будет получить информацию для размышления.
В техподдержку уже тоже написал.
Если тактовая 1 МГц - вот чтобы осциллограф мог этот мегагерц увидеть. Вообще даже вольтметром можно будет получить информацию для размышления.
В техподдержку уже тоже написал. до 4-5 MHz если четкий меандр или какая-то более менее регулярная последовательность конечно можно увидеть и на простеньких осцилах, или при схлопнутой развертке, если с шумом. Есть простенький китайский цифровик
и аналоговый советский с1-107 с полосой до 5MHz А в чем собссно загадка?
А в чем собссно загадка?
В управляющих сигналах. Например, нигде не указаны временнЫе характеристики входа #WAIT. Нет объяснения работы выхода подтверждения прерывания. И так далее.
То есть если тупо на ноги процессора повесить внешнюю RAM, то проблем как бы и нет, но если попытаться влезть в логику работы и наносекундный масштаб, что перед чем и после чего...
- - - Добавлено - - -
Надо, наверное, купить, припаять, посмотреть что как, а потом уже думать как из этого выкрутиться. Не получится - да и фиг с ним.
Распараллель процесс. Техподдержка, если ты впарил о перспективах правильно должна ответить максимум к среде. Ты сейчас в Москве или в Ростове? Если в Москве шансы возрастают в 100 раз )) Найди форум калькуляторщиков ti-84 plus ce, может там у кого-то кнопки отказали или экран сдох, если они сладкий чай выплеснули и валяется в ящике жаль на помойку снести( у самого дома 3 смартфона таких лежит полудохлых, как-то рука не поднимается пару-тройку лет выбрасывать, у одного классная камера). Там внутри найдешь б.м. живой проц. Параллельно можно посмотреть на отладочные платы( вчера ползал сам и понял, что все самое дешевое что было еще в 2017 выгребли). У нас на форуме есть минимум два чела с готовыми платами на eZ80. Но они шифруются и в нашем треде не активничали, мулькнули в параллельном из чего я понял, что демаскировать их не должен. Хотя у одного из них и осцилл навороченный есть и плата работающая самосборная и отладочная плата с прогами. Только они не в Питере, и один из них не в Москве. Могу тебя успокоить у них проект на твой нисколько не похож. Это как бы и не компьютер. А чего уж они в плане коммерции достигли не знаю. Раз шифруются, очевидно, бабки впереди, но близко :)
Нет объяснения работы выхода подтверждения прерывания.
Речь про ez80f91? Там разве есть выход подтверждения прерывания?
Хороший вопрос. Нет его в этом процессоре, это я его с чем-то спутал из 80/180/280/380/eZ80/90/91/92/93/acclaim/plus...
Так же как нет временнОй диаграммы чтения вектора прерывания.
"In Interrupt Mode 2, when an interrupt is accepted, the interrupting device places the lower eight bits of the interrupt vector on the data bus, D[7:0], during the interrupt acknowledge cycle."
- - - Добавлено - - -
А вот ещё странность.
Входа запроса прерывания у него тоже нет, есть прерывание от GPIO. Прерывания от GPIO, так же как и прерывания от другой периферии, имеют свои вектора.
И тогда не пойму - он вообще снаружи вектора получать не умеет?
shurik-ua
03.08.2019, 10:10
Нет объяснения работы выхода подтверждения прерывания
/iorq or /m1 = /iack
вы про это чтоли ?
Да, про это, или что-то подобное.
Кое-где что-то упоминается, но нет чёткого объяснения "это происходит так: ... (см. рис. 22)".
shurik-ua
03.08.2019, 10:38
ну это они сэкономили один вывод на корпусе.
логика такая что устройство выставляет запрос на прерывание и убирает его только когда получит это подтверждение.
и да не смотрите на схему спектрума - там боролись за каждый элемент и экономили на правильной обработке сигнала.
В ez80 user manual (um0077) несколько раз упоминается interrupt acknowledge cycle, но без деталей и временных диаграмм. Даже из чистого любопытства интересно, почему в доступных даташитах нет подробной информации по этому вопросу.
В точности совпадать с z80 внешняя индикация подтверждения прерывания не может, пина M1 нет.
В ez80 user manual (um0077) несколько раз упоминается interrupt acknowledge cycle, но без деталей и временных диаграмм. Даже из чистого любопытства интересно, почему в доступных даташитах нет подробной информации по этому вопросу.
В точности совпадать с z80 внешняя индикация подтверждения прерывания не может, пина M1 нет.
Вот именно, упоминается, но не более.
Может потому что разместили на одном кристалле и ядро, и контроллер прерываний. Interrupt acknowledge cycle есть, но всё происходит внутри. Тогда ему просто не нужна индикация подтверждения прерывания, как в Z80, а в даташитах и написать об этом нечего.
Если бы внешние источники прерываний совсем не учитывались, тогда да, но (для определенности - в ez80f91) они есть через GPIO. Похоже дело в том, что подтверждение прерывания "наружу" показывать не нужно. Для управляемых уровнем входов достаточно удерживать низкий уровень два такта, для управляемых фронтами - по фронтам. Подробности в разделе GPIO interrupts, страница 54 ps0192.pdf
Похоже дело в том, что подтверждение прерывания "наружу" показывать не нужно.
У Z80 это лучше называть не "подтверждение прерывания", а "запрос вектора". И тогда оно действительно в eZ80F91 не нужно, а подтвердить может программный обработчик, дёрнув GPIO.
В общем понятно. Заказываем, паяем, и смотрим. Потом начинаем вспоминать Verilog... :)
sergio78
03.08.2019, 17:02
ух ты, какая опять про суперz80 всплыла интересная дискуссия, на тему что бы, да кабы. с большим интересом прочитал всё и ожидаю бурного продолжения данной темы.
Я, кажется, разжог... Всё вспомнили, и Pentium, и NES :)
А в процессе изучения документации на eZ80 обнаружилась то ли опечатка, то ли принципиальная разница, которая ломает всю идею.
Попробую разобраться.
У кого-нибудь есть плата с реальным eZ80 и осциллограф?
отвечу сразу "Болту и болтом" - шутка естественно :), разобраться с этим камнем можно только при его наличии, у меня отладочный фирмовый набор от Zilog и пара осоцил, и даже это тебе не поможет :)
https://zx-pk.ru/threads/14027-zetnix-ez80-project.html
в итоге будет чистый С. + 1 человек, кто будет интересоваться таким прожектом + даже если сам камень купишь, без отладочного кабла ты заманаешься чето делать, уж поверь, хотя года 2 назад сделали и этот девайс из гавна и палок, палок было мало получилось все из г ... :v2_dizzy_botan:
+ потратишь минимум год, только на вникание во все нюансы и переписку с зилогом, хотя для проекта самому и в себе в себе -это нормально. :)
накройняк можно эмуль спека замутить - все по феншую - Zilog на Zilog'e :)
в итоге будет чистый С. + 1 человек, кто будет интересоваться таким прожектом + даже если сам камень купишь, без отладочного кабла ты заманаешься чето делать, уж поверь, хотя года 2 назад сделали и этот девайс из гавна и палок, палок было мало получилось все из г ... :v2_dizzy_botan:
+ потратишь минимум год, только на вникание во все нюансы и переписку с зилогом, хотя для проекта самому и в себе в себе -это нормально. :)
накройняк можно эмуль спека замутить - все по феншую - Zilog на Zilog'e :)
По пунктам:
1. Не Си, а Паскаль и ассемблер.
2. Кабель - для отладки? Про начальную прошивку камня знаю.
3. Какой девайс сделали?
4. Вникание в какие нюансы потребует год переписки?
5. Zilog на Zilog'e - так в этом вся суть! :)
Ну вот, это тот, о ком я ранее упоминал, сам дешифровался. На этом форуме кажется самый крутой профи по eZ80. Но дорогу осилит идущий. Видимо он тебя на Паскале не отследил :) Степень твоей упертости и результативности.
По пунктам:
1. Не Си, а Паскаль и ассемблер.
2. Кабель - для отладки? Про начальную прошивку камня знаю.
3. Какой девайс сделали?
4. Вникание в какие нюансы потребует год переписки?
5. Zilog на Zilog'e - так в этом вся суть! :)
1. теперь внимательно читай префиксы команд, тем более в расширенном режиме ez80
2. ну тогда удачи
3. простую машинку с rs 232.
4. удачи
5. пробуй, я не против, а за.
прошло просто 7 лет, с того момента :)
1. теперь внимательно читай префиксы команд, тем более в расширенном режиме ez80
2. ну тогда удачи
3. простую машинку с rs 232.
4. удачи
5. пробуй, я не против, а за.
прошло просто 7 лет, с того момента :)
1. Читал. Не сложнее префиксов I80386. Собираюсь добавить eZ80 в свой компилятор.
3. Что машинка может? Фото, ссылка? Можно в личку.
5. Обязательно попробую.
Про пожелания удачи в 2 и 4 не понял. Почему без кабеля это так тяжело, и во что мне придётся год вникать?
- - - Добавлено - - -
Видимо он тебя на Паскале не отследил :) Степень твоей упертости и результативности.
Угу. Он пытается объяснить человеку, который написал транслятор с Паскаля на асм Z80, Ix86, PIC24, ARM и MIPS (а ещё немного PIC18 и STM8), что префиксы в eZ80 это сложно :v2_dizzy_botan:
1. Читал. Не сложнее префиксов I80386. Собираюсь добавить eZ80 в свой компилятор.
3. Что машинка может? Фото, ссылка? Можно в личку.
5. Обязательно попробую.
Про пожелания удачи в 2 и 4 не понял. Почему без кабеля это так тяжело, и во что мне придётся год вникать?
о как, тогда другая беседа :)
3. ничего особенно, набор и смесь RTOS и отсебятины + скрещивание с FPGA на предмет видео, интереса не вызвало, положил болт :) 7 лет назад, напомню.
Удачи, кроме отладочного набора, есть еще и просто камень, могу выслать :) делай на здоровье.:)
- - - Добавлено - - -
Угу. Он пытается объяснить человеку, который написал транслятор с Паскаля на асм Z80, Ix86, PIC24, ARM и MIPS (а ещё немного PIC18 и STM8), что префиксы в eZ80 это сложно
Глубоко пофиг, на асме там писать боль, а так будет C или что то еще "высокоуровневое" -не суть.
Бог даст познакомитесь получше и дело выиграет. Totem серьезный разработчик.
Удачи
Спасибо :)
andrews, да я так думаю, Totem не горит желанием в этом участвовать, он уже наигрался :) причём как в анекдоте про танкистов и фею - по-настоящему :)
Не делай выводы априори, и не забывай что форум место публичное. а"Бизнес это война". Можно ведь и миллионы долларов заработать, а можно не заработать. Как повезет :) и многое зависит от тебя.
Бог даст познакомитесь получше и дело выиграет. Totem серьезный разработчик.
сие не правда, я любитель
- - - Добавлено - - -
Totem не горит желанием в этом участвовать
могу помочь на старте, если надо, но как правило -отправленное железо пропадает без результатов. :)
могу помочь на старте, если надо, но как правило -отправленное железо пропадает без результатов. :)
Помочь - железом? Мне из того набора разве что кабель понадобится, а так я сразу на своей плате буду экспериментировать. Сейчас вот для неё тактовый генератор выбираю... Si5351 хорош, но хочу в нормальном корпусе, там и так микро-пайки достаточно.
Помочь - железом? Мне из того набора разве что кабель понадобится, а так я сразу на своей плате буду экспериментировать. Сейчас вот для неё тактовый генератор выбираю... Si5351 хорош, но хочу в нормальном корпусе, там и так микро-пайки достаточно.
смечно, пойдет любой, кабло есть тут, тот самый где нет палок, а г...
https://hackaday.io/project/9483-ez80-open-source-programmer
кстати, уже писал когда то, в самом фирмовом кабле -стоит ровно такойжешь ez80 - ухаха
смечно, пойдет любой, кабло есть тут, тот самый где нет палок, а г...
А почему этот? Чем плох фирмовый?
я про генратор, да ? фирмовый кабель тут.
https://s54.radikal.ru/i145/1103/3e/af51fb8d62aa.jpg
Ты уверен, что это не отладочная плата? это кабло фирмовое, а не отладка ?
не оотладка вотЪ
https://radikal.ru/fp/b54829e5afd6408da9173a73d36424a5
Zilog на Zilog'e -Zilog'ом погоняет :)
HardWareMan
04.08.2019, 07:59
Zilog на Zilog'e -Zilog'ом погоняет :)
Это нормальная практика, расслабся. JTAG-ICE для Атмелов собран - сурпрайз! - на атмеле. Атмел на Атмеле Атмелом погоняет. (с)
Это нормальная практика, расслабся. JTAG-ICE для Атмелов собран - сурпрайз! - на атмеле. Атмел на Атмеле Атмелом погоняет. (с)
да я не особо уже напрягаюсь ) мне не особо, это полезно :) просто хотел показать суть, "68 золотые", так и лежат поди ? :)
HardWareMan
04.08.2019, 09:13
"68 золотые", так и лежат поди ? :)
А что им будет то? Они-ж золотые. Только дорожают. :) Но не будем о грустном.
А что им будет то? Они-ж золотые. Только дорожают. :) Но не будем о грустном.
значит зря старательно упаковывал, чем больше золота, тем больше его, тем меньше оно нужно :)
blackmirror
04.08.2019, 11:25
Bolt, а как примерно на данный момент выглядит выбранная архитектура? MMU на плис остаётся или у eZ80 своих возможностей хватается для защищённой многозадачности? Он умеет бить по рукам 16 разрядным процессам когда они лезут в порты, иными словами вызывать обработчик чтобы подсунуть программе ожидаемые циферки?
Вряд ли есть смысл делать многоуровневую таблицу трансляции, это потребует полноценный TLB и одновременный поиск по всем его записям. А если после записи в порт из таблицы страниц процесса вытащить реальный физический адрес в теневой регистр не дав процессору до этого обратится к памяти, то можно будет от программы вообще скрыть реальные физические адреса. При 8 разрядном номере страницы, 16 разрядных записях в таблице процесса с атрибутами R и W останется 14 бит на номер страницы в системе, можно будет изолировать друг от друга несколько процессов монстров по 4Мб. Для эмуляции устройств возможно нужна будет таблица флагов на каждый порт, какой из них вообще игнорировать, а где вызвать обработчик исключения чтобы он изобразил требуемое устройство для процесса. Может для каких-то страниц нужна будет таблица точек останова, чтобы перехватывать обращения только к некоторым подпрограммам, если мы не хотим имитировать устройство на уровне портов.
Bolt, а как примерно на данный момент выглядит выбранная архитектура? MMU на плис остаётся или у eZ80 своих возможностей хватается для защищённой многозадачности? Он умеет бить по рукам 16 разрядным процессам когда они лезут в порты, иными словами вызывать обработчик чтобы подсунуть программе ожидаемые циферки?
Вряд ли есть смысл делать многоуровневую таблицу трансляции, это потребует полноценный TLB и одновременный поиск по всем его записям. А если после записи в порт из таблицы страниц процесса вытащить реальный физический адрес в теневой регистр не дав процессору до этого обратится к памяти, то можно будет от программы вообще скрыть реальные физические адреса. При 8 разрядном номере страницы, 16 разрядных записях в таблице процесса с атрибутами R и W останется 14 бит на номер страницы в системе, можно будет изолировать друг от друга несколько процессов монстров по 4Мб. Для эмуляции устройств возможно нужна будет таблица флагов на каждый порт, какой из них вообще игнорировать, а где вызвать обработчик исключения чтобы он изобразил требуемое устройство для процесса. Может для каких-то страниц нужна будет таблица точек останова, чтобы перехватывать обращения только к некоторым подпрограммам, если мы не хотим имитировать устройство на уровне портов.
одобряю энтузаззим, камень на многое способен, но особо не "бьет по рукам", только на типо LDI , собственно , там и cpm есть и rtos,
- - - Добавлено - - -
eZ80 своих возможностей хватается для защищённой многозадачности?
не совсем, но при желании можно сделать 64 кб штук 8, но это только осложнит задачу
- - - Добавлено - - -
ожно будет изолировать друг от друга несколько процессов монстров по 4Мб.
он сам монстр, ему 4МБ мало, да ине забудь, что у тебя будет -64K c 0000h, если очень сильно лениться :)
- - - Добавлено - - -
Для эмуляции устройств возможно нужна будет таблица флагов на каждый порт,
все уже написано, лет 9 назад )
blackmirror, MMU на ПЛИС конечно остаётся, в eZ80F91 вообще ничего подобного нет, кроме 4 программируемых chip select. В других модификациях было, но они уже obsolete.
Многоуровневая таблица трансляции не нужна, будет простая одноуровневая трансляция адреса логический-физический, плюс защита памяти и портов. На основе этой защиты несложно реализовать программную эмуляцию железа Спектрума, скорости eZ80 должно хватить.
ПЛИС также будет "видеокартой". Каждая задача формирует в памяти свою картинку, видеокарта это всё накладывает друг на друга ("окна"), и выводит на VGA.
Точки останова интересная мысль, надо подумать как это сделать, ПЛИС тоже не мгновенно сигналы обрабатывает.
- - - Добавлено - - -
одобряю энтузаззим, камень на многое способен, но особо не "бьет по рукам", только на типо LDI , собственно , там и cpm есть и rtos,
А что там на LDI? Я видимо не дочитал...
все уже написано, лет 9 назад )Что именно?
- - - Добавлено - - -
И если оно написано - где оно?! Почему о нём ничего не слышно? :)
blackmirror, MMU на ПЛИС конечно остаётся, в eZ80F91 вообще ничего подобного нет, кроме 4 программируемых chip select. В других модификациях было, но они уже obsolete.
Многоуровневая таблица трансляции не нужна, будет простая одноуровневая трансляция адреса логический-физический, плюс защита памяти и портов. На основе этой защиты несложно реализовать программную эмуляцию железа Спектрума, скорости eZ80 должно хватить.
ПЛИС также будет "видеокартой". Каждая задача формирует в памяти свою картинку, видеокарта это всё накладывает друг на друга ("окна"), и выводит на VGA.
Точки останова интересная мысль, надо подумать как это сделать, ПЛИС тоже не мгновенно сигналы обрабатывает.
- - - Добавлено - - -
А что там на LDI? Я видимо не дочитал...
Что именно?
- - - Добавлено - - -
И если оно написано - где оно?! Почему о нём ничего не слышно? :)
ну сходите уже на офицальный зилог, там за эти годы копать не перекопать.
- - - Добавлено - - -
Каждая задача формирует в памяти свою картинку, видеокарта это всё накладывает друг на друга ("окна"),
надо вас еще при svgа растреливать, но тогда это было неимоверно круто, по четвртям экран пилить, ну не 89 -92 :))
- Для эмуляции устройств возможно нужна будет таблица флагов на каждый порт
- все уже написано, лет 9 назад )
- Что именно?
- ну сходите уже на офицальный зилог, там за эти годы копать не перекопать.
Что, блять, я должен накопать на этом официальном зилоге?! О чём вообще речь идёт? О таблице флагов? О бьющем по рукам LDI?
И тут добивает:
- надо вас еще при svgа растреливать, но тогда это было неимоверно круто, по четвртям экран пилить, ну не 89 -92 )
Что по четвертям пилить? Что было круто? Что такое "89-92"? Вес? Длина? Модель трактора?
(хотел продолжить мысль, но тут остановлюсь, потому что меня за оскорбления забанят)
тупо с дма ея80 набпросает в ваши окна, быстрее чем 286, ну и все=320x240x8
тупо с дма ея80 набпросает в ваши окна, быстрее чем 286, ну и все=320x240x8
Автомобиль расчёску в яме, 17, в прошлом году4 =актив.. Антогн на вскидку в прочее, сам зачем?
Автомобиль расчёску в яме, 17, в прошлом году4 =актив.. Антогн на вскидку в прочее, сам зачем?
у него шина 8, использовать ресурсы проца, для видео не надо, ничего из этого не выйдет, кроме гемора -потом
у него шина 8, использовать ресурсы проца, для видео не надо, ничего из этого не выйдет, кроме гемора -потом
А что надо для видео?
А что надо для видео?
собственно, что ты хочешь сам?
собственно, что ты хочешь сам?
Меньше говорить, больше делать.
Меньше говорить, больше делать.
если вот реально, собрался делать делай, еще раз повторю, вышлю отладку с вксняшками, но будет ли более чем сделаного?
как правило, результат нулевой.
Не надо, мне те макетки ни к чему, сразу буду на реальной системе экспериментировать.
Просьба только, если есть возможность, прошить небольшую программу (он же с 0x000000 стартует?) и показать осциллограмму на одном из выводов.
Бинарник я пришлю.
Не надо, мне те макетки ни к чему, сразу буду на реальной системе экспериментировать.
Просьба только, если есть возможность, прошить небольшую программу (он же с 0x000000 стартует?) и показать осциллограмму на одном из выводов.
Бинарник я пришлю.
забавно, макетка -это фирмовая отладка совсем комплектом ? что конкретно хочешь увидеть?
забавно, макетка -это фирмовая отладка совсем комплектом ? что конкретно хочешь увидеть?
Я написал - осциллограмму на одном из выводов.
Я написал - осциллограмму на одном из выводов.
ну я так и написал, что хочешь увидеть, не добавил на каком ?
Не надо. Ни ради чего. Забей. Не парься. Живи, как жил.
Ты уже показал как тебе сложно это сделать. Потом начнётся нытьё "ну вот, я искал, доставал, прошивал, щупы разматывал...".
Ещё раз - забей.
Через месяц сам посмотрю, и окажется что херня это всё.
OrionExt
04.08.2019, 20:41
Я к чему. Предлагаю убрать из темы Z80.
еZ80 (снятый с производства) возможно интересен как объект для переноса авторского кода компилятора паскаля. Это все прекрасно. Но не имеет ничего общего с Z80.
Последний был Z280 рожденный в муках. И его брат R800 тоже не без мук. У обоих прародитель один, новое ядро на то время под кодовым неким названием Z800.
Что интересно японская вика выпилила любое упоминание прототипа. И это плохо. История искажается.
Напомнило мои попытки добиться чего-то вразумительного от Тотема ))Вот он точно не в чем не виноват.
А чем этот тред так мешает обычным спектрумистам, не лоббистам ZX Spectrum Next? Информация о том, что ez80 снят с производства не соответствует информации на официальном сайте Zilog(IXYS). И на findchips.com информации о том что чипы obsolete тоже нет, равно как о том, что сняты с производства TI-84 Plus CE, в которых они используются. Кстати, схема на ZX Spectrum Next в открытом доступе есть? А вот z280 исчезли судя по всему до 2000 года. Но тем не менее и достать их еще можно и в MSX люди их используют и треды убивать про них никто не призывает. Сайт этот давно уже не про исключительно z80, classic Spectrum так в чем проблема? Я свою точку зрения высказал. Далее флудить не собираюсь. И не о ZX Next "многострадальном" речь, а об успешном коммерчески
https://www.specnext.com/ который на краудфандинге чуть ли не миллион фунтов стерлингов собрал. Молодцы! Считаете его вершиной возможного и не модернизируете ваше право. Но раньше в 1998 Петерсы со своим Спринтером собирались все под себя подмять и где они сейчас?
OrionExt
04.08.2019, 21:37
Опять понеслось. А причем тут много страдальный next? Там кстати тактильность кнопок доделали за два года? Какой там столб атмосферного давления давит на наркоманов и кнопку?
еZ80 ага не убрали? А обыгрывание буковок Z80 – это видимо последнее, что осталось у эффективных манагеров.
Если кто-то считает, что этот процессор недостоин иметь в своей маркировке "Z80", то вот вам тёплый, ламповый... :)
69739
Если кто-то считает, что этот процессор недостоин иметь в своей маркировке "Z80", то вот вам тёплый, ламповый... :)
69739 успокойся пожалуйста, покойный Будер и не такие провокации был мастер устраивать в 1998 году. Работаем, братья!
OrionExt
04.08.2019, 22:01
Шутка юмора. ОК.
https://static.garmincdn.com/en/products/010-01771-00/g/cf-lg-0d6af805-ad3b-4e98-babe-22979fac1acf.jpg
Сек еще чайник нарисую. Пошутим.
Так, чисто теоретические рассуждения.
SRAM это дорого. Если 1-2-4 мегабайт будет мало надо будет прикручивать DRAM. Это значит весь процессор завести на ПЛИС (ножек 50), всю DRAM (ножек 35), и VGA (пусть 4 бита на цвет, 14 ножек). Итого 99. Плюс какая-то шина для подключения реального железа, типа AY или дисковода. Это ж уже QFP 208/240, или вообще BGA. Или две ПЛИС с шиной между ними.
В этом есть и плюсы и минусы. Линейки DDR только с залежей складов( там производители их очень шустро заменяют на новые поколения) если на микросхемах, то какие на 16 бит есть и дешевы ли они? Глобально снижение себестоимости деталей проще осуществлять понижением частоты, так как память SRAM 12 нс уже стоит дешевле чем 10 и уменьшением ее емкости, так как расширение можно делать и за счет DRAM по мере необходимости при развитии софта. FPGA недешевы по определению, так что все время придется смотреть на готовые периферийные чипы. Поэтому большинство средне-дешевых компьютеров строятся по принципу модульного наращивания. Например sound вообще можно выкинуть на USB( если будет USB) качество звука от этого только выиграет, сейчас полно приличных по звучанию вынесенных через USB звуковых DAC c усилками на них. Дома врубать звук сильнее чем на 5 вт, если квартира в обычной панельке или хрущобе, вряд ли кто будет, главное чтобы в качественных наушниках звук был. И тут BT конечно сахар. Интернет тоже лучше через wifi. Клавиатура и мышь есть разные варианты. Что обязательно должно быть в базовой конфигурации определись и с расширением базовой конфигурации, чтобы не пользователь извращался, а изначально расширение было задумано и поддержано. По поводу BGA. Чем больше контактов тем проблемней. Плата многослойней, да и паять ее сложнее. А не смогут паять сторонние производители, значит и тиражирование будет меньше. Так что максимальная простота платы и корпусов использованных микросхем это офигенный плюс. Если изделие не в количествах более 500 шт. будет производиться.
Так, чисто теоретические рассуждения.
SRAM это дорого. Если 1-2-4 мегабайт будет мало надо будет прикручивать DRAM. Это значит весь процессор завести на ПЛИС (ножек 50), всю DRAM (ножек 35), и VGA (пусть 4 бита на цвет, 14 ножек). Итого 99. Плюс какая-то шина для подключения реального железа, типа AY или дисковода. Это ж уже QFP 208/240, или вообще BGA. Или две ПЛИС с шиной между ними.
А VGA обязательно клепать самому на этой плис? Тут такой момент обнаружился в "ZX концепции", есть предположение что если к Z80 прикрутить ISA EGA, а ULA просто выкинуть, то скорости якобы должно хватать для того чтобы рисовать то же самое что и на экране 6912 байт но уже без клэшинга. И значит если посмотреть историю сего вопроса то похоже никто толком этого не делал... Ну подключали ISA модем который не мапится на память а только I/O требует. Ну был еще ISA слот в "спринтер" только информации как с ним работать не было. Не пришла ли пора ввести стандарт на ISA 8bit (16?) для компов на Z80... по поводу софта скажу что был проект в котором VGA прикручивали к ATMEGA http://tinyvga.com/avr-isa-vga Ну и чипов этих vga и ega валом наклепали хватит всем (5V TTL).
Во-первых: то, что я собираюсь сделать, никак не Спектрум. Пока это просто задача, целью которой является потренироваться в HDL. Если фантазии удастся реализовать это будет абсолютно самостоятельная система, в которой есть режим "виртуального Z80".
Во-вторых:
если к Z80 прикрутить ISA EGA, а ULA просто выкинуть
Если цель "прикрутить EGA к Z80" - не вижу смысла. Тем более у меня нет ULA и Z80, нечего выкидывать и не к чему прикручивать :)
ПЛИС нисколько не напряжётся, выдавая видеосигнал, это уровень лабораторной работы студента, изучающего HDL. Если цель полностью эмулировать видеокарту EGA со всеми её регистрами и плоскостями - да, это сложно. Но не нужно.
В третьих.
8-битная шина - вещь хорошая и нужная, но это уже как раз BGA или вторая ПЛИС, потому что проводов в шине много. Опять же, если нужна просто шина для подключения AY, IDE, дисковода - это одно, если нужна вот прямо ISA, чтобы туда воткнуть EGA - зачем?
И в четвёртых, бонус. А то может люди не в курсе...
Про скорость отрисовки, и вообще про скорость работы.
Максимальные теоретические пределы:
Z80 3.5 МГц 0.9 MIPS LDI 0.22 МБайт/с.
Z80 (Z84C) 20 МГц 5 MIPS LDI 1.25 МБайт/с.
eZ80 50 МГц 50 MIPS LDIR 25 МБайт/с.
shurik-ua
05.08.2019, 21:00
если уж всё равно ПЛИС имеется - то зачем реальный z80 - его можно и в ПЛИС запихнуть - и мегагерц поболее будет.
вот только при диких скоростях сразу ощущается мизерность 64кб
Как бы это выразить...
После изучения eZ80 идея запихнуть его ядро в ПЛИС не вызывает у меня вау-эффекта :)
LeoN65816
06.08.2019, 06:11
Z80 3.5 МГц 0.9 MIPS LDI 0.22 МБайт/с.
Z80 (Z84C) 20 МГц 5 MIPS LDI 1.25 МБайт/с.
eZ80 50 МГц 50 MIPS LDIR 25 МБайт/с.
А что тебе дает LDI? Неужели ты экран (хоть 256х192, хоть 640х480) будешь копировать/перерисовывать кучей 1-байт-в-блоке-командной LDI? Или же все-таки LDIR-ом? Что толку от этих 16 тактов LDI, если счетчик блока все равно нужно обрабатывать? Ты сможешь счетчик обсчитывать (и управлять циклом) быстрее 5 тактов? А LDIR это и делает, причем максимально шустро, и всего-то 21 такт.
А что, правда eZ80 лдирит с скоростью 2 такта на байт?
Кто-нибудь пробовал кмоповые Z84C или KL5C8400 запускать при питании 3.3В?
Кто-нибудь пробовал кмоповые Z84C или KL5C8400 запускать при питании 3.3В?
Я думаю о KL5C8400 можно забыть. Года два, три на али они были у пары продавцов. Сейчас уже поиск ничего не показывает.
Ты сможешь счетчик обсчитывать (и управлять циклом) быстрее 5 тактов?
LDIR блока 512 байт работает примерно в 1,3 раза медленнее чем цикл 16 раз по 32 LDI. Это факт. Разница 5 тактов на на байт!!! Умножаем на 32 и получаем уже 160. А цикл сделать можно за 20 тактов. Если бы выигрыша от LDI не было - их бы не использовали.
VladimirS
06.08.2019, 08:31
Я думаю о KL5C8400 можно забыть. Года два, три на али они были у пары продавцов. Сейчас уже поиск ничего не показывает.
https://ru.aliexpress.com/premium/kl5c8400c.html?SearchText=kl5c8400c&d=y&initiative_id=AS_20190805212934&origin=y&catId=0&isViewCP=y&switch_new_app=y
LeoN65816
06.08.2019, 08:41
LDIR блока 512 байт работает примерно в 1,3 раза медленнее чем цикл 16 раз по 32 LDI. Это факт. Разница 5 тактов на на байт!!! Умножаем на 32 и получаем уже 160. А цикл сделать можно за 20 тактов. Если бы выигрыша от LDI не было - их бы не использовали.
Выходит 16+20/32=16.625 такта/байт - да, действительно эффективно по скорострельности, супер! Но не эффективно по размеру кода...
Выходит 16+20/32=16.625 такта/байт - да, действительно эффективно по скорострельности, супер! Но не эффективно по размеру кода...
А это всегда так.
Когда код "лишь бы работал", как, например, выдаёт кодогенератор bm-pascal, то любое улучшение даёт выигрыш и по размеру, и по скорости. Но есть предел, за которым начинается вот такой выбор - или быстро, или коротко.
Например, развёртка цикла FOR. Если цикл от 1 до 10, то и сам счёт надо вести, и внутри цикла операция с переменной. Если же внутренний код скопировать 10 раз и заменить обращение к переменной на константу, то уже экономия на счёте, плюс выражения с константой могут быть оптизированы. Если было "100 div N", то получатся константы 100, 50, 33, 25, 20... и деление уже не используется.
В 8 раз больше, но в 2 раза быстрее.
- - - Добавлено - - -
А что, правда eZ80 лдирит с скоростью 2 такта на байт?
2*BC+3
Так в документации написано :)
- - - Добавлено - - -
Получил ответ от техподдержки.
Если выразить одним словом - жопа.
В чём суть проблемы: у этого процессора нет #M1, есть другое, но оно не то. А мне надо было.
Получил ответ от техподдержки.
Если выразить одним словом - жопа.
В чём суть проблемы: у этого процессора нет #M1, есть другое, но оно не то. А мне надо было.ну видишь, они даже на сутки шустрее моего прогноза оказались. Ну что теперь? z80 c MMU и расширенной адресацией all in FPGA? Хотя...все ли выжали из самого чипа? Нельзя ли как-то адресацию расширенную навесить снаружи вместе с MMU? Это снизит стоимость FPGA. Все же сколько-то тысяч вентилей минус
LeoN65816
06.08.2019, 10:30
2*BC+3
Так в документации написано :)
Выходит, что инструкция не реагирует на прерывания...
Выходит, что инструкция не реагирует на прерывания...
Это, конечно, может оказаться ещё одним сюрпризом в этом процессоре, но что мешает отработать прерывание, вернуться на тот же адрес, снова прочитать LDIR и продолжить?
- - - Добавлено - - -
ну видишь, они даже на сутки шустрее моего прогноза оказались. Ну что теперь? z80 c MMU и расширенной адресацией all in FPGA? Хотя...все ли выжали из самого чипа? Нельзя ли как-то адресацию расширенную навесить снаружи вместе с MMU? Это снизит стоимость FPGA. Все же сколько-то тысяч вентилей минус
Что теперь - покупать и пробовать. Идей много, если не попробую - меня разорвёт :)
Z80 с расширенной адресацией - медленно.
all in FPGA - ни в коем случае! :)
Кстати, а сколько Z80 вентилей в FPGA занимает?
shurik-ua
06.08.2019, 10:59
Кстати, а сколько Z80 вентилей в FPGA занимает?
1800 - 2000
1800 - 2000
Спасибо. А то я что-то быстро не нашёл.
Много. Сколько же тогда eZ80 займёт...?
shurik-ua
06.08.2019, 11:27
ez80 корку не встречал
а z80 полно тут - https://opencores.org/projects
Выходит, что инструкция не реагирует на прерывания...
https://ez80.readthedocs.io/en/latest/docs/block-ops/ldir.html
Interrupts can be triggered while this instruction is in progress (unless they are disabled using DI, of course).
Ещё там написано что ей надо 3 такта на байт. Ну значит не 25, а 16 мегабайт/с.
Если цель "прикрутить EGA к Z80" - не вижу смысла. Тем более у меня нет ULA и Z80, нечего выкидывать и не к чему прикручивать :)
ПЛИС нисколько не напряжётся, выдавая видеосигнал, это уровень лабораторной работы студента, изучающего HDL. Если цель полностью эмулировать видеокарту EGA со всеми её регистрами и плоскостями - да, это сложно. Но не нужно.
В третьих.
8-битная шина - вещь хорошая и нужная, но это уже как раз BGA или вторая ПЛИС, потому что проводов в шине много. Опять же, если нужна просто шина для подключения AY, IDE, дисковода - это одно, если нужна вот прямо ISA, чтобы туда воткнуть EGA - зачем?
Смысл прикручивания именно EGA в том что есть предположeние что "ускоритель" в EGA карте сделает возможным обновление таким же быстрым как синклеровского экрана 6912 НО без клэшинга. Если налепить простой framebuffer с разверткой на VGA то скорости не хватит для разрешения 256x192x4bit (даже если сделать 160x200x4bit как в amstrad то торможение будет ощутимое во многих играх). Ну и почему именно ISA, потому что последние видяхи (чипов от которых валом), представляют собой по сути готовый чип для подключения к ISA напрямую (т.е. декодирование адресов и анализ сигналов шины происходит внутри чипа).
Смысл прикручивания именно EGA в том что есть предположeние что "ускоритель" в EGA карте сделает возможным обновление таким же быстрым как синклеровского экрана 6912 НО без клэшинга. Если налепить простой framebuffer с разверткой на VGA то скорости не хватит для разрешения 256x192x4bit (даже если сделать 160x200x4bit как в amstrad то торможение будет ощутимое во многих играх).
Ну, в ПЛИС я могу и сам "ускоритель" сделать, если скорости процессора окажется недостаточно.
Но:
И в четвёртых, бонус. А то может люди не в курсе...
Про скорость отрисовки, и вообще про скорость работы.
Максимальные теоретические пределы:
Z80 3.5 МГц 0.9 MIPS LDI 0.22 МБайт/с.
Z80 (Z84C) 20 МГц 5 MIPS LDI 1.25 МБайт/с.
eZ80 50 МГц 50 MIPS LDIR 25 МБайт/с.
Ну может не 25, а 16 МБайт/с.
"Фреймбуфер" в ZX 7 килобайт, при 256x192x8bit 48 килобайт, т.е. в 7 раз больше.
Не забываем про (не)линейность адресации.
В реальных условиях даже на 70 нс памяти процессор в 5 раз быстрее по выполнению программы, в 10 раз быстрее по выполнению LDIR.
Процессор "в вакууме" быстрее в 55 раз по выполнению программы, в LDIR, даже если она 3 такта - в 80 раз.
И шо, не успеет? :)
LeoN65816
07.08.2019, 06:50
Так, чисто теоретические рассуждения.
SRAM это дорого. Если 1-2-4 мегабайт будет мало надо будет прикручивать DRAM. Это значит весь процессор завести на ПЛИС (ножек 50), всю DRAM (ножек 35), и VGA (пусть 4 бита на цвет, 14 ножек). Итого 99. Плюс какая-то шина для подключения реального железа, типа AY или дисковода. Это ж уже QFP 208/240, или вообще BGA. Или две ПЛИС с шиной между ними.
164 юзерпина (https://www.waveshare.com/product/fpga-tools/altera/core/coreep4ce10.htm).
и VGA (пусть 4 бита на цвет, 14 ножек)
опять какие-то недокастыли. IMak`у когда то хватило 1 ACEX чтобы запилить полноценную 24х битную палитру для Спринтера. при этом на экране 256 цветов из этой палитры. В плане цветов вообще можно ни в чём себе не отказывать. зачем пилить какие-то кастыли ради 4х бит на компоненту? типа, 12 бит хватит всем (4096 цветов)? и это с жирноАльтерами?
164 юзерпина (https://www.waveshare.com/product/fpga-tools/altera/core/coreep4ce10.htm).
Это к чему сообщение? Я знаю, что бывают ПЛИС, у которых и 200, и 500 юзерпинов.
- - - Добавлено - - -
опять какие-то недокастыли. IMak`у когда то хватило 1 ACEX чтобы запилить полноценную 24х битную палитру для Спринтера. при этом на экране 256 цветов из этой палитры. В плане цветов вообще можно ни в чём себе не отказывать. зачем пилить какие-то кастыли ради 4х бит на компоненту? типа, 12 бит хватит всем (4096 цветов)? и это с жирноАльтерами?
Умный, да? Возьми и запили, с 24-битным цветом, SATA и USB. Да, и HDMI не забудь, нафиг этот устаревший VGA.
- - - Добавлено - - -
Да, и сделай это на микросхеме, купленной за $4 с бесплатной доставкой у китайцев, которые выпаяли её из какой-то платы со свалки. Потом пожалуйся что оно не заработало и забей на проект.
Стоимость у Спринтера всегда была проблемой. Если бы он продавался в те годы в США, то может быть и были продажи тысяч штук. Сейчас все гораздо хуже, чем в 1998 году. Мало того, что полно предыдущих поколений PC-шек в любом виде, так еще и куча поколений наладонников, да и другие линейки старых компов. Поэтому надо идти по пути Altair MITS, чтобы хотелки каждый добавлял(докупал) сам( как и у Arduino и многих других). Возможно даже оставить на плате место для дополнительной FPGA недорогой и не BGA и на шине выводы от нее зарезервировать. Тогда это уже дело владельца откуда ее достать. Главное чтобы базовая конфигурация работала безупречно и стоила разумных денег.
Умный, да? Возьми и запили
во1х, может попроще будешь немного? во2х, я написал про палитру, ПАЛИТРУ!!!111расрас на экране отображается столько цветов, сколько твоя поделка будет показывать. хочешь 16 цветов - делай 16. я лишь напомнил, что при наличии жирнющих и не дорогих плисин можно запилить нормальную, человеческую палитру. вы сами себе костыли придумываете, потом будете придумывать способы конверсии графики с ПЦ. А при нормальной 24 бит палитре проблем с конверсией просто нет. любой фотошоп справится. и самим же проще кодить это будет, чем извращаться с недопалитрами. если покупаешь альтеры жирные у кетаёзов по 4 бакса с бесплатной доставкой - хвала тебе и почёт. но получается, что вы тут обсуждаете/мусолите очередной труп очередного псевдомонстра, у которого будет ахрененный проц, жирная и быстрая альтера, но с *****ядром. раслабся, уже есть zx evolution с её недопалитрой. ещё одна такая никому не нужна.
- - - Добавлено - - -
Стоимость у Спринтера всегда была проблемой. Если бы он продавался в те годы в США, то может быть и были продажи тысяч штук. Сейчас все гораздо хуже, чем в 1998 году. Мало того, что полно предыдущих поколений PC-шек в любом виде, так еще и куча поколений наладонников, да и другие линейки старых компов. Поэтому надо идти по пути Altair MITS, чтобы хотелки каждый добавлял(докупал) сам( как и у Arduino и многих других). Возможно даже оставить на плате место для дополнительной FPGA недорогой и не BGA и на шине выводы от нее зарезервировать. Тогда это уже дело владельца откуда ее достать. Главное чтобы базовая конфигурация работала безупречно и стоила разумных денег.
я Спринтер упомянул только как пример того, что был 1 человек, который засунул в альтеру довольно не плохие возможности. я даже упомянул конкретно - палитра. всё остальное - конструктор аля ардуино или альтаир - форумом ошиблись малость. да и уже есть всякие конструктора, начиная со Speccy2007 и далее. сколько из них прижились и ушли в массы, сами знаете.
Сейчас все гораздо хуже, чем в 1998 году. Мало того, что полно предыдущих поколений PC-шек в любом виде, так еще и куча поколений наладонников, да и другие линейки старых компов.
А я и не пытаюсь обойти всех по цене, функциональности, целесообразности и т.д. Это скорее гимнастика для ума под девизом "делаем, потому что можем" :)
Вопрос.
Вот, допустим, есть базовая часть: процессор, память, видео, клавиатура, мышь, SD-карта, RS-232, Ethernet.
И есть шина для дополнений. Пока не важно что за шина и как именно дополнения подключаются к шине.
Что к ней подключать? Какая нужна пропускная способность этой шины? 1 МБайт/с хватит?
- - - Добавлено - - -
Я про общую скорость, а не на одно дополнение.
blackmirror
07.08.2019, 20:46
1 МБайт/с не хватит, его даже 10Мб ethernet может сожрать целиком и начнутся потери пакетов, провалы скорости и прочие баги. Или шина будет 32 разряда?
Не-не-не, Ethernet в базовой части, не на этой шине. Я же написал об этом.
- - - Добавлено - - -
Ethernet там вообще в eZ80 свой, встроенный.
Speccy2007 а при чем здесь он? Там вообще шины как таковой нет! . Аltair был мной упомянут как пример удачного маркетингового хода. Там базовая комплектация продавалась по цене ниже стоимости самого процессора 8080, который стоил тогда несколько сотен долларов и каких долларов! Правда они получили проц по специальной цене от изготовителя, взяв сразу несколько тысяч штук. И еще его шина S-100. Здесь такого не требуется. Но если за 1 шт. новый eZ80 стоит пару десятков долларов в США, а в России сейчас все американские цены удваиваются, то выходить по цене далеко за $100 видимо не самый удачный маркетинговый ход. Так же вот и память. Если она не расширяемая, то часть потенциальных покупателей сразу отпадает. Дороже, а софта под это нет. А чтобы ее расширять нужна параллельная шина(или хотя бы место на плате)! Если будет место под вторую FPGA то вдохновятся соответствующие потенциальные покупатели. Одно дело плату разрабатывать, другое просто чип покодить и добавить то, что лично тебе для счастья не хватает в железяке. По устройствам ввода вывода. Кому-то нужен BT, кому-то USB. Нет в базовой? отлично! Ваяйте на расширитель или в параллельную FPGA( только тогда от нее выводы надо на шину тянуть). А законченный комп в нашей среде мало кому интересен. Ну и подработка всем, кто продает платы, детали и их собирает. Без этой интриги будущий комп долго не проживет. Софтмейкерам конечно всегда найдется чем заняться, но и хардварникам надо пространство для развития оставить. Имхо. В нынешний PC-ник с паяльником не полазаешь. В Аrduino можно, но он изолированно от PC не живет при разработке. Здесь же, как я понял, затевается компьютер.
- - - Добавлено - - -
Не-не-не, Ethernet в базовой части, не на этой шине. Я же написал об этом.
- - - Добавлено - - -
Ethernet там вообще в eZ80 свой, встроенный.
а физический уровень там точно есть? Про палитру надо отдельно разбираться в состоянии дел на сегодня и во что это выливается. В конце концов есть меломаны, кому что не поставь за приемлемые деньги - все *****! И точно так же есть художники и геймеры. Тут выход один оставить возможность расширений. Ведь и на PC точно так же, правда там все уже ушло в проц и мать. Но все-равно качество окружающего реального мира не достигнуто! Извините, друзья, если я в обычной двушке в панельке живу, то у меня в розетке 2.5 квт, то ставить комп, который жрет как все электроприборы в доме вместе взятые... и какой мне нафиг звук, если соседи ровесники моей мамы за стеной. Они и от 10 вт с ума сойдут. А по поводу мощности проца...остаемся на земле. Вот как раз с небольшими по емкости экранчиками он и будет летать так, как PC с огромными. По поводу звука все o'k midi и в Африке midi, на расширитель хоть FPGA c dsp ставьте!
а физический уровень там точно есть?
Его там точно нет. Но MAC внутри и доступ к нему 0 wait states.
Про палитру надо отдельно разбираться в состоянии дел на сегодня и во что это выливается. В конце концов есть меломаны, кому что не поставь за приемлемые деньги - все *****! И точно так же есть художники и геймеры. Тут выход один оставить возможность расширений. Ведь и на PC точно так же, правда там все ушло в проц и мать.
Про ***** - в точку! :)
12-битный цвет выбран на данный момент из-за недостатка выводов ПЛИС. Чтобы впихнуть 24 бита надо подумать что надо и что не надо, а сейчас думать об этом ещё рано. Ещё раз напишу: просто делается некоторый макет, на котором можно обкатать идеи.
Если поставить BGA, то там и цвет будет 24 бита, и 32 мегабайта DRAM, и шину на неё же можно завести.
BGA это сразу много-многослойка и ограничение для определенного количества лиц возможности повторения. На коленке со 100% гарантии выхода годного получится только у мастеров равных Левше! И без развода компании изготовителя( через 2 месяца закажу у вас 100 шт.) 1 шт. платы никто не сделает.
Поэтому на мой взгляд такое приемлемо только для коммерческого варианта.
LeoN65816
08.08.2019, 13:59
BGA это сразу много-многослойка и ограничение для определенного количества лиц возможности повторения. На коленке со 100% гарантии выхода годного получится только у мастеров равных Левше! И без развода компании изготовителя( через 2 месяца закажу у вас 100 шт.) 1 шт. платы никто не сделает.
Поэтому на мой взгляд такое приемлемо только для коммерческого варианта.
Именно поэтому я и предложил в #158 (https://zx-pk.ru/threads/30740-voprosy-o-z84c00-i-ez80.html?p=1023188&viewfull=1#post1023188).
shurik-ua
08.08.2019, 14:13
вот интересная платка - https://ru.aliexpress.com/item/1892377255.html?spm=a2g0s.9042311.0.0.274233edVKT3 0Q
OrionExt
08.08.2019, 16:44
andrews, дык чего собираем? Я что-то запутался. Денге нести или обождать еще лет 30.
Афтор определись и обозначь, чего собираем на протухшем eZ80 (ZX, MSX, XT, AT и …)
На секундочку из прошлого MSX
https://msx.pics/images/2019/03/09/IMG_20190305_202549.jpg
Афтор определись и обозначь, чего собираем на протухшем eZ80 (ZX, MSX, XT, AT и …)
Ни одно из перечисленного. И eZ80 совсем не протухший.
Сначала собираем
некоторый макет, на котором можно обкатать идеи.
Если идеи взлетят (а трудности в их реализации уже возникли), то потом буду думать как из этого сделать компьютер. Как сформулировал andrews - компьютер автономный, т.е. работающий без IBM PC, и чтобы в него можно было лезть паяльником. И с эмуляцией ZX. Про MSX почитать надо, я про него ничего не знаю.
Комплектующие заказал, должны приехать к концу месяца.
OrionExt
08.08.2019, 19:26
Про MSX не читайте, а то станите адептом 16 битовой адресации, что на самом деле не было уж большой проблемой (когда активный код работает в пределах 16кБ). А так и было. А сейчас эффективный код летает по 1ГБ?
По 4 мегабайтам, если правильно понял вопрос. Хотя у eZ80 16 мегабайт, но транслятор ограничим 256 страницами по 16 килобайт.
Smalovsky
08.08.2019, 22:52
Может, эта информация поможет. Павел Рябцев начал делать модули на Z280.
Фото в контакте (https://vk.com/id18110958?w=wall18110958_248)
https://sun9-22.userapi.com/c849424/v849424609/178bbb/yUjo53PnQXs.jpg
А вот, описание самого компьютера:
https://www.retrobrewcomputers.org/doku.php?id=builderpages:plasmo:z280rc
Там общая шина RC2014. Поэтому к этому компьютеру нужна внешняя видеокарта. Без видеокарты модуль отправляет команды на терминал. Идеально бы смотрелась бы видеокарта с аппаратным мультиколором 240 на 512 как у Профи.
Ну вот, кстати, пример системы с шиной, без BGA 2 или 4 слойной платой. Единственное, что мне не нравится в такой конструкции, что модули не крепятся на кейс под планку и винт для лучшего контакта как в PC. Поэтому если тепловые режимы позволят, то более надежной, хотя и более дорогой (так как разъемы удваиваются на каждой плате кроме основной несущей ) будет сборка в "сэндвич" с одинаковыми разъемами с противоположных сторон. Если на несущей плате будут разъемы с гнездами(розетками), то у плат сверху к низу должны быть вилки, к верху розетки.
Количество этажей в нем ограничено только нагрузочной способностью выходов. Ну и конденсаторы надо ставить от помех правильные. Платы в "сэндвиче" сложнее расстыковывать, намного хуже тепловой режим( если нет кожуха с вентилятором) но можно обойтись даже без корпуса. Если в доме нет промпылесоса, который работает на продув, можно приспособить вентилятор для этих целей сдувать пыль. Если расстыковывать можно чистить и хорошей мягкой кисточкой с деревянной ручкой. Генератор или кварц(лучше генератор один или несколько на всю систему для лучшей синхронизации и обязательно оставить резервные линии для всяких экзотических модулей) можно взять миниатюрный ф. Mercury например. Видеокарты могут делать другие разработчики, если известна шина и ее ограничения. В принципе и несущие платы тоже могут быть разные( вот и ставьте кому надо 280-й, или что захотите)если шина и конструктив устоятся в некий стандарт. Толщина плат и их размеры должны быть просчитаны, чтобы можно было обойтись без ребер жесткости на самих платах. При сочленении и особенно при расчленении они ведь будут испытывать усилия тем большие, чем больше площадь и тоньше плата. Несущая плата должна быть несколько больших размеров и площади под какой-то наверное пластмассовый кожух( или найти подходящий металлический, что правильнее для компа).За счет металлического кожуха улучшится естественное охлаждение(если платы примут вертикальное положение) и с помехами проще разбираться. Разъемы "в сторону" должны у всех плат быть на одной стороне. Питание тоже нужно выбрать или отдельно проектировать параллельно. Вентилятор в системе должен быть малошумным и управляемым, тогда хотя бы температуру в кожухе надо заводить на базовую плату и туда же схему управления вентилятором опционально. Дизайн морды кожуха, кол-во кнопок и светодиодов.
Smalovsky
09.08.2019, 03:46
andrews, ориентироваться надо на RC2014.
https://rc2014.co.uk/
Скорее всего, это уже стандарт шины.
И задача сразу упрощается - только один процессорный модуль сделать надо. Можно и видеокарту дополнительно.
Ох, просмотрел ограничение на частоту шины в 7.3728MHz.((
Но для испытания процессорного модуля как стартовая площадка пригодится скорее всего.
Вот интересный пример:
http://www.smbaker.com/z80-retrocomputing-18-z180-cpu-board-for-rc2014
На секундочку из прошлого MSX
На каких-то моделях MSX стоял 380? Интересно. Что за модель? Софт именно для нее есть?
При всем уважении к ее сторонникам и разработчикам, нам она,пожалуй, не подойдет. Если смотреть на перспективы до 2040-50 года. Думаю, что до этой поры мир останется еще на микроэлектронике с проектной нормой максимум 3 нм. Да и если посмотреть, куда мы продвинулись начиная с середины 80-х за 30 лет.
Во-первых, у нее всего 16 линий адреса. Нам нужно минимум 22, а лучше 24( 16 Mb адресного пространства).
Шина данных у них тоже всего 8 бит. Тактовая частота всего одна может передаваться по шине.
Конечно можно ставить на платах умножители и делители. А если нужна частота которая нацело не умножается и не делится, как ее получать? Поэтому минимум под два генератора нужна шина.
Поскольку и выводы с FPGA будут выведены на шину, чтобы установленные на платах расширения FPGA могли с основной взаимодействовать, то для них тоже необходимо какое-то количество. В общем, детально я пока не расписывал и даже не подбирал сами разъемы, но с обеих сторон с двухрядными 32 контактными разъемами должно быть 128 линий. Во-вторых, хотелось бы сэндвич для жесткости конструкции. Конечно в этом случае платы расширения одного типа должны быть с односторонними по отношению к плоскости самой платы( самая верхняя плата) и двусторонними разъемами. Вторые еще должны быть и с smd выводами. Но что делать? Только так можно обеспечить гибкость компоновки под конкретного пользователя.
При всем уважении к ее сторонникам и разработчикам нам она не подходит. Во-первых, у нее всего 16 линий адреса. Нам нужно минимум 22, а лучше 24.
Не подходит однозначно. Но и 24 линии адреса тоже не нужно вообще никак.
Задам вопрос ещё раз.
Вот, допустим, есть базовая часть: процессор, память, видео, клавиатура, мышь, SD-карта, RS-232, Ethernet.
И есть шина для дополнений. Пока не важно что за шина и как именно дополнения подключаются к шине.
Что к ней подключать? Какая нужна пропускная способность этой шины?
Я про общую скорость, а не на одно дополнение.
Не подходит однозначно. Но и 24 линии адреса тоже не нужно вообще никак.
сейчас не нужно, а что будет через 10 лет никто не скажет. Если сделаешь меньше, чем кому-то будет нужно завтра - угробишь все наработки за эти годы ( плат расширения). Шина для компьютера это как Конституция для государства :)
Нужно будет больше - добавим мультиплексирование.
Мультиплексирование адресов? Это усложнение дешифраторов плат расширения. При раздельных адресах ты выборку платы вообще можешь вешать на одну линию, так как вряд ли их у кого в системе будет более 4 плат в сэндвиче, тогда 4 линий достаточно, не дублированных CS/ ами. Но правда как это для многозадачной системы? К тому же надо исходить из разницы в стоимости разъемов и размеров плат. Если ставишь два однорядных разъема с параллельных боковых сторон на несущую плату по 32 контакта имеешь шину 64 линии. Пропускная способность шин зависит от частоты CLK основного и разрядности это же понятно. Если у тебя 16 разрядов данных, то все удваивается по отношению к 8 разрядам. Если ты выбрал 320x240 VGA экран какая тебе нужна пропускная способность?( Но на таком экране двухканальный осцил это предел по визуализации и то уже кнопок, ручек деть будет некуда) Положим у меня плата расширения кидает данные к твоему видеоконтроллеру на основной плате c камеры допустим( или наоборот если видеовыход на плате расширения того же оцила/анализатора). Аналогично звук. Какой там поток максимальный возможен, если не *****качество? Если будет контроллер прямого доступа к памяти, чтобы буфера без участия ЦП копировались туда-сюда. Если кому-то в голову придет соорудить цифровой осцилл многоканальный/спектроанализатор на плате расширения.
Опять же если на расширителе midi есть, микрофон, звуковые вход/выход. Если рапознавалка голоса на самой плате и на основную сыплется символы это одно, если сырые байты после АЦП это другое.
В общем, дашь больше возможностей откроешь большую свободу для творчества. Архитектуру системы квадратиками надо нарисовать имхо. Какой-то возможный набор модулей расширений без детализации.
Здесь исходники TI-84 Plus CE откуда можно выбрать фрагменты для eZ80
https://github.com/CE-Programming/CEmu
andrews, это всего лишь 8-битный компьютер, как ZX или Радио-86РК :)
Может пока остановимся с фантазиями, и сначала попробуем запустить процессор, MMU, и VGA? А то ещё ничего нет, а мы уже HiFi звук и осциллограф-спектроанализатор с распознаванием речи подключаем :)
Cудя по другим тредам, не совсем с 0 люди делали работающую плату где-то за 3-4 месяца. Процессы могут идти параллельно. Ждешь деталей? Вижу, озаботился платой. Ну а кто-то может и ядро начнет писать для FPGA или эмулятор. Это может быть вообще не нужно. Но пусть будет :) Просто ты спрашивал про расширения. Кроме очевидных: звук, видео, дополнительная память, usb, bt, есть еще приборное направление и подключение датчиков. Регулятор температуры, кстати, управлением вентилятором, вполне себе утилитарная задача. Сейчас еще есть к температуре влажность, давление в одном корпусе. Вывести по кнопке на экран. Пустячок, но приятно. Какие же это фантазии? Просто примеры использования. Да, понятно, что внутри него, даже может со всеми расширениями, не 1 млн. вентилей и нет шин с пропускной способностью 100 мбайт/с. И это не 128-битный суперкомпьютер. Но что-то же ведь должно его отличать от остальных, уже доведенных до тиражирования, и поддержанных всем софтов клонов? И не только линейная большая память. Если же ты против шины, ничего страшного. Мне эта идея симпатична, буду дальше копать. А так все, я умолкаю.
Не надо. Ни ради чего. Забей. Не парься. Живи, как жил.
Ты уже показал как тебе сложно это сделать. Потом начнётся нытьё "ну вот, я искал, доставал, прошивал, щупы разматывал...".
Ещё раз - забей.
Через месяц сам посмотрю, и окажется что херня это всё.
Все как всегда, тебе предлагали выслать любую железку, смотри- экспериментируй -не получится вышлешь обратно.
Какие проблемы?
И естественно, мне интересно, что ты хочешь сделать.
- - - Добавлено - - -
Ethernet там вообще в eZ80 свой, встроенный.
нуда нуда, да я зануда.
- - - Добавлено - - -
а физический уровень там точно есть?
все есть, уж если интересно так, мог бы просто ознакомится с офицалкой зилога, а не трындеть в пустоту.
- - - Добавлено - - -
Все как всегда, тебе предлагали выслать любую железку, смотри- экспериментируй -не получится вышлешь обратно.
Какие проблемы?
И естественно, мне интересно, что ты хочешь сделать.
- - - Добавлено - - -
нуда нуда, да я зануда.
- - - Добавлено - - -
все есть, уж если интересно так, мог бы просто ознакомится с офицалкой зилога, а не трындеть в пустоту.
http://www.shaels.net/index.php/mic80/mic80-general/38-mico-overview
2009 ...
Если же ты против шины, ничего страшного. Мне эта идея симпатична, буду дальше копать.
Идея шины? Я не против, шина нужна.
Как я её себе примерно представляю.
8 бит данных, 8 бит адреса, ALE, RD, WR. На каждую плату CS, IRQ, программируемый CLK. Шина при этом не связана напрямую с той шиной, на которой висит CPU, RAM, и встроенное видео.
Адресным пространством рулит FPGA.
Если устройство простое, например, AY-8912 или IDE - его можно повесить на шину только согласовав уровни.
Если устройству нужно 16 разрядов адреса - на плате дополнительно 373.
Ещё надо бы DMA куда-то прикрутить...
Внешняя видеокарта не должна лезть в основную память, у неё своя FPGA и своя видеопамять, поэтому шине не нужна большая пропускная способность.
Осциллографу тоже много не надо, у него своя FPGA для захвата с большой скоростью и синхронизации, потом CPU читает записанные кадры.
- - - Добавлено - - -
Простой звук и так будет, а "сложный" - кто его обрабатывать будет? 8-битный CPU? Может, он ещё и MP3 декодирует? :)
Идея шины? Я не против, шина нужна.
Как я её себе примерно представляю.
8 бит данных, 8 бит адреса, ALE, RD, WR. На каждую плату CS, IRQ, программируемый CLK. Шина при этом не связана напрямую с той шиной, на которой висит CPU, RAM, и встроенное видео.
Адресным пространством рулит FPGA.
Если устройство простое, например, AY-8912 или IDE - его можно повесить на шину только согласовав уровни.
Если устройству нужно 16 разрядов адреса - на плате дополнительно 373.
Ещё надо бы DMA куда-то прикрутить...
Внешняя видеокарта не должна лезть в основную память, у неё своя FPGA и своя видеопамять, поэтому шине не нужна большая пропускная способность.
Осциллографу тоже много не надо, у него своя FPGA для захвата с большой скоростью и синхронизации, потом CPU читает записанные кадры.
- - - Добавлено - - -
Простой звук и так будет, а "сложный" - кто его обрабатывать будет? 8-битный CPU? Может, он ещё и MP3 декодирует? :)
Забавно, вы о чем? Эндрю пинал меня по этой теме, адцать лет назад, но смотрю так и застыл на том уровне
https://hackaday.io/project/161496-cpm-50-mk-ii
- - - Добавлено - - -
Нужно будет больше - добавим мультиплексирование.хорош закинул и это при 4 штатных CS на проце и при 24 битной шине с завода, ммм ... +5!
https://youtu.be/IwPZYEDkisA
делай, мое предложение в силе, отладку пришлю, а ZDS бесплатная
Ещё надо бы DMA куда-то прикрутить...
Внешняя видеокарта не должна лезть в основную память, у неё своя FPGA и своя видеопамять, поэтому шине не нужна большая пропускная способность.
Осциллографу тоже много не надо, у него своя FPGA для захвата с большой скоростью и синхронизации, потом CPU читает записанные кадры.
Простой звук и так будет, а "сложный" - кто его обрабатывать будет? 8-битный CPU? Может, он ещё и MP3 декодирует? :)
вот именно DMA! ЦП должен только его сконфигурировать, и разрешить работу. Сам ЦП потом может использовать память по необходимости. В обратную сторону ЦП формирует блок памяти для внешнего устройства и дает разрешение пересылать его DMA. Скоростная шина не повредит, если будет USB, и внешняя видео, звук, e.t.c Внешние устройства могут быть "тяжелыми" по памяти и быстродействию. Главное чтобы ими управлял "легкий" процессор со своей операционкой. Он мозг, они "мордовороты". Если же их делать примерно равной категории, то отличной от других Спектрумов функциональности, ты не получишь. Про память. Ну если есть КПДП и быстрая шина, то кто во что горазд. Если ставить динамическую память на планках, то вряд ли дешевый и доступный вариант сегодня это будет 8 Mbyte 8 bit, скорее какие нибудь 256 Mbyte 16 разрядов. Задача упростить доступ к ней, как к 8 Mbyte 8 bit лишь на первый взгляд абсурдна. Осциллограф же и вообще приборы, конечно будут работать в реальном времени и накидывать много данных. Зачем на их платах дублировать большую память, если допустим на плате расширения памяти без дела лежат 240 мегабайт? Выводить картинку осциллографа ты можешь хоть 1 раз в секунду на экран ЦП или видеокартой, но если полоса у него ( по АЦП на плате 40MHz 2 канала и разрешение 12 бит, то АЦП куда-то должно сбрасывать 60 Mb каждую секунду!). Поэтому ты определил характеристики шины, исходя из потребностей ЦП, у которого внешние устройства примерно того же класса, что и он сам! А я исходя из того, что он просто "легкий мозг" над тяжелыми внешними монстрами :) Соответственно и сложный звук будет обрабатывать то, что на плате сложного звука установлено. Просто если память в планках пропадает, то зачем ее дублировать?
вот именно DMA! ЦП должен только его сконфигурировать,
Эндрю, это не является проблемой, приятная фича , но забрасаешь ты 320x200x256 и это все -потолок. У ешки шина 8 бит, конЪвеер аля i486, да присутствет, но это так себе в своем , верю,что Болт
сможет сделать, что вразумительней чем поделки за 10 лет. Только пока вижу "грабли", на которые, все "интересанты" темы наступили, включая меня.
Чтоб ощутить всю ппц пипицов, надо просто взять отладку и провести с ней незабываемые пол года. Будет полезно и по предмету, а так это пустое все.
320x200x256 и это все -потолок
вот я включил моник плоский на vga выход и у него и другие режимы есть, да? Это в конфигуратуре можно установить. Вот идет стандарт видеосигнал со "спектрумовским экраном". Запускаю гаму. А у меня по сценарию заставка или интро к "Побегу". На это время зачем мне "потолок"? Перекоммутирую видеовыход на расширитель видео. И вижу на экране в каком-то другом разрешении результат его работы. Идет геймплей, достигли какой-то точки его. Могу опять видео в большем разрешении запустить? Аналогично и со звуком. Перекоммутируешь аудио выход программой с ЦП. Понятно, что основной программе режимы должны быть доступны через ЯП или порт, и она в любой момент должна иметь возможность вернуться в "стандартный экран" или в предыдущий. Просто буферизировать надо текущую картинку на "стандартном экране" и ее сразу выводить после возврата, чтобы не черный и не случайный экран выводить. КПДП возможно потребуется из FPGA, чтобы достичь нужной скорострельности. В общем для всех дублирующих на базовой плате устройств надо сигнал(ы) на шину выводить.
По поводу отладки. А почему обязательно отладку сразу на eZ80 делать? Она конечно интересна на определенном этапе, но задумки можешь проверять на чем угодно, что сформирует нужные сигналы для твоего макета. Нет?
OrionExt
11.08.2019, 17:06
ОК еZ80 не протух. Вот другое интересует. Шины – пшыны. Как реально общаться с наследием 8-бит. Оно уже начинает показывать фигу на частоте 5МГц. И шина на 8 битках очень не любит решений не 8бит, пример IDE.
И главное. Банально. Но задам вопрос. Софт? СР/М? Этого добра наелись за 50лет. И еще на 150лет отрыжка будет мучить ведущих производителей. Бо нечего умней не было придумано чем СР/М и UNIX.
- - - Добавлено - - -
На каких-то моделях MSX стоял 380? Интересно. Что за модель? Софт именно для нее есть?
Забудьте. Это некая разработка, которая появилась на волне энтузиазма в Бразилии (90 годы). Было чего-то. Это не MSX.
ОК еZ80 не протух. Вот другое интересует. Шины – пшыны. Как реально общаться с наследием 8-бит. Оно уже начинает показывать фигу на частоте 5МГц. И шина на 8 битках очень не любит решений не 8бит, пример IDE.
И главное. Банально. Но задам вопрос. Софт? СР/М? Этого добра наелись за 50лет. И еще на 150лет отрыжка будет мучить ведущих производителей. Бо нечего умней не было придумано чем СР/М и UNIX.
поэтому я и писал, что на базовой плате желательно несколько smd генераторов поставить 5x5 mm, чтобы она всю систему синхронизировала и не теряла контроля. А так любой сигнал в z состояние, когда не работает. Мастером на шине в каждый момент времени должно быть одно устройство. Если надо текущего мастера прервать, подается запрос на основную плату, основная плата обрабатывает его и завершает мастера. Так же ОП должна иметь watchdog( она имеет) и из зависаний корректно систему выводит. По поводу операционки на все новые возможности, ничего пока не могу сказать. Должна ведь сперва архитектура сложиться. Но наверное и имеющиеся операционки должны работать, об этом тоже думать надо. Это известный подход, чтобы ничего из "наследия" не терять. Драйвера должны быть для поднятия любой из них. А для этого документировать все надо и держать открытым на 95%. 5% все же лучше пока не открывать, мало ли коммерческий софт и безопасность, если найдутся вирусописатели :)
OrionExt
11.08.2019, 17:58
Дык зачем цепляться за прошлое создайте нечто обыденное - супер чайник под управлением еZ80 с выходом в инет. Может перегнул. Но зачем ручкой от дрели BOSCH забивать сверла.
- - - Добавлено - - -
Z280. Иффективные манагеры признали Z280 выкидышем. Ну, где то они были правы, но эта штука имела защищенное ОЗУ (стек) и не виданную по тем временам способам общения с памятью (СИ-лайк).
- - - Добавлено - - -
И самое главное Z280 не было последующие, последние поделие от Зилог …, Аля мы купили у япошек HD180 и сейчас мы его начнем впаривать. Бо … EZ80 (Аля HD180) это последовательное решение, для бытового чайника И захвата мира :smile:
вот я включил моник плоский на vga выход и у него и другие режимы есть, да? Это в конфигуратуре можно установить. Вот идет стандарт видеосигнал со "спектрумовским экраном". Запускаю гаму. А у меня по сценарию заставка или интро к "Побегу". На это время зачем мне "потолок"? Перекоммутирую видеовыход на расширитель видео. И вижу на экране в каком-то другом разрешении результат его работы. Идет геймплей, достигли какой-то точки его. Могу опять видео в большем разрешении запустить? Аналогично и со звуком. Перекоммутируешь аудио выход программой с ЦП. Понятно, что основной программе режимы должны быть доступны через ЯП или порт, и она в любой момент должна иметь возможность вернуться в "стандартный экран" или в предыдущий. Просто буферизировать надо текущую картинку на "стандартном экране" и ее сразу выводить после возврата, чтобы не черный и не случайный экран выводить. КПДП возможно потребуется из FPGA, чтобы достичь нужной скорострельности. В общем для всех дублирующих на базовой плате устройств надо сигнал(ы) на шину выводить.
По поводу отладки. А почему обязательно отладку сразу на eZ80 делать? Она конечно интересна на определенном этапе, но задумки можешь проверять на чем угодно, что сформирует нужные сигналы для твоего макета. Нет?
Эндрю, не мешай квадратное с теплым, проц никакого отношения не имеет к видео, еще раз повторю, если многоуважаемый Болт, сам оценит и поймет , это будет ему + в карму
еще раз, повторю, пришлю пусть развлекается, ты ересь сейчас несешь, рука лицо потерялся смайлик.
не использовать все фичи этого MCU = загонять себя в уровень поделок 10' ей давности, в чем профит?
OrionExt
11.08.2019, 18:15
Не нужно быть таким категоричным. Идефиктифные манагеры засырают мозги инженеру.
Не нужно быть таким категоричным. Идефиктифные манагеры засырают мозги инженеру.
проблема токо в том, что рождать давно забытые вещи проще, чем делать с 0, тотжешь ULAX, его автор знает толк в извращениях и это действительно мощная весчЪ, а это так
погремушки MCU = которые за столько лет, не смогли осилить, не смотря на "потанцвал" Ж)
- - - Добавлено - - -
HD180ну недо так, почему ты так считаешь? в HD
было много просеров , но зилог смог исправить и это z180s, собственно он гораздо перспективней, чем ешка Ж)
)
ешка для поделий негодная штука, тудозатраты на свою ОЦ, считай жизнь, а 280 и 380, уже совсем для ценителей
Чтоб ощутить всю ппц пипицов, надо просто взять отладку и провести с ней незабываемые пол года. Будет полезно и по предмету, а так это пустое все.Что имеется в виду под словом "отладка" я до сих пор не понял, но если полгода это на освоение нового процессора - ну ок, посмотрим что я смогу сделать за полгода.
OrionExt
11.08.2019, 19:24
Ну дык сами "дураки". HD180 – контроллер. Z280 – проц ( с элементами загрузки ПО прямо в кеш)
- - - Добавлено - - -
Крепко нам иDективные манагеры мозг поломали. Классная штука прозрение и реал пощупать.
Что имеется в виду под словом "отладка" я до сих пор не понял, но если полгода это на освоение нового процессора - ну ок, посмотрим что я смогу сделать за полгода.
Забавно, что поГрамисту со стажем нужно объяснять, что это такое, может у зилог изменилась политика, давно не интересуюсь, лет 7 :) надеюсь сможешь,
Это MCU, не CPU, но если хочешь будет CPU
проц никакого отношения не имеет к видео
А к геймплею он имеет отношение? Я запускаю игруху( неважно из какой операционки и какого командера), код начал выполняться на ЦП. И вот где-то ближе к началу программы у меня по задумке надо проиграть видео большего, чем стандартного разрешения. Допустим 640x480 256 цветов на точку. Монитор поддерживает режим? Да. Видео лежит где-то в памяти платы расширения памяти? Положим ( не через один только проц загрузили с флэхи перед запуском игры) да лежит. Программа на ЦП убедилась по статусам что все o'k? Если действительно все o'k, она с помощью стандартной процедуры переключает ФИЗИЧЕСКИ видеовыходы( отрубает стандартный, подрубает видеовыход платы расширения видео) и без участия ЦП промулькивает мне его на дисплее. Что непонятно? Но поскольку клавиатура продолжает генерить прерывания на ЦП, то при нажатии на определенную клавишу, процесс прокручивания видео прерывается, видеовыход платы расширения ФИЗИЧЕСКИ отключается и включается стандартный видеовыход. Процесс геймплея продолжается. Если надо параллельно воспроизводить нестандартный звук, то точно также на вход усилителя НЧ идет сигнал не со стандартного аудиовыхода, а с аудиовыхода платы расширенного звука. Да, ЦП в этом случае используется просто как управление проигрыванием. Только не говорите, что это управление видеоплеером. Может быть это и так, если только видео и аудио фрагменты в нем пронумерованы и умеют практически мгновенно переключаться.
Это MCU, не CPU, но если хочешь будет CPU
Если шина адресная, данных и управления наружу выходят, а не просто порты, то это не MCU, а скорее расширенный процессор.
Забавно, что поГрамисту со стажем нужно объяснять, что это такое, может у зилог изменилась политика, давно не интересуюсь, лет 7 :) надеюсь сможешь,
И вот опять Totem вместо объяснения значения слова попытался обосрать.
Ты почему злой такой?
А к геймплею он имеет отношение? Я запускаю игруху( неважно из какой операционки и какого командера), код начал выполняться на ЦП. И вот где-то ближе к началу программы у меня по задумке надо проиграть видео большого разрешения. Допустим 640x480 256 цветов на точку. Монитор поддерживает режим. Да. Видео лежит где-то в памяти платы расширения памяти? Положим ( не через один только проц загрузили с флэхи перед запуском игры) да лежит. Программа на ЦП убедилась по статусам что все o'k? Если действительно все o'k, она с помощью стандартной процедуры переключает ФИЗИЧЕСКИ видеовыходы( отрубает стандартный, подрубает видеовыход платы расширения видео) и без участия ЦП промулькивает мне его на дисплее. Что непонятно? Но поскольку клавиатура продолжает генерить прерывания на ЦП, то при нажатии на определенную клавишу, процесс прокручивания видео прерывается, видеовыход платы расширения ФИЗИЧЕСКИ отключается и включается стандартный видеовыход. Процесс геймплея продолжается. Если надо параллельно воспроизводить нестандартный звук, то точно также на вход усилителя НЧ идет сигнал не со стандартного аудиовыхода, а с аудиовыхода платы расширенного звука. Да, ЦП в этом случае используется просто как управление проигрыванием. Только не говорите, что это управление видеоплеером. Может быть это и так, если только видео и аудио фрагменты в нем пронумерованы и умеют практически мгновенно переключаться.
читай далее между строк выше, там есть все, даже дохтар дью тебя не пробивает ? рука лицо, ты сейчас цетируишь мой зетикс? РАССТРЕЛЯТЬ -не способен читать и осваивать
ухавахаха
...с помощью стандартной процедуры переключает ФИЗИЧЕСКИ видеовыходы( отрубает стандартный, подрубает видеовыход платы расширения видео) и без участия ЦП промулькивает мне его на дисплее. [...] Да, ЦП в этом случае используется просто как управление проигрыванием. Только не говорите, что это управление видеоплеером.
Нет, это не управление видеоплеером. Это 3dfx Voodoo :)
69796
И вот опять Totem вместо объяснения значения слова попытался обосрать.
Ты почему злой такой?
ничего не 0бсераю, прямо сказано, пиши куда слать и делай, что тебе интересно, нафиг тебе тратится на железо, если оно есть?
Totem, да уймись ты, уже заказано и оплачено.
- - - Добавлено - - -
Причём заказано то, что мне нужно, а не какие-то там отладки :v2_dizzy_biggrin2:
А к геймплею он имеет отношение?
имеет конечно, возьмем для примера ассисонов любых и думак на вулкане, нук давай расскажи нам о лучах в метро ? сам то видел или так потрещать?
- - - Добавлено - - -
Totem, да уймись ты, уже заказано и оплачено.
- - - Добавлено - - -
Причём заказано то, что мне нужно, а не какие-то там отладки :v2_dizzy_biggrin2:
ну ждемс результатов, если уж ты в теме , то будет - верю надеюсь жду:v2_dizzy_roll:
Так если это всем так очевидно, то почему никто не сделал-то? ( переключение видео и звука) Я в данном случае исхожу из интересов тех, кто будет играть, и кто будет игры делать. Давай лучше ссылки какие-то, если есть для пользы дела.
Так если это всем так очевидно, то почему никто не сделал-то? Давай лучше ссылки какие-то, если есть для пользы дела.
ссылки есть , там примерно с 12 проектов на ешке, тебе прислать распиновку модулей или чего? Вон Болт и оформит все, сконцентирустя такой напишет ОС и эмуль, верю в него.
- - - Добавлено - - -
Нет, это не управление видеоплеером. Это 3dfx Voodoo :)
69796
еще одна цитата из древнего проекта, ну так может быть -идеи рождаются от незнаний , так появился Hynix,почему нет? хотя нет , там забористая история .
Наконец я кажется нашел
https://zx-pk.ru/threads/14027-zetnix-ez80-project/page5.html
Почему ты по-русски назвал это "зетикс"? Про шину ничего не нашел. Про переключение видео и аудиовыходов тоже. И если есть где-то финальная часть того проекта, то где? Только без загадок, работающую ссылку пожалуйста.
И шо, не успеет? :)
оно то успеет но смысл теряется, бери тогда raspberry уже... вся суть retro в том что это 5um и до 7...10mhz
оно то успеет но смысл теряется, бери тогда raspberry уже... вся суть retro в том что это 5um и до 7...10mhz
Кому нужно ретро - пусть берёт 5 um. Ещё раз повторю - у меня нет цели создать ещё один клон, потактово соблюдая все каноны аутентичности.
- - - Добавлено - - -
Пытаюсь разобраться с загадочным входом #WAIT. Пока понятно только то, что без wait states работать не получится.
Ещё раз повторю - у меня нет цели создать ещё один клон, потактово соблюдая все каноны аутентичности.
так ретро это более широкое понятие чем клон спекки, на youtube с каждым днем все больше каналов посвященных теме новоделов в ретро-стиле, народ фантазирует на тему "что было возможно в те времена, но по разным причинам не было реализованно", это как спорт типа "метания копья", уже давно нет практического смысла применять в военных действия копье и учиться его метать... но метание копья жило живет и будет жить
с другой стороны есть специфическая часть народу которые применяют например raspberry pi как эмулятор ULA для вывода изображения на HDMI, что естественно полный бред и треш (прикрутить полу-эмулятор zx-a к реальному z80 с памятью)
There is not min/max time before/after rise of PHI. For as long as #WAIT is asserted (low), on every clock rising edge of the internal system clock. When #WAIT is deasserted (high), it will take effect on the next rising edge of the internal system clock.
Скажите, как такое может быть?
А если "#WAIT deassert" произойдёт за 0.1 нс до "rising edge of the internal system clock" - успеет сработать?
Нарисуй пожалуйста на бумаге в масштабе, а не в голове. По идее действительно внутренний clock не растянутый искусственно определяет максимальное быстродействие чипа. Ядро же на автомате делается как ни крути. Или ты думаешь там аналоговый каскад применили сверхбыстродействующий и дифференцирующий?
Речь идёт не о максимальном быстродействии чипа.
Есть вот такая картинка:
69844
но на ней нет, например, WAIT. Когда его подавать? Если я его сделаю assert на первом цикле - сработает? А если за 1 нс до rise edge? А если отпущу за 0.5 нс - сработает, или проскочит ещё один такт ожидания? Вот это я и пытаюсь добиться от техподдержки. Цитата выше - это их ответ. Это они пусть нарисуют как у них там каскад устроен, что "there is not min/max time before/after rise of PHI".
Скажите, как такое может быть?
А если "#WAIT deassert" произойдёт за 0.1 нс до "rising edge of the internal system clock" - успеет сработать?
такое легко может быть, на входе стоит flip-flop и срабатывает по edge, соответственно уровень сигнала #wait будет взят тот который был в момент этого самого "rise", если предположить что время этого самого rise такое длинное что #wait успевает побывать и в 0 и в 1... то результат непредсказуем, т.е. требуется гарантированно "устаканившийся" уровень сигнала #wait в момент "rise"
"there is not min/max time before/after rise of PHI" - это значит что по фронту защелкивается значение а не как в latch-aх
OrionExt
20.08.2019, 13:42
Это ловля блох (фронт/срез). В Z80 wait ловится в T2. А в еZ80 в каком такте?
Ну и длительность wait не сложно сделать (сколько тактов ждем) при наличии сигнала clock cpu.
требуется гарантированно "устаканившийся" уровень сигнала #wait в момент "rise"У flip-flop есть параметры setup и hold. "Устаканившийся" это сколько наносекунд? Об этом речь.
- - - Добавлено - - -
Это ловля блох (фронт/срез). В Z80 wait ловится в T2. А в еZ80 в каком такте?
Ну и длительность wait не сложно сделать (сколько тактов ждем) при наличии сигнала clock cpu.
Ловится на любом, у него 1 такт на операцию.
Речь не о длительности WAIT в тактах, а в какой момент можно его подавать и снимать. Так же как BUSRQ, про него тоже ничего нет.
Если проц анализирует сигналы по фронту клока, то меняйте их по спаду. И будет гарантированно работать.
OrionExt
20.08.2019, 14:25
Ловится на любом, у него 1 такт на операцию.
Речь не о длительности WAIT в тактах, а в какой момент можно его подавать и снимать. Так же как BUSRQ, про него тоже ничего нет.Если в любом такте. Подавайте в начале такта. Логично (по мне) что вайт, должен отлавливаться в середине такта (срез clk).
Если проц анализирует сигналы по фронту клока, то меняйте их по спаду. И будет гарантированно работать.
Будет. Но медленно. Потому что за один такт надо и адрес проанализировать, и WAIT выставить, а за полтакта на частоте 50 МГц это не получится.
OrionExt
20.08.2019, 15:12
Кстати за один такт все там происходит и адрес выставляется и с шины данные читаются?
Один внешний такт - одна операция. Может и две за такт? Это так? Поэтому все так и сложно. О конвейере забыли (продвинутый), тоже жрет внутренние такты. И может конфликтовать с внешней шиной.
Давите на вайт в начале такта, может к середине такта сигнал дойдет. А там набор +1 вайт с периферией работающей на 1МГц вы не заметите :)
- - - Добавлено - - -
А тех поддержка (волна беженцев). Вам будет парить мозги о фронте о 1нс. Да и сами разробы видимо слабо понимают в некоторых нюансах проца. Я, почему так сужу. Почитайте документаху на Z280 и гарантирую мозг бубликом согнется.
Кстати за один такт все там происходит и адрес выставляется и с шины данные читаются?
Давите на вайт в начале такта, может к середине такта сигнал дойдет. А там набор +1 вайт с периферией работающей на 1МГц вы не заметите :)
Да, всё за один такт.
У меня кроме периферии на 1 МГц ещё оперативка, видео, и вообще всё сложно.
Да и сами разробы видимо слабо понимают в некоторых нюансах проца.
Тоже так показалось.
Bolt, какие то противоречивые условия задачи. Хотите скорость-не используйте Wait. Берите частоту системы 200-300 МГц, и обрабатывайте запросы от проца. Иначе получится не по книжке, и даже если Ваш экземпляр заработает, то при повторении конструкции может и не сработать. Решайте-надежность или авось.
OrionExt
20.08.2019, 15:44
Все просто. Навешиваем рекумендуемую память и погнали отдовать запросы железу, и получать странные ответы от железа :v2_dizzy_roll:
Да, хочу скорость, но количество wait states может динамически меняться. Например, если будет RAM 70 нс, а в ПЛИС небольшой кэш. Получается, что процессор может получить данные и за один такт, но в случае необходимости надо успеть дёрнуть WAIT, отсюда и противоречивость. ПЛИС только внутри на 300 МГц работает, а "от ноги до ноги" 6 нс даже если напрямую соединить.
Самое простое понизить частоту, например, до 25 МГц, но тогда теряется половина скорости процессора. Не наш метод :)
- - - Добавлено - - -
Все просто. Навешиваем рекумендуемую память и погнали отдовать запросы железу, и получать странные ответы от железа :v2_dizzy_roll:
А потом навешиваем трансляцию адресов и прочее, и скорость падает минимум в два раза.
- - - Добавлено - - -
Иначе получится не по книжке, и даже если Ваш экземпляр заработает, то при повторении конструкции может и не сработать. Решайте-надежность или авось.А фишка в том, что в книжке-то и не всё описано. Поэтому где-то определю экспериментально, где-то дофантазирую. Всё в лучших традициях цифровой техники прошлого века :)
OrionExt
20.08.2019, 16:43
Как все сложно.
Мне всегда казалось, что память живет своей жизнью. Ставьте вайт на память если нужно. Это самое быстрое, что должно быть.
И неужели память о 10нс будет быстрей медленней некой микрухи от AMD мат-процессора. Для AMD будет отдельный подтормаживатель (или можно в тупую понижать такт цпу до самой медленной периферии /MSX/). Опять же вы это заметите. Все просто будет летать в рамках ЦПУ-Память.
- - - Добавлено - - -
Можно еще нарваться на фиг-вам, когда регистры микрухи мапятся на память. Ну, это так, если задумаете перемирию сторонюю подключать.
Про разработчиков я сперва смеялся, ведь проц идет в массовое изделие - калькулятор от TI и "косяки" давно бы всплыли. Но потом стало ясно, что все ситуации использования они не могут предусмотреть. А желание понять то, что в доках не описано и в чем поплыла "техподдержка" как раз индикатор этого нестандартного подхода. Выход здесь может быть такой. Для экспериментов изваять все же ядро на FPGA. Потом можно получать большие деньги с Zilog-а :) так как если решение покажет свою эффективность это расширение функционала микрухи, которое им можно продать.
omercury
22.08.2019, 21:14
как такое может быть?
Блин, ну английским же по белому написано, что циклы WAIT (от 1 до 7 тактов, программируется битами [7:5] регистров CSx_CTL) вводятся для сигналов CSx и всех внешних шин, чтоб внешние устройства успели сработать. Захват происходит по положительному (rising) перепаду внутреннего тактового сигнала, на входе внешнего wait стоит триггер (фига 8). Цикоы ожидания вводятся со следующего такта после захвата (фига 9) документа ps0192.pdf
От себя замечу, что клок как правило идёт по самому короткому пути внутри кристалла и имеет самые короткие задержки.
А если "#WAIT deassert" произойдёт за 0.1 нс до "rising edge of the internal system clock" - успеет сработать?
А вот тут и начинается ловля блох...
Наиболее вероятно, что "не успеет", но зависит это от уймы факторов - если к входу подключен двухтактный выход, то может и успеть, а если открытый коллектор, то скорее всего не успеет..
Для максимальной уверенности желательно всю мелочь спрятать в ПЛИС (для рассыпухи частоты великоваты) и синхронизировать всю схему от того же положительного перепада такта, тогда захват wait произойдёт на следующий такт после изменения сигнала, а циклы ожидания вставятся после него.
такт 0 - смена сигнала
такт 1 - захват
такт 2-:-8 цикл ожидания
Ах да, тактировать ЦПУ и ПЛИС одним сигналом.
- - - Добавлено - - -
Выход здесь может быть такой. Для экспериментов изваять все же ядро на FPGA. Потом можно получать большие деньги с Zilog-а :)
Ога!
"Принеси то, не знаю что..."
OrionExt
24.08.2019, 13:38
Для экспериментов изваять все же ядро на FPGA. Потом можно получать большие деньги с Zilog-а :)
Это сколько человеко часов нужно и денег. Это не реально. Тут до сих пор не могут сделать (устойчивый камень. при наличии фото кристалла) реальный Z80 на FPGA (FPGA за приемлемые деньги это не под силу). Существует только модель T80 патченная / перепатченная.
То есть как это не могут? 580 смогли, а этот нет?
Я ж тоже срисовывал и на Verilog переводил...
OrionExt
24.08.2019, 18:23
Модели. Капитан. Модели ;)
Я конечно не спец, но вот как делали спецы 80386 из Светланы МЭ. Сперва делали ядро RISC, а потом дешифратор и микропрограммы для CISC, тогда вентилей меньше нужно! Ну да, топология не идентична, но функционал тот же. У них заняла разработка 18 человеко*месяцев, но тесты не все прошли.
OrionExt
24.08.2019, 19:03
Предлагаю из Светланы выпилять пять яхт. Ты с Урала (с)
Вопрос по RAM.
То, что на данный момент абсолютно неизвестно сколько её понадобится, не учитываем :)
Максимум что я смог найти это 4 мегабайта за 1400 рублей, ещё и корпус с шагом 0,5 мм.
А какую бы SRAM поставили вы? Пусть даже купленную у китайцев.
OrionExt
28.08.2019, 19:38
DRAM ставти (только джедаи о 8 бит ставят срам), и потом мучайтесь. SRAM дорого. еZ80 на DRAM заточен, ведь?
Нет, eZ80 на DRAM не заточен.
Для DRAM у ПЛИС ног не хватит. Или QFP-144 и SRAM, или BGA-256 и DRAM. По цене одинаково выходит.
OrionExt
28.08.2019, 19:53
Нет, eZ80 на DRAM не заточен.Опередили. Уточните еZ80 ЦПУ или МПУ? Ясно МПУ. Тогда все зависит от вашего кошелька (срам) или умения обуздать (драм).
omercury
29.08.2019, 00:28
А какую бы SRAM поставили вы? Пусть даже купленную у китайцев.
CY7C1049DV33-10zsxi, купленная 3 года назад и распаянная рядом, работает на 79,8МГц
IS61WV20488-10TLI, купленные год назад здесь (https://ru.aliexpress.com/item/32863571533.html?spm=a2g0s.9042311.0.0.274233edc6m G9C), через разъёмы PLC/PLD, работают на 56МГц две штуки в параллель на 16 бит.
Я бы трассировал под два корпуса последней, ибо не меняя платы можно получить от 0,5 до 4 мегабайт оперативки. Больше на SRAM дорого(да и ёмкость пинов будет давать о себе знать), а на DRAM/SDRAM медленно, максимум 16-17 МГЦ рандомного доступа, и то с использованием ПЛИС.
Что-то я уже готов от SRAM отказаться. Она, конечно, позволит выйти на 50 МГц, но...
на DRAM/SDRAM медленно, максимум 16-17 МГЦ рандомного доступа
Это, так понимаю, в режиме имитации SRAM, и без использования burst и прочего?
omercury
02.09.2019, 08:02
Разумеется.
А также без учета регенерации.
Ну, раз из "готовых кирпичиков" не складывается, можно рассмотреть вариант жирной альтеры и силиконового программирования, а в перспективе заказного чипа. Следующие 40 лет жизни платформы того стоят!
Шутка про 40 лет понравилась :)
Рисование платы как ремонт в квартире - закончить нельзя, можно прекратить.
Вроде уже всё нарисовал, и большую Альтеру в BGA поставил, но ещё хочется прикрутить маленький цветной дисплей и WiFi. Даже без eZ80 будет хорошая платка для опытов с ПЛИС.
- - - Добавлено - - -
Написал и понял - без процессора не будет работать Ethernet, надо добавить внешний MAC+PHY. Остановите меня! :)
omercury
06.09.2019, 07:56
большую Альтеру в BGA поставил
Насколько большую?
Какой видеовыхлоп?
Память поставил? Какую? Сколько?
Написал и понял - без процессора не будет работать Ethernet, надо добавить внешний MAC+PHY.
Осталось добавить USB-OTG, АЦП и Ардуино-шилд, и понять, что сделал очередную TerAsic DE-xx...
Остановите меня! :)
Зачем? :)
Насколько большую?
Какой видеовыхлоп?
Память поставил? Какую? Сколько?
Альтера на самом деле маленькая, 4К элементов. В Квартусе прикинул - пока занято 10%, с этим проблем нет. Проблема с внутренней памятью.
Видеовыхлоп VGA, 4 бита на цвет. Пока 320x240, не знаю сколько потянет процессор и контроллер DRAM.
Оставил на плате SRAM, но она скорее всего не понадобится. Добавил DRAM 32 мегабайта.
Порты: VGA, RS232, Ethernet, два PS/2, выход звука 2 канала ШИМ, SD карта.
Микросхемы: RTC, EEPROM, flash 2 мегабайта.
Остановите меня! :)Зачем? :)
Чтобы я уже наконец заказал плату и микросхемы :)
omercury
06.09.2019, 11:18
Альтера на самом деле маленькая, 4К элементов.
Коротка кольчужка...
с этим проблем нет.
Будут.
EP4C10-15 влезет?
Видеовыхлоп VGA, 4 бита на цвет.
Лучше 5+5+5. "На вырост"
Оставил на плате SRAM, но она скорее всего не понадобится.
Скорее всего понадобится.
Добавил DRAM 32 мегабайта.
SDRAM
"И это правильно!" (с)
выход звука 2 канала ШИМ
Усилитель для наушников обязательно.
flash 2 мегабайта
SPI ? На одной шине с SD-картой?
Желательно под неё кроватку, если отдельно.
Для лёгкой смены ПЗУ.
Чтобы я уже наконец заказал плату
Под доступный корпус.
> Коротка кольчужка...
> EP4C10-15 влезет?
Потом разберёмся, пока так.
> Лучше 5+5+5. "На вырост"
Может быть.
>> Оставил на плате SRAM, но она скорее всего не понадобится.
> Скорее всего понадобится.
Зачем?
> Усилитель для наушников обязательно.
Ок.
> SPI ? На одной шине с SD-картой?
SPI. На разных шинах.
Flash на eZ80. Загрузка, логи.
SD на FPGA, потому что у eZ80 SPI максимум 9 МГц, и без DMA.
> Желательно под неё кроватку, если отдельно. Для лёгкой смены ПЗУ.
Зачем?
>> Чтобы я уже наконец заказал плату
> Под доступный корпус.
Какой, например? ATX?
omercury
06.09.2019, 14:07
Потом разберёмся, пока так.
На готовой плате? :)
>> Оставил на плате SRAM, но она скорее всего не понадобится.
> Скорее всего понадобится.
Зачем?
Видеопамять.
Возможно.
> Желательно под неё кроватку, если отдельно. Для лёгкой смены ПЗУ.
Зачем?
Для загрузки в РАМ содержимого ПЗУ. Ибо параллельные ПЗУ медленны.
>> Чтобы я уже наконец заказал плату
> Под доступный корпус.
Какой, например? ATX?
Что-нибудь в этом роде http://www.platan.ru/cgi-bin/qwery.pl/id=18543
Максимум Micro ITX
https://ru.aliexpress.com/item/32700030149.html?spm=a2g0o.productlist.0.0.28d76cf 4OLfKp1&algo_pvid=b52c4f51-8f59-4cc1-9781-619c21a17e4e&algo_expid=b52c4f51-8f59-4cc1-9781-619c21a17e4e-0&btsid=7c118486-6d4a-40ab-b47c-a1ea258522a1&ws_ab_test=searchweb0_0,searchweb201602_7,searchwe b201603_53
https://ru.aliexpress.com/item/4000073227131.html?spm=a2g0o.productlist.0.0.28d76 cf4OLfKp1&algo_pvid=b52c4f51-8f59-4cc1-9781-619c21a17e4e&algo_expid=b52c4f51-8f59-4cc1-9781-619c21a17e4e-24&btsid=7c118486-6d4a-40ab-b47c-a1ea258522a1&ws_ab_test=searchweb0_0,searchweb201602_7,searchwe b201603_53
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot