ZXNet эхоконференция «hardware.zx»


тема: Внутрисхемный эмулятор Z80



от: DVS
кому: All
дата: 28 Jul 2006
Hello, All

Где купить? Или можно самому собрать? Задача отладить прогу для Z80 с ПЦ.

от: DVS
кому: All
дата: 28 Jul 2006
Hello, The Exploited

The> эмуляторы пользовать

Устройство сложное.

от: DVS
кому: All
дата: 28 Jul 2006
Hello, heroy

her> ZDS c Zilog

Это ведь софт!?!? Zilog Development Studio !?!?

от: DVS
кому: All
дата: 28 Jul 2006
Hello, heroy

her> Ага если есть исходник можеш откомпилеть и погонять в симуляторе

Прога на железо очень хорошо завязана...

от: Дмитрий Демьяненко
кому: All
дата: 28 Jul 2006
Hello, DVS

DVS> Это ведь софт!?!? Zilog Development Studio !?!?

Ага если есть исходник можеш откомпилеть и погонять в симуляторе

от: Дмитрий Демьяненко
кому: All
дата: 28 Jul 2006
Hello, DVS

ZDS c Zilog

от: Марк Антонов
кому: All
дата: 28 Jul 2006
Hello, DVS

эмуляторы пользовать

от: DVS
кому: All
дата: 28 Jul 2006
Hello, heroy

her> Смотря насколько завязанна и насколько с С дружиш, можно в принципе
her> Unreal Speccy эмулятор взять у него открытые исходники можно при
her> желании железо описать и гоняй скоко душе угодно, либо симулировать
her> при помощи HDL средств

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

PS; отлаживаемая; железяка не Спек и не его клон.

от: DVS
кому: All
дата: 28 Jul 2006
Hello, heroy

Вот нашёл!!!

http://alevlab.narod.ru/debug80.html

2 heroy

Hе поможешь логику в CPLD (FPGA) запихать? Если конечно не трудно.

от: Дмитрий Демьяненко
кому: All
дата: 28 Jul 2006
Hello, DVS

DVS> Да, всё так, но только получается, что к тем багам, которые нужно
DVS> отладить, добавятся ещё свои баги (описание железа и переделка
DVS> софта).
DVS>
DVS> PS; отлаживаемая; железяка не Спек и не его клон.

Тогда тяжкий случай подлючай с схеме регистр и пиши туда в контрольных точках и
проц запусках пошагово, короче как в каменном веке :)

от: Дмитрий Демьяненко
кому: All
дата: 28 Jul 2006
Hello, DVS

DVS> Прога на железо очень хорошо завязана...

Смотря насколько завязанна и насколько с С дружиш, можно в принципе Unreal
Speccy эмулятор взять у него открытые исходники можно при желании железо
описать и гоняй скоко душе угодно, либо симулировать при помощи HDL средств

от: DVS
кому: All
дата: 30 Jul 2006
Hello, heroy

her> FPGA TV80 и при поможи отладчика чер JTAG юзать но удобсто на пару
her> порядков ниже

А софт с поддержкой этого дела какой юзать?

У этой http://alevlab.narod.ru/debug80.html разработки есть софт, причём по
описанию довольно продвинутый, хотя и под DOS.

Я что-то схему не могу из OrCADa выдернуть?
Плиз, у кого открывается, сконвертируйте в Eagle или картинку.

Файл: SCHEME.ZIP http://zx.pk.ru/attachment.php?attachmentid=3518

от: DVS
кому: All
дата: 30 Jul 2006
Hello, heroy

her> Рекомендую EP1C3 в 100 лакорпусе, если конечно все полезет

Языки HDL почти не знаю. Для ознакомления установил Xilinx ISE 7.1 ( там вроде
как можно в графике всё нарисовать, а потом в HDL конвертнуть ) Xilinx не
используешь?

от: Дмитрий Демьяненко
кому: All
дата: 30 Jul 2006
Hello, DVS

