Самописные dll для Proteus

Использование и разработка софта (преимущественно на ПЦ)

Moderator: Shaos

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

Самописные dll для Proteus

Post by PVV »

В связи с тем, что на данный момент набралось достаточно много самописных dll моделей для Протеуса и возникают сложности с поиском их актуальных версий, возникло желание сделать тему, в которой хочется собрать все наработки, как свои, так и чужие. Так же, в этой теме будет приветствоваться описание найденных ошибок в той или иной dll. С появлением обновлений dll, я буду стараться актуализировать сообщения.
Во вложениях, рядом с dll, при наличии исходник, проект самого Протеуса с этим элементом, и этот проект в pdf формате, именно для того, что бы можно было нарисовать УГО(рисуной элемента на схеме) самостоятельно. Тк проекты новых версий Протеуса в старых версиях не открываются, то можно УГО элемента нарисовать в своей версии, и подключить к нему нужную dll, тк для dll версия Протеуса не важна. При рисовании УГО важно четко следить за именами ножек, тк они используются в dll. Если же проект Протеуса удается открыть, то УГО элемента можно просто скопировать в свою схему. Библиотеки, в которых можно сохранить УГО, я не выкладываю.

использование dll можно посмотреть:
viewtopic.php?f=89&t=11716
viewtopic.php?f=90&t=11446
viewtopic.php?f=93&t=16296
viewtopic.php?f=96&t=18820
viewtopic.php?f=35&t=16064
https://zx-pk.ru/threads/19180-partner- ... ost1010326

x80.dll - актуальная версия 13, (обновил 28.12.2021 до 13b5) поддерживаются три типа ЦП, i8080,i8085 и z80. Выбор типа ЦП производится в текстовом поле свойств схемного УГО. Точность эмуляции достаточно высокая, и на данный момент нет схем, в которых бы данная модель работала не корректно, все найденные ошибки устранены.
Есть лишь два ограничения. Для всех, трех, моделей не учитывается время распространения сигналов по отношению к тактовой частоте, те по перепаду CLK выходные ножки отрабатывают без задержки, мгновенно. Это в большинстве случаев не мешает симуляции, но при необходимости, можно добавить один\два не\инвертирующих логических элемента по входу CLK, для введения такой задержки. Второе ограничение относится только к i8080, модель использует только тактовый сигнал F1, сигнал F2 игнорируется. Соответственно, времянки выходных ножек, которые привязаны к F2 не соответствуют, тк они перепривязаны к F1. Это ограничение не помешало еще ни одной симуляции схем. Исходник не распространяется.


display.dll - версий было несколько, номер актуальной версии не известен. Монохромный вариант виртуального монитора. В ранних версиях при использовании был глюк с вылетом Протеуса без каких либо предупреждений. Есть исходник.

dispRGB.dll - актуальная версия ?. Цветной вариант виртуального монитора. Во всех последних проектах я использую именно эту dll, для не цветных симуляций просто соединяются вместе входы R,G,B,I. Работает очень стабильно. dll не моя, исходника нет.

displayRGB.dll - актуальная версия 1. Мой цветной вариант виртуального монитора, делался для VGA разрешения экрана. Есть исходник.

i8255.dll - актуальная версия 2, поддерживает режим только mode0. Работает более корректно аналогичной dll в самом Протеус. Есть исходник.

i8257.dll - актуальная версия 2, поддерживает режим только второго канала DMA. Сделана для использования в симуляции РК-86 и его клонов. Есть исходник.
(обновил 28.12.2021 до версии 3, сделана поддержка всех четырех каналов, нет только ротации приоритета)

i8275.dll - актуальная версия 2, поддерживает многие, но не все функции. Мигание курсора сделано существенно быстрее, для наглядности симуляции. Сделана для использования в симуляции РК-86 и его клонов. Есть исходник.
(обновил 28.12.2021 до версии 3, исправлена ошибка в паузе между запросами ДМА)

v9938.dll - актуальная версия 6, поддерживает только базовые функции. Сделана для использования в симуляции msx. Есть исходник.

