nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 01:16



Reply to topic  [ 25 posts ]  Go to page 1, 2  Next
Самописные dll для Proteus 
Author Message
Doomed

Joined: 12 Feb 2016 13:39
Posts: 463
Reply with quote
В связи с тем, что на данный момент набралось достаточно много самописных 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 02:03, edited 5 times in total.



29 Nov 2019 02:38
Profile
Doomed

Joined: 12 Feb 2016 13:39
Posts: 463
Reply with quote
x80.dll


Attachments:
File comment: актуализация версии dll, 13b5, исправлена кучка мелких багов во всех трех типах ЦП
x80_13b5.zip [45.88 KiB]
Downloaded 493 times
x80_PROP.PNG
x80_PROP.PNG [ 85.46 KiB | Viewed 22438 times ]
x80_dll.zip [45.64 KiB]
Downloaded 662 times


Last edited by PVV on 27 Dec 2021 14:01, edited 2 times in total.

29 Nov 2019 02:40
Profile
Doomed

Joined: 12 Feb 2016 13:39
Posts: 463
Reply with quote
display.dll


Attachments:
display.png
display.png [ 10.01 KiB | Viewed 22393 times ]
display_cpp.zip [10.92 KiB]
Downloaded 567 times
display_dll.zip [24.26 KiB]
Downloaded 596 times


Last edited by PVV on 03 Dec 2019 02:21, edited 2 times in total.

29 Nov 2019 02:41
Profile
Doomed

Joined: 12 Feb 2016 13:39
Posts: 463
Reply with quote
dispRGB.dll


Attachments:
dispRGB.png
dispRGB.png [ 6.58 KiB | Viewed 22393 times ]
dispRGB_dll.zip [104.38 KiB]
Downloaded 861 times


Last edited by PVV on 03 Dec 2019 02:21, edited 1 time in total.

29 Nov 2019 02:42
Profile
Doomed

Joined: 12 Feb 2016 13:39
Posts: 463
Reply with quote
displayRGB.dll


Attachments:
displayRGB.png
displayRGB.png [ 5.59 KiB | Viewed 22393 times ]
displayRGB.zip [111.77 KiB]
Downloaded 589 times
displayRGB_dll.zip [24.86 KiB]
Downloaded 594 times


Last edited by PVV on 03 Dec 2019 02:21, edited 1 time in total.

29 Nov 2019 02:42
Profile
Doomed

Joined: 12 Feb 2016 13:39
Posts: 463
Reply with quote
i8255.dll


Attachments:
i8255.png
i8255.png [ 33.02 KiB | Viewed 22393 times ]
i8255_src_v2.zip [12.95 KiB]
Downloaded 551 times
i8255_dll.zip [24.93 KiB]
Downloaded 590 times


Last edited by PVV on 03 Dec 2019 02:22, edited 1 time in total.

29 Nov 2019 02:43
Profile
Doomed

Joined: 12 Feb 2016 13:39
Posts: 463
Reply with quote
i8257.dll


Attachments:
File comment: актуальная dll, v3, и исходники
i8257_cpp_dll_v3.zip [32.54 KiB]
Downloaded 271 times
i8257.png
i8257.png [ 42.11 KiB | Viewed 22393 times ]
i8257_dll.zip [25.13 KiB]
Downloaded 538 times


Last edited by PVV on 27 Dec 2021 14:05, edited 2 times in total.

29 Nov 2019 02:44
Profile
Doomed

Joined: 12 Feb 2016 13:39
Posts: 463
Reply with quote
i8275.dll


Attachments:
File comment: актуальная версия dll, v3, и исходники
i8275_cpp_dll_v3.zip [38.17 KiB]
Downloaded 291 times
i8275й.png
i8275й.png [ 29.02 KiB | Viewed 22393 times ]
i8275_dll.zip [25.83 KiB]
Downloaded 541 times


Last edited by PVV on 27 Dec 2021 14:07, edited 2 times in total.

29 Nov 2019 02:45
Profile
Doomed

Joined: 12 Feb 2016 13:39
Posts: 463
Reply with quote
v9938.dll


