|
nedoPC.orgElectronics hobbyists community established in 2002 |
|
search Z80 CPU DIAGNOSTIC code
Author |
Message |
jdigreze
God
Joined: 02 Jan 2006 02:28 Posts: 1390 Location: Abakan
|
in a,(n)/out (n),a: A8..15=a, A0..A7=n
|
04 Oct 2016 19:50 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
да - похоже это оно... и мне не понравилось, или смутило: A8..15=a. Получается, мы говорим, что адрес у команд в/в теперь полный 16-разрядный. И выходит, изменяя А, и не меняя n мы делаем out по разным 16-разрядным адресам? А в i8080 это обращение всегда по одному 16-разрядному адресу. Вот смысл этой особенности у z80 от меня и ускользнул...
_________________ iLavr
|
04 Oct 2016 20:53 |
|
|
jdigreze
God
Joined: 02 Jan 2006 02:28 Posts: 1390 Location: Abakan
|
Именно так. Видимо у инженеров Zilog на этот счёт было своё особое мнение. Есть подозрение, что задумывалось это в расчёте на микропроцессорный комплект, но как показала история, это по большей части осталось не востребованным. Хотя... Слишком мало я знаю
|
05 Oct 2016 07:55 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Так-то похоже на косвенное обращение к УВВ, но менять можно только старший индекс... Хотя просто косвенное уже есть через пару [BC]. Для чего интелловцы кинули в старший и младший одно число - я знаю: помогает упростить дешифрацию в простых случаях. А вот ход мысли инженеров Zilog для меня пока загадка...
_________________ iLavr
|
05 Oct 2016 09:36 |
|
|
PVV
Doomed
Joined: 12 Feb 2016 13:39 Posts: 463
|
действительно, здесь у меня ошибка, я в старший байт выдаю регистр В вместо А для z80
|
05 Oct 2016 13:37 |
|
|
PVV
Doomed
Joined: 12 Feb 2016 13:39 Posts: 463
|
Смотрел на длительность выполнения команд и нашел еще ошибку, на лишних 255 тактов дольше одна из команда выполняется... поправил это, и начал смотреть на потактовое выполнение команд в известной книге Z80 Central Processor Unit, а именно табличку: IOP - это внутренние операции ЦП, а MRD и MWR это обращения к памяти, так вот по большей части все обращения по 3 такта, но редко попадаются по 4! и я не увидел, где бы говорилось как получается этот один дополнительный такт, добавлять ли его как при сигнале wait? Сейчас в dll все MRD и MWR циклы по 3 такта, а IOP увеличены на 1 такт, для выравнивания общей длительности. Еще, исправил ошибку с выставлением флагов на паре групп команд, которую внес уже после прогона теста по этой группе, но которая попала в dll выложенную ранее, плюс ввел в dll информацию о версии, пишется в консоль логирования x80.dll - Version 1. Старый архив убрал, вместо него выложил новый.
|
09 Oct 2016 13:22 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
А у тебя какой ассемблер? У меня ни одного ассемблера для z80 нет (стыдобищще!) Присоветуй ассемблерчик-то, и где скачать... и он в Протеус привяжется, ну как я тут объяснял?
_________________ iLavr
|
27 Oct 2016 10:12 |
|
|
SergNR
Writer
Joined: 22 Oct 2016 02:36 Posts: 12 Location: Moscow, Russia
|
Есть z80asm в исходниках. Написан на сях, сам собирать не пробовал, пользуюсь готовой сборкой под Linux. Скачать архив исходников можно по первой ссылке гугла, если указать в запросе 'z80asm'
|
27 Oct 2016 10:28 |
|
|
PVV
Doomed
Joined: 12 Feb 2016 13:39 Posts: 463
|
я использую zmac, он есть в архиве download/file.php?id=1173 и я его, вроде как в исходнике нашел, только не проверял еще, собираются исходники или нет. Так что, если исходники получится собрать, то можно их и подправить, что бы получался сразу .SDI файл. x80.dll я сейчас активно гоняю по всем трем тестам Exerciser для z80, i8080 и i8085, все это весьма долго, времени не хватает охватить сразу все... Реализовал абсолютно весь функционал для всех cpu, все прерывания, захват шины, плюс поддержка отладки в proteus, нужно только проверять... в архиве Z80 Instruction Exerciser.zip новая dll - Version 7 и доработанные исходники тестов. zmac.zip - исходники, которые я нашел...
|
27 Oct 2016 12:56 |
|
|
PVV
Doomed
Joined: 12 Feb 2016 13:39 Posts: 463
|
и проекты для proteus. После сборки нужно начало бинарника отрезать для этих схем, например, в linux: dd if=8085ex1.cim of=8085ex.bin skip=16128 bs=1
|
27 Oct 2016 13:13 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Спасибо большое! - Скачал этот zmac, посмотрю... и остальной софт скачал! Да у меня получается два фронта - на старом ноуте неплохой весьма неглючный старый Протеус, но скорость, конечно, для эмуляции аховая... А на новом ноутбуке - там пошустрее все - Интел Атом 2 ГГц и Венда-7 и Протезус поновее, но получается, если я что-либо под ним делаю - назад это уже несовместимо. А у меня весь основной объём полезных наработок под старым Протезусом.
_________________ iLavr
|
27 Oct 2016 13:32 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22735 Location: Silicon Valley
|
Только что одобрил это сообщение
|
28 Oct 2016 05:45 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Устаю в пятницу к вечеру... доооооолго думал, что же ты одобрил... с запозданием до меня дошло! Спасибо - сейчас попробую найти... как-то полный провал у меня в компиляторах под z80...
_________________ iLavr
|
28 Oct 2016 10:12 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22735 Location: Silicon Valley
|
|
28 Oct 2016 10:20 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Приподниму... ибо не сразу нашел...
_________________ iLavr
|
02 Jul 2019 10:33 |
|
|
Who is online |
Users browsing this forum: No registered users and 1 guest |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum
|
|