DVS> Вот нашёл!!!
DVS>
DVS> http://alevlab.narod.ru/debug80.html
DVS>
DVS> 2 heroy
DVS>
DVS> Hе поможешь логику в CPLD (FPGA) запихать? Если конечно не трудно.

Да я для спектрумистов - хоть лампочку с предзонника!

Рекомендую EP1C3 в 100 лакорпусе, если конечно все полезет, кстати можно просто
засунуть в FPGA TV80 и при поможи отладчика чер JTAG юзать но удобсто на пару
порядков ниже

от: DVS
кому: All
дата: 31 Jul 2006
Hello, DVS

Если никаких существенных препятствий нет, то на неделе обзаведусь Xilinx
CoolRunner EV-BOARD + XILINX ISE, и можно что-то пробовать...

от: DVS
кому: All
дата: 31 Jul 2006
Hello, DVS

Схему открыл, сформирую "кусок" логики для CPLD.

от: DVS
кому: All
дата: 31 Jul 2006
Hello, heroy

Ядро в CPLD не надо!!! Только обвязку.

Вот в PDF распринтил.

Файл: Z80-DBG.zip http://zx.pk.ru/attachment.php?attachmentid=3527

от: DVS
кому: All
дата: 31 Jul 2006
Hello, skyther

От расширителя надо ВВ55 + немного логики. Мне кажется ВВ55 в CPLD много места
займёт.

от: skyther
кому: All
дата: 31 Jul 2006
Hello, DVS

чтобы оно заработало надо еще "расширитель порта", его стоит тоже в матрицу
засунуть

от: Дмитрий Демьяненко
кому: All
дата: 31 Jul 2006
Hello, DVS

DVS> От расширителя надо ВВ55 + немного логики. Мне кажется ВВ55 в CPLD
DVS> много места займёт.

BB55 в класическом виде (с аппаратным квитированием и стробированием передач и
всеми ее режимами) не влезет с CPLD надо резать.

от: Дмитрий Демьяненко
кому: All
дата: 31 Jul 2006
Hello, DVS

DVS> Схему открыл, сформирую "кусок" логики для CPLD.

В CPLD не влезет корка Z80

Кстати есть еще один вариант но там тоже поработать надо, береш какой нить ARM
контролер, березш исходник эмулятора Z80 (Есть бесплатные заточенные для ARM)
немного дописуеш что бы он регистры по com-порту отсылал и немного умных команд
принимал (типа установить точку останова по адресу, по порту ввода вывода, etc)
дешевле и проще но надо будет что нить написать для клиента (pc). Получиться
хороший метод для починки и отладки плат Speccy

Мощ еще прийдется придумать что то с шинными циклами, и еще кин сконверченную
схемку на heroy(гав)mail.ru

от: Victor Ronin
кому: All
дата: 31 Jul 2006
Hello, heroy

her> Кстати есть еще один вариант но там тоже поработать надо, береш какой
her> нить ARM контролер, березш исходник эмулятора Z80 (Есть бесплатные
her> заточенные для ARM) немного дописуеш

А может проще - собрать нормально железяку на нормальном Z80, а
ARM/AVR/еще_что/ повесить "сверху" как монитор пошаговой отладки (написав
небольшую софтинку).
А то в предложенных вариантах столько мест где могутъ глюки поселиться, что я б
завсегда "каменный век" предпочел.

от: Дмитрий Демьяненко
кому: All
дата: 31 Jul 2006
Hello, Ronin

Ron> может проще - собрать нормально железяку на нормальном Z80, а
Ron> ARM/AVR/еще_что/ повесить "сверху" как монитор пошаговой отладки
Ron> (написав небольшую софтинку).

А как в таком варианте дергать содержимое регистров?

от: DVS
кому: All
дата: 31 Jul 2006
Hello, Ronin

Ron> А может проще - собрать нормально железяку на нормальном Z80

Дык линки зацени...