Attachments:
v9938.png
v9938.png [ 34.95 KiB | Viewed 22393 times ]
v9938.zip [282.01 KiB]
Downloaded 508 times
v9938v6_dll.zip [27.01 KiB]
Downloaded 516 times


Last edited by PVV on 03 Dec 2019 02:25, edited 2 times in total.

29 Nov 2019 02:46
Profile
Doomed

Joined: 12 Feb 2016 13:39
Posts: 463
Reply with quote
RP5C01.dll


Attachments:
RP5C01.png
RP5C01.png [ 18.25 KiB | Viewed 22393 times ]
RP5C01A_cpp.zip [1.96 KiB]
Downloaded 498 times
RP5C01A_dll.zip [24.16 KiB]
Downloaded 535 times


Last edited by PVV on 03 Dec 2019 02:25, edited 1 time in total.

29 Nov 2019 02:47
Profile
Doomed

Joined: 12 Feb 2016 13:39
Posts: 463
Reply with quote
K555IR26.dll


Attachments:
555IR26.png
555IR26.png [ 13.42 KiB | Viewed 22393 times ]
K555IR26_dll.zip [23.96 KiB]
Downloaded 530 times


Last edited by PVV on 03 Dec 2019 02:25, edited 1 time in total.

29 Nov 2019 02:48
Profile
Doomed

Joined: 12 Feb 2016 13:39
Posts: 463
Reply with quote
i8224.dll


Attachments:
i8224.png
i8224.png [ 13.93 KiB | Viewed 22393 times ]
i8224_dll.zip [4.51 KiB]
Downloaded 507 times


Last edited by PVV on 03 Dec 2019 02:26, edited 2 times in total.

29 Nov 2019 02:48
Profile
Doomed

Joined: 12 Feb 2016 13:39
Posts: 463
Reply with quote
km48c64.dll


Attachments:
File comment: актуальная версия dll, v1
km48c64_v1.zip [159.16 KiB]
Downloaded 282 times
48c64.PNG
48c64.PNG [ 9.7 KiB | Viewed 22361 times ]


Last edited by PVV on 27 Dec 2021 14:12, edited 1 time in total.

29 Nov 2019 02:49
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
PVV wrote:
x80.dll - актуальная версия 13, поддерживаются три типа ЦП, i8080,i8085 и z80. Точность эмуляции достаточно высокая, и на данный момент нет схем, в которых бы данная модель работала не корректно, все найденные ошибки устранены.

Что-то у меня нехорошее и обоснованное подозрение - немаскируемое прерывание NMI обрабатывается
в модели неправильно.
NMI должно сработать один раз по перепаду "1"->"0" (по срезу) и, перейдя на адрес 0066H, на уровень лог."0"
на входе NMI модель реагировать больше не должна!
А получается, что в подпрограмме обработки NMI модель отрабатывает его по уровню лог."0" на входе NMI снова и снова.

С конкретным проектом - посмотрите этот: http://www.nedopc.org/forum/viewtopic.php?p=160961#p160961.
Если нажать NMI - вся память заполняется адресом возврата 0066H.

_________________
iLavr


16 Jul 2021 12:04
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Уже весьма давно наш коллега Pavtik написал модель для Proteus микроконтроллеров семейства mcs48.
Спасибо ему за это! :kruto:

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

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

Ну и мне первым делом очень хотелось запустить "HELO" на СВЧ-печке "Электроника" от Tronix-а. :lol:
Ему - тоже спасибо за образец "HELO" и за ассемблер asm48 - он есть в архиве, выложенном ниже.
Attachment:
Hello.PNG
Hello.PNG [ 41.67 KiB | Viewed 16248 times ]
..........................Image

В архиве, что выложен ниже, все файлы разложены по папкам, куда их следует разложить там,
где у вас лежит папка \Labcenter Electronics. (У меня - здесь: C:\Program Files\Labcenter Electronics)
Attachment:
Proteus_8048.zip [133.55 KiB]
Downloaded 322 times

_________________
iLavr


22 Nov 2021 17:36
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 25 posts ]  Go to page 1, 2  Next

Who is online

Users browsing this forum: No registered users and 16 guests


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

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.