search Z80 CPU DIAGNOSTIC code

Микропроцессоры и микроконтроллеры от фирмы Zilog, а также компьютеры на них построенные

Moderator: Shaos

jdigreze
God
Posts: 1387
Joined: 02 Jan 2006 09:28
Location: Abakan

Re: search Z80 CPU DIAGNOSTIC code

Post by jdigreze »

in a,(n)/out (n),a: A8..15=a, A0..A7=n
User avatar
Lavr
Supreme God
Posts: 16622
Joined: 21 Oct 2009 15:08
Location: Россия

Re: search Z80 CPU DIAGNOSTIC code

Post by Lavr »

jdigreze wrote:in a,(n)/out (n),a: A8..15=a, A0..A7=n
да - похоже это оно...
и мне не понравилось, или смутило: A8..15=a.
Получается, мы говорим, что адрес у команд в/в теперь полный 16-разрядный.
И выходит, изменяя А, и не меняя n мы делаем out по разным 16-разрядным адресам?
А в i8080 это обращение всегда по одному 16-разрядному адресу.
Вот смысл этой особенности у z80 от меня и ускользнул... :-?
iLavr
jdigreze
God
Posts: 1387
Joined: 02 Jan 2006 09:28
Location: Abakan

Re: search Z80 CPU DIAGNOSTIC code

Post by jdigreze »

Lavr wrote:и мне не понравилось, или смутило: A8..15=a.
Получается, мы говорим, что адрес у команд в/в теперь полный 16-разрядный.
И выходит, изменяя А, и не меняя n мы делаем out по разным 16-разрядным адресам?
Именно так. Видимо у инженеров Zilog на этот счёт было своё особое мнение. Есть подозрение, что задумывалось это в расчёте на микропроцессорный комплект, но как показала история, это по большей части осталось не востребованным. Хотя... Слишком мало я знаю ;)
User avatar
Lavr
Supreme God
Posts: 16622
Joined: 21 Oct 2009 15:08
Location: Россия

Re: search Z80 CPU DIAGNOSTIC code

Post by Lavr »

jdigreze wrote:
Lavr wrote:И выходит, изменяя А, и не меняя n мы делаем out по разным 16-разрядным адресам?
Именно так. Видимо у инженеров Zilog на этот счёт было своё особое мнение.
Так-то похоже на косвенное обращение к УВВ, но менять можно только старший индекс...
Хотя просто косвенное уже есть через пару [BC].

Для чего интелловцы кинули в старший и младший одно число - я знаю: помогает упростить дешифрацию в простых случаях.
А вот ход мысли инженеров Zilog для меня пока загадка...
iLavr
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 20:39

Re: search Z80 CPU DIAGNOSTIC code

Post by PVV »

jdigreze wrote:in a,(n)/out (n),a: A8..15=a, A0..A7=n
действительно, здесь у меня ошибка, я в старший байт выдаю регистр В вместо А для z80
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 20:39

Re: search Z80 CPU DIAGNOSTIC code

Post by PVV »

Смотрел на длительность выполнения команд и нашел еще ошибку, на лишних 255 тактов дольше одна из команда выполняется... :ebiggrin: поправил это, и начал смотреть на потактовое выполнение команд в известной книге Z80 Central Processor Unit, а именно табличку:

t6_3.PNG
t6_3.PNG (101.55 KiB) Viewed 16183 times

IOP - это внутренние операции ЦП, а MRD и MWR это обращения к памяти, так вот по большей части все обращения по 3 такта, но редко попадаются по 4! и я не увидел, где бы говорилось как получается этот один дополнительный такт, добавлять ли его как при сигнале wait?
Сейчас в dll все MRD и MWR циклы по 3 такта, а IOP увеличены на 1 такт, для выравнивания общей длительности.
Еще, исправил ошибку с выставлением флагов на паре групп команд, которую внес уже после прогона теста по этой группе, но которая попала в dll выложенную ранее, плюс ввел в dll информацию о версии, пишется в консоль логирования x80.dll - Version 1. Старый архив убрал, вместо него выложил новый.
User avatar
Lavr
Supreme God
Posts: 16622
Joined: 21 Oct 2009 15:08
Location: Россия

Re: search Z80 CPU DIAGNOSTIC code

Post by Lavr »

PVV wrote:....я не могу понять как этот макрос раскручивается, и ассемблер на этот макрос ругается...
А у тебя какой ассемблер? У меня ни одного ассемблера для z80 нет (стыдобищще!) :osad:
Присоветуй ассемблерчик-то, и где скачать... и он в Протеус привяжется, ну как я тут объяснял?
iLavr
SergNR
Writer
Posts: 12
Joined: 22 Oct 2016 09:36
Location: Moscow, Russia
Contact:

Re: search Z80 CPU DIAGNOSTIC code

Post by SergNR »