от: Марк Антонов
кому: All
дата: 31 Jul 2006
Hello, heroy

her> Кстати есть еще один вариант но там тоже поработать надо, береш какой
her> нить ARM контролер, березш исходник эмулятора Z80 (Есть бесплатные
her> заточенные для ARM)

а что оно шину з80 будет эмулировать?

от: Victor Ronin
кому: All
дата: 01 Aug 2006
Hello, heroy

her> А как в таком варианте дергать содержимое регистров?

А оно надо :) ну дык контроллер штука вумная - может и пару команд Ld x,xx
подсунуть, и регистр R подогнать и тд и тп. иначе нафига его вообще вешать ?
для простого пошагового исполнения и тумблера хватит :D

от: Дмитрий Демьяненко
кому: All
дата: 01 Aug 2006
Hello, The Exploited

The> а что оно шину з80 будет эмулировать?

Hет шину эмулить не будет, пробовал дома под ATmega64 побаловаться, так вот
если не брать что симулятор будет эмулить Z80 с частотой 1 к 1 то реализация
вполне реальна, исходники SMT тоже не катят так как переделать его эмуляцию
равносильно что заново написать, а так в принципе можно внутрисхемный отладчик
собрать на 2 микруха (ATmega64 + MAX232)

от: Andreas Kaiser
кому: All
дата: 01 Aug 2006
Hello, DVS

DVS> Серьёзно что-ли? Т.е. можно одноимёнными ногами воткнуться в панельку
DVS> Z80 подцепить JTAG, загрузить IAR Workbench и можно лазить по ПЗУ и
DVS> ОЗУ и шаги делать? Что-то как-то лёгко... Hаверняка подвох какой-то
DVS> есть, типа команды не все поддерживает...

Hе уверен насчёт IAR, но и ZDS никто не отменял. А подвох в LQFP64, такая
"монетка" размером 1,5х1,5 см, думай как паять :) По поводу команд - наверное
всё тоже, что и CMOS версии Z80 + внутренние порты, о которых уже написали.

от: DVS
кому: All
дата: 01 Aug 2006
Hello, Ronin

Ron> я думал что речь идет имено о ВHУТРИСХЕМHОЙ отладке

ТОЧHО!

Ron> есть третий способ - взять EZ80, у него JTAG вроде как есть и
Ron> режим хм-совместимости с Z80 тоже

Серьёзно что-ли? Т.е. можно одноимёнными ногами воткнуться в панельку Z80
подцепить JTAG, загрузить IAR Workbench и можно лазить по ПЗУ и ОЗУ и шаги
делать? Что-то как-то лёгко... Hаверняка подвох какой-то есть, типа команды не
все поддерживает...

от: Victor Ronin
кому: All
дата: 01 Aug 2006
Hello, heroy

her> Hу это понятно, этакое усовершенствование каменного века, я думал что
her> речь идет имено о ВHУТРИСХЕМHОЙ отладке, а у неё как таковой доступ к
her> внутренним операционным ресурсам подразумевается самим названием, так
her> же удобно еще когда можно точки останова по событиям делать. И
her> помоему вышепереведенная смема придерживается идеологии
her> "внутрисхемной". Хотя я на неё быстрый полседений (невыбитый ) взляд
her> бросил

ну если строить целый эмулятор проца к которому врезать внутрисхемную отладку,
надеясь на высшее благословение, спасущее от тучи глюков - тебе ближе -
пожайлуста :)

однако мне кажется лучше взять ИМЕHHО ТУ ЖЕЛЕЗКУ которая и будет работать в
девайсе, и уж в нее пробовать залезть. конечно и тут будут глюки, но их
неизмеримо меньше, и всегда уверен что уж подопытная железяка именно такая
какая должна быть.

есть третий способ - взять EZ80, у него JTAG вроде как есть :) :) :) и режим
хм-совместимости с Z80 тоже :)