RP5C01.dll - актуальная версия 1, поддерживает основные функции. Запоминания настроек нет, секунды инкрементируются существенно быстрее. Сделана для использования в симуляции msx. Есть исходник.

K555IR26.dll - актуальная версия 1, поддерживает все функции. Сделана для использования в симуляции msx. Есть исходник.

i8224.dll - актуальная версия ? Есть ошибка в отработке сигнала READY. dll не моя, исходника нет.

km48c64.dll - актуальная версия 1. Некая виртуальная DRAM, пока в отладке.
(обновил 28.12.2021)

x86.dll - актуальная версия 3a. Реализация i8088 и i8086. Единственное несоответствие, опкоды выполняются гораздо быстрее, чем у реальных ЦП, но для платформы x86 это, на мой взгляд, не важно, а для эмуляции даже удобнее, меньше ждать. Времянки шины же полностью соответствуют реалу.
Last edited by PVV on 28 Dec 2021 09:03, edited 5 times in total.
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 20:39

Re: Самописные dll для Proteus

Post by PVV »

x80.dll
Attachments

x80_13b5.zip
актуализация версии dll, 13b5, исправлена кучка мелких багов во всех трех типах ЦП
(45.88 KiB) Downloaded 671 times

x80_PROP.PNG
x80_PROP.PNG (85.46 KiB) Viewed 28065 times

x80_dll.zip
(45.64 KiB) Downloaded 797 times

Last edited by PVV on 27 Dec 2021 21:01, edited 2 times in total.
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 20:39

Re: Самописные dll для Proteus

Post by PVV »

display.dll
Attachments

display.png
display.png (10.01 KiB) Viewed 28020 times

display_cpp.zip
(10.92 KiB) Downloaded 663 times

display_dll.zip
(24.26 KiB) Downloaded 702 times

Last edited by PVV on 03 Dec 2019 09:21, edited 2 times in total.
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 20:39

Re: Самописные dll для Proteus

Post by PVV »

dispRGB.dll
Attachments

dispRGB.png
dispRGB.png (6.58 KiB) Viewed 28020 times

dispRGB_dll.zip
(104.38 KiB) Downloaded 985 times

Last edited by PVV on 03 Dec 2019 09:21, edited 1 time in total.
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 20:39

Re: Самописные dll для Proteus

Post by PVV »

displayRGB.dll
Attachments

displayRGB.png
displayRGB.png (5.59 KiB) Viewed 28020 times

displayRGB.zip
(111.77 KiB) Downloaded 694 times

displayRGB_dll.zip
(24.86 KiB) Downloaded 702 times

Last edited by PVV on 03 Dec 2019 09:21, edited 1 time in total.
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 20:39

Re: Самописные dll для Proteus

Post by PVV »

i8255.dll
Attachments

i8255.png
i8255.png (33.02 KiB) Viewed 28020 times

i8255_src_v2.zip
(12.95 KiB) Downloaded 654 times

i8255_dll.zip
(24.93 KiB) Downloaded 703 times

Last edited by PVV on 03 Dec 2019 09:22, edited 1 time in total.
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 20:39

Re: Самописные dll для Proteus

Post by PVV »

i8257.dll
Attachments

i8257_cpp_dll_v3.zip
актуальная dll, v3, и исходники
(32.54 KiB) Downloaded 365 times

i8257.png
i8257.png (42.11 KiB) Viewed 28020 times

i8257_dll.zip
(25.13 KiB) Downloaded 628 times

Last edited by PVV on 27 Dec 2021 21:05, edited 2 times in total.
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 20:39

Re: Самописные dll для Proteus

Post by PVV »

i8275.dll
Attachments

i8275_cpp_dll_v3.zip
актуальная версия dll, v3, и исходники
(38.17 KiB) Downloaded 384 times

i8275й.png
i8275й.png (29.02 KiB) Viewed 28020 times

i8275_dll.zip
(25.83 KiB) Downloaded 632 times

Last edited by PVV on 27 Dec 2021 21:07, edited 2 times in total.
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 20:39

Re: Самописные dll для Proteus

Post by PVV »

v9938.dll
Attachments

v9938.png
v9938.png (34.95 KiB) Viewed 28020 times