Lavr wrote: Присоветуй ассемблерчик-то, и где скачать... и он в Протеус привяжется, ну как я тут объяснял?
Есть z80asm в исходниках. Написан на сях, сам собирать не пробовал, пользуюсь готовой сборкой под Linux. Скачать архив исходников можно по первой ссылке гугла, если указать в запросе 'z80asm'
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 20:39

Re: search Z80 CPU DIAGNOSTIC code

Post by PVV »

Lavr wrote: Присоветуй ассемблерчик-то, и где скачать... и он в Протеус привяжется, ну как я тут объяснял?
я использую zmac, он есть в архиве download/file.php?id=1173 и я его, вроде как в исходнике нашел, только не проверял еще, собираются исходники или нет. Так что, если исходники получится собрать, то можно их и подправить, что бы получался сразу .SDI файл.

x80.dll я сейчас активно гоняю по всем трем тестам Exerciser для z80, i8080 и i8085,

wn.png
wn.png (118.01 KiB) Viewed 16079 times

все это весьма долго, времени не хватает охватить сразу все...
Реализовал абсолютно весь функционал для всех cpu, все прерывания, захват шины, плюс поддержка отладки в proteus, нужно только проверять...
в архиве Z80 Instruction Exerciser.zip новая dll - Version 7 и доработанные исходники тестов.
zmac.zip - исходники, которые я нашел...
Attachments

Z80 Instruction Exerciser.zip
(74.5 KiB) Downloaded 585 times

zmac.zip
(120.61 KiB) Downloaded 579 times

PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 20:39

Re: search Z80 CPU DIAGNOSTIC code

Post by PVV »

и проекты для proteus.
После сборки нужно начало бинарника отрезать для этих схем,
например, в linux: dd if=8085ex1.cim of=8085ex.bin skip=16128 bs=1
Attachments

Exerciser_proteus_prj.zip
(698.65 KiB) Downloaded 578 times

User avatar
Lavr
Supreme God
Posts: 16622
Joined: 21 Oct 2009 15:08
Location: Россия

Re: search Z80 CPU DIAGNOSTIC code

Post by Lavr »

PVV wrote:я использую zmac, он есть в архиве download/file.php?id=1173 и я его, вроде как в исходнике нашел, только не проверял еще, собираются исходники или нет. Так что, если исходники получится собрать, то можно их и подправить, что бы получался сразу .SDI файл.
Спасибо большое! :kruto: - Скачал этот zmac, посмотрю... и остальной софт скачал!

Да у меня получается два фронта - на старом ноуте неплохой весьма неглючный старый Протеус, но скорость, конечно, для эмуляции аховая...
А на новом ноутбуке - там пошустрее все - Интел Атом 2 ГГц и Венда-7 и Протезус поновее,
но получается, если я что-либо под ним делаю - назад это уже несовместимо.
А у меня весь основной объём полезных наработок под старым Протезусом. :osad:
iLavr
User avatar
Shaos
Admin
Posts: 23662
Joined: 09 Jan 2003 06:22
Location: Silicon Valley
Contact:

Re: search Z80 CPU DIAGNOSTIC code

Post by Shaos »

SergNR wrote:
Lavr wrote: Присоветуй ассемблерчик-то, и где скачать... и он в Протеус привяжется, ну как я тут объяснял?
Есть z80asm в исходниках. Написан на сях, сам собирать не пробовал, пользуюсь готовой сборкой под Linux. Скачать архив исходников можно по первой ссылке гугла, если указать в запросе 'z80asm'
Только что одобрил это сообщение
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16622
Joined: 21 Oct 2009 15:08
Location: Россия

Re: search Z80 CPU DIAGNOSTIC code

Post by Lavr »

Shaos wrote:Только что одобрил это сообщение
Устаю в пятницу к вечеру... доооооолго думал, что же ты одобрил... с запозданием до меня дошло! :mrgreen:
SergNR wrote:Есть z80asm в исходниках. Написан на сях, сам собирать не пробовал, пользуюсь готовой сборкой
Спасибо - сейчас попробую найти... как-то полный провал у меня в компиляторах под z80...
iLavr
User avatar
Shaos
Admin
Posts: 23662
Joined: 09 Jan 2003 06:22
Location: Silicon Valley
Contact:

Re: search Z80 CPU DIAGNOSTIC code

Post by Shaos »

Lavr wrote:
PVV wrote:я использую zmac, он есть в архиве download/file.php?id=1173 и я его, вроде как в исходнике нашел, только не проверял еще, собираются исходники или нет. Так что, если исходники получится собрать, то можно их и подправить, что бы получался сразу .SDI файл.
Спасибо большое! :kruto: - Скачал этот zmac, посмотрю...
Лучше последнюю модификацию брать: http://www.nedopc.org/forum/viewtopic.php?f=62&t=7939
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16622
Joined: 21 Oct 2009 15:08
Location: Россия

Re: search Z80 CPU DIAGNOSTIC code

Post by Lavr »

Приподниму... ибо не сразу нашел...
iLavr
Post Reply