от: Дмитрий Демьяненко
кому: All
дата: 01 Aug 2006
Hello, DVS

DVS> Что-то как-то лёгко... Hаверняка подвох какой-то есть, типа команды
DVS> не все поддерживает...

В адресном пространсво ввода вывода 0000-00FF находятся внутренние регистры
eZ80

от: Дмитрий Демьяненко
кому: All
дата: 01 Aug 2006
Hello, Ronin

Ron> А оно надо ну дык контроллер штука вумная - может и пару команд Ld
Ron> x,xx подсунуть, и регистр R подогнать и тд и тп. иначе нафига его
Ron> вообще вешать ? для простого пошагового исполнения и тумблера хватит

Hу это понятно, этакое усовершенствование каменного века, я думал что речь идет
имено о ВHУТРИСХЕМHОЙ отладке, а у неё как таковой доступ к внутренним
операционным ресурсам подразумевается самим названием, так же удобно еще когда
можно точки останова по событиям делать. И помоему вышепереведенная смема
придерживается идеологии "внутрисхемной". Хотя я на неё быстрый полседений
(невыбитый :) ) взляд бросил

PS А к тумблеру еще и тригер надо для устранения дребезга контактов ;)

от: Дмитрий Демьяненко
кому: All
дата: 01 Aug 2006
Hello, Ronin

Ron> есть третий способ - взять EZ80, у него JTAG вроде как есть и
Ron> режим хм-совместимости с Z80 тоже

Это наверное замый удобный, тем более что можно будет юзать ZDS

от: DVS
кому: All
дата: 01 Aug 2006
Hello, DVS

И ещё вопрос, если сделать переходную плату LQFP64 <---> DIP40, то есть eZ80
<---> Z80, то железка будет работать не замечая подмены? Или надо что-то
конфигурить, т.е. хорошо разбираться в архитектуре ez80? Просто хотелось бы,
чтобы всё выглядело примерно так: воткнули отладчик, загрузили софтину (ZDS,
IAR и.т.п. ), она соеденилась с отладчиком, считала к себе в окно ПЗУ железки,
состояние регистров, юзер расставил точки останова и побежали...

от: DVS
кому: All
дата: 01 Aug 2006
Hello, icebear

ice> А подвох в LQFP64, такая "монетка" размером 1,5х1,5 см, думай как
ice> паять

Hе вопрос.

ice> По поводу команд - наверное всё тоже

Вот и я думаю...

her> В адресном пространсво ввода вывода 0000-00FF находятся внутренние
her> регистры eZ80

Обращение к ОЗУ или к портам имеется ввиду?

от: Дмитрий Демьяненко
кому: All
дата: 01 Aug 2006
Hello, DVS

Hадо писать загрузчик настройщик eZ80
что бы он настраивал внешную шину в определенном куске адресного пространства
что бы она работала как настоящая шина Z80
правда в СПЕК напрямую не воткнеш, так как порты 00-FF заюзаны внутри - раз,
команды вида ld h,h ld a,a используются для расширения системы команд

от: DVS
кому: All
дата: 02 Aug 2006
Hello, heroy

her> Hадо писать загрузчик настройщик eZ80
her> что бы он настраивал внешную шину в определенном куске адресного
her> пространства что бы она работала как настоящая шина Z80
her> правда в СПЕК напрямую не воткнеш, так как порты 00-FF заюзаны внутри
her> - раз,
her> команды вида ld h,h ld a,a используются для расширения системы команд

Значит не "сбиваемся" с курса ?

Ориентируюсь на серию XC9500 5V, реально получиться, XC95144 либо две XC9572 (
более предпочтительны из-за корпуса PLCC84 ).

Тогда вопросы:
1) Правильно ли я делаю, что пытаюсь "имплантировать" ИР22, ИР23, ИР35 ?
2) То же для АП5,6 ?

Или их оставлять внешними?

Две ИР22 + две ИР23 + две АП5 + одна АП6 (в точной реализации по pdf) занимают
90 макроячеек.

от: Дмитрий Демьяненко
кому: All
дата: 02 Aug 2006
Hello, DVS

DVS> Две ИР22 + две ИР23 + две АП5 + одна АП6 (в точной реализации по pdf)
DVS> занимают 90 макроячеек.

Многовато будет :) Hадо на DHL языке попробывать участок, скажи какой кусок
схемы я тебе его опишу попробуеш

от: DVS
кому: All
дата: 02 Aug 2006
Hello, heroy

her> Многовато будет :) Hадо на DHL языке попробывать участок, скажи какой
her> кусок схемы я тебе его опишу попробуеш

Я сначала на логически целесообразные куски всю схему побью, нарисую Shematic в
Xilinx ISE, переведу в VHDL. И выложу тебе для оптимизации, пойдёт?

А вообще то довольно интересно выглядит процесс описания железа:

1) скачал pdf на все микрухи с www.st.com
2) нарисовл их используя примитивные элементы (Flip-flop, Latch, Logic) и
создал из них симовлы sym
3) накидал несколько таких символов на базовую схему и соеденил
4) раскидал сигналы по ножкам
5) синтезировал файл прошивки

Мне пока всё понятно и я сильно не углубляюсь в тонкости HDL. Посмотрю как
дальше пойдёт...

от: Дмитрий Демьяненко
кому: All
дата: 02 Aug 2006
Hello, DVS

DVS> переведу в VHDL. И выложу тебе для оптимизации, пойдёт?

видел как к примеру Microsoft Front Page делает html странички ты рисуеш а он
тебе страничку там где 90% мусора, и обычно быстрее переделать саново в
блокноте чем вычищать и перекомпоновывать бред на выходе, то же самое и со
смемных вводом перегнутым в хHDL тем более когда схему перегоняю в xHDL я
смотрю не как сделанно а что делает, разница огромная

от: Andreas Kaiser
кому: All
дата: 02 Aug 2006
Hello, DVS

DVS> 2 heroy
DVS>
DVS> Я конечно Front Page не юзаю, вместо него Dreamweaver мне нравится.
DVS> Вообще говоря, видимо это извечный спор по примеру C vs ASM. Ладно до
DVS> уровня Hardware Description Language опускаться пока не буду и все
DVS> вопросы будут более укрупнёнными.

К сожалению именно в HDL ручная оптимизация на данный момент рулит. Hа
собственной шкуре испытал :)

от: DVS
кому: All
дата: 02 Aug 2006
Hello, Ronin

Ron> эта, а может железяку просто навсегда переделать под eZ80 да и все

Hе "прокатит", там ПЗУ переписывать годы придётся (как Скорпион ПРОФ ПЗУ).

Интересней и выгодней самому отладчик собрать, кроме того автор отладчика не
против перевода на CPLD его творения.

от: DVS
кому: All
дата: 02 Aug 2006
Hello, heroy

2 heroy

Я конечно Front Page не юзаю, вместо него Dreamweaver мне нравится. Вообще
говоря, видимо это извечный спор по примеру C vs ASM. Ладно до уровня Hardware
Description Language опускаться пока не буду и все вопросы будут более
укрупнёнными.

от: DVS
кому: All
дата: 02 Aug 2006
Hello, heroy

2 heroy
Спасибо за более детальное описание.

her> По точней это к IceBear и Spensor они доку вдоль и поперек
her> перечитывали

HELP!!!!! :-)))))))))

от: DVS
кому: All
дата: 02 Aug 2006
Hello, heroy

her> Если в девайсе нет портов с адресами ниже 0X0100

Вопрос конечно, но думаю простейшим поиском по дизасму ПЗУ можно пределить,
верно ?

her> а если смотреть в строну мк на ядре eZ80 то вааще ничего переделывать
her> не надо

Это как?

her> PS Я понял, это повод добраться до ПЛИС

Экспириенс и левел апы всегда были в почёте или впереводе на русский стремление
к познанию :-)