v9938.zip
(282.01 KiB) Downloaded 597 times

v9938v6_dll.zip
(27.01 KiB) Downloaded 608 times

Last edited by PVV on 03 Dec 2019 09:25, edited 2 times in total.
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 20:39

Re: Самописные dll для Proteus

Post by PVV »

RP5C01.dll
Attachments

RP5C01.png
RP5C01.png (18.25 KiB) Viewed 28020 times

RP5C01A_cpp.zip
(1.96 KiB) Downloaded 587 times

RP5C01A_dll.zip
(24.16 KiB) Downloaded 628 times

Last edited by PVV on 03 Dec 2019 09:25, edited 1 time in total.
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 20:39

Re: Самописные dll для Proteus

Post by PVV »

K555IR26.dll
Attachments

555IR26.png
555IR26.png (13.42 KiB) Viewed 28020 times

K555IR26_dll.zip
(23.96 KiB) Downloaded 625 times

Last edited by PVV on 03 Dec 2019 09:25, edited 1 time in total.
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 20:39

Re: Самописные dll для Proteus

Post by PVV »

i8224.dll
Attachments

i8224.png
i8224.png (13.93 KiB) Viewed 28020 times

i8224_dll.zip
(4.51 KiB) Downloaded 600 times

Last edited by PVV on 03 Dec 2019 09:26, edited 2 times in total.
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 20:39

Re: Самописные dll для Proteus

Post by PVV »

km48c64.dll
Attachments

km48c64_v1.zip
актуальная версия dll, v1
(159.16 KiB) Downloaded 376 times

48c64.PNG
48c64.PNG (9.7 KiB) Viewed 27988 times

Last edited by PVV on 27 Dec 2021 21:12, edited 1 time in total.
User avatar
Lavr
Supreme God
Posts: 16611
Joined: 21 Oct 2009 15:08
Location: Россия

Re: Самописные dll для Proteus

Post by Lavr »

PVV wrote:x80.dll - актуальная версия 13, поддерживаются три типа ЦП, i8080,i8085 и z80. Точность эмуляции достаточно высокая, и на данный момент нет схем, в которых бы данная модель работала не корректно, все найденные ошибки устранены.
Что-то у меня нехорошее и обоснованное подозрение - немаскируемое прерывание NMI обрабатывается
в модели неправильно.
NMI должно сработать один раз по перепаду "1"->"0" (по срезу) и, перейдя на адрес 0066H, на уровень лог."0"
на входе NMI модель реагировать больше не должна!
А получается, что в подпрограмме обработки NMI модель отрабатывает его по уровню лог."0" на входе NMI снова и снова.

С конкретным проектом - посмотрите этот: viewtopic.php?p=160961#p160961.
Если нажать NMI - вся память заполняется адресом возврата 0066H.
iLavr
User avatar
Lavr
Supreme God
Posts: 16611
Joined: 21 Oct 2009 15:08
Location: Россия

mcs48 для Proteus

Post by Lavr »

Уже весьма давно наш коллега Pavtik написал модель для Proteus микроконтроллеров семейства mcs48.
Спасибо ему за это! :kruto:

Правда, проект был под старшие версии программы Proteus, и я им в то время не воспользовался...

Но неожиданно семейство mcs48 меня самого заинтересовало, поэтому я немного причесал графические
модели от Pavtik-а и добавил к ним библиотечные файлы, чтобы модели появились в меню компонент Proteus.

Ну и мне первым делом очень хотелось запустить "HELO" на СВЧ-печке "Электроника" от Tronix-а. :lol:
Ему - тоже спасибо за образец "HELO" и за ассемблер asm48 - он есть в архиве, выложенном ниже.

Hello.PNG
Hello.PNG (41.67 KiB) Viewed 21875 times

..........................Image

В архиве, что выложен ниже, все файлы разложены по папкам, куда их следует разложить там,
где у вас лежит папка \Labcenter Electronics. (У меня - здесь: C:\Program Files\Labcenter Electronics)

Proteus_8048.zip
(133.55 KiB) Downloaded 466 times

iLavr
Post Reply