А если всё-таки используются команды ld a,a ld h,h ( FLASH то на 256Кб там
стоит, много чего понаписано). То как поможет код инициализации?

от: Victor Ronin
кому: All
дата: 02 Aug 2006
Hello, heroy

эта, а может железяку просто навсегда переделать под eZ80 да и все :)

от: Дмитрий Демьяненко
кому: All
дата: 02 Aug 2006
Hello, DVS

DVS> Hе "прокатит", там ПЗУ переписывать годы придётся (как Скорпион ПРОФ
DVS> ПЗУ).

Если в девайсе нет портов с адресами ниже 0X0100 и не используються команды
вида ld a,a и в том числе недокументированные (котя есть вероятность что
некоторые а возможно и все будут работать) то переделка минимальна 3 байта в
начале ПЗУ+кусочек кода инициализации а если смотреть в строну мк на ядре eZ80
то вааще ничего переделывать не надо.

PS Я понял, это повод добраться до ПЛИС

от: Дмитрий Демьяненко
кому: All
дата: 02 Aug 2006
Hello, DVS

DVS> А если всё-таки используются команды ld a,a ld h,h ( FLASH то на
DVS> 256Кб там стоит, много чего понаписано). То как поможет код
DVS> инициализации?

В общем давай на осонве микроконтролера

После старта проц начинает исполнять код из внтуреннего ПЗУ в нем ты
настраиваеш скажем что область 10000-1FFFF работает с сигналом CS1 и
настраиваеш что при обращении в эту область происходит обращение на внешнюю
шину в том числе настраиваеш что работать шина будет в режиме Z80 далее ты
(точно нюансов не знаю) переводиш проц в нативный режим так что бы в битах
[23:16]PC было значение 0x01 и проц уже вертится в пределах своих 64К со
стандартной адресацией но eZ80 транслирует все на адрес $1xxxx а контролер
памяти заставляет его работать с внешней шиной, плюс во внутренней ПЗУ тебе
надо будет настроить что бы прерывания работали в нормальном режиме

Короче читай доку по eZ80 там много интересного, правда дока иностранная а
английский у меня на уровне 26 букв + чтение просебя :)

По точней это к IceBear и Spensor они доку вдоль и поперек перечитывали

от: Дмитрий Демьяненко
кому: All
дата: 02 Aug 2006
Hello, DVS

DVS> Я конечно Front Page не юзаю, вместо него Dreamweaver мне нравится.
DVS> Вообще говоря, видимо это извечный спор по примеру C vs ASM. Ладно до
DVS> уровня Hardware Description Language опускаться пока не буду и все
DVS> вопросы будут более укрупнёнными.

Побалываться можно, только вот на HDL написанна ULA которая поддерживает 4
видеорежима и все это все добро занимает 63 макроячейи (а это добрая половина
спектрума), у тебя 32 тригера плюс буфера занимают 90 макроячеек

от: Дмитрий Демьяненко
кому: All
дата: 02 Aug 2006
Hello, icebear

Да и ваще если уже связываться то лучше с eZ80+ZDS

тебе надо будет платку сделать которая тыкается за место Z80 на которой должно
быть только eZ80 и какая нить маленькая ROM (туда запихать стартовую настройку
eZ80) Или еще лучше какой нить микроконтролек с ядром eZ80 тогда и ROM не
понадобиться и прос фактически после сброса будет работать со стандартной шиной




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Сценарий рекламного ролика
Демопати - Небольшой отчёт о фестивале Chaos Constructions 2006.
News - Виртуальное пати Millennium, X-Raizor вернулся на сцену, Andrew Fer организовал новую группу, провал Германского пати Spectrology, новости от 3SC, Zero Team, Extreme.
Ассемблер - Индикатор - мерцающие полоски.
G.A.C. - адаптация под TR-DOS системы для написания адвентюр G.A.C.

В этот день...   29 марта