nedoPC.org

Community for electronics hobbyists, established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 10 Dec 2024 13:57



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

Joined: 11 Nov 2015 09:34
Posts: 25
Reply with quote
Сделал отладчик для модели mcs48, окно отладчика протеуса не использовал, сделал своё.
Attachment:
48.PNG
48.PNG [ 78.25 KiB | Viewed 11467 times ]

Работает только если прошивка находится внутри мк. Окно отладчика вызывается через меню Debug, когда нажата пауза. Можно ставить бряки на код и память двойным щелчком или правой кнопкой мыши. Отладчик немного недоделанный, но работать можно. Перемещение по коду колесом мыши и клавишами PgUp PgDn. Дизассемблирование идет на ходу, если какой-то участок кода не дизассемблировался, а надо посмотреть, то правой кнопкой мыши выбрать disasm.

В mcs48.dll есть модель 8243, для использования надо указать {PRIMITIVE=DIGITAL,43}
Работает в демо версии протеуса.
Выкладываю только dll.
Attachment:
mcs48.zip [24.04 KiB]
Downloaded 359 times


12 Dec 2021 11:11
Profile
Doomed

Joined: 12 Feb 2016 13:39
Posts: 463
Reply with quote
обновил dll x80, i8257, i8275 и km48c64, с исходниками где возможно.
везде всякие мелкие баги.
Lavr wrote:
Что-то у меня нехорошее и обоснованное подозрение - немаскируемое прерывание NMI обрабатывается
в модели неправильно.

надо бы проверить текущее поведение


27 Dec 2021 14:25
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
PVV wrote:
Lavr wrote:
Что-то у меня нехорошее и обоснованное подозрение - немаскируемое прерывание NMI обрабатывается
в модели неправильно.
надо бы проверить текущее поведение

Проверка простая: NMI должно сработать на перепад на этом входе, но не должно далее срабатывать по уровню.
По исходникам это должно быть хорошо видно, как NMI обрабатывается...

_________________
iLavr


27 Dec 2021 20:00
Profile
Doomed

Joined: 12 Feb 2016 13:39
Posts: 463
Reply with quote
x86.dll
Attachment:
x86.PNG
x86.PNG [ 67.61 KiB | Viewed 11322 times ]

использовалась здесь:
viewtopic.php?f=87&t=20236
viewtopic.php?f=93&t=18868&start=165


Attachments:
x86_v3a_dll.zip [39.38 KiB]
Downloaded 384 times
File comment: один файл, часть проекта с реализацией опкодов
x86_cpp.zip [14.97 KiB]
Downloaded 354 times
28 Dec 2021 01:56
Profile
Fanat

Joined: 10 Mar 2018 12:50
Posts: 67
Reply with quote
что то не могу разобраться. Скачал x80.dll установил в папку Models. Нахожу в базе и ставлю в проекте компонент 8080. А как поменять допустим на 8085? Правил текстовый файл в свойствах - ничего не меняется.


28 Apr 2022 06:11
Profile
Doomed

Joined: 12 Feb 2016 13:39
Posts: 463
Reply with quote
x80.dll одна на все три ЦП, 8080,8085 и z80, но УГО должны быть на каждый ЦП свой. Соответственно нельзя взять УГО 8080 и в его свойствах поменять 8080 на 8085. dll при старте проверяет с каким УГО она работает в этом текстовом поле свойств и инициализирует ножки и все необходимое...
Проще всего взять готовый проект с 8085 и из него скопировать УГО в свой проект, либо на базе готового проекта делать свой. Иначе, нужно нарисовать свой УГО с именами ножек как на картинках выше, тк dll именно по именам ножек работает.


28 Apr 2022 13:51
Profile
Fanat

Joined: 10 Mar 2018 12:50
Posts: 67
Reply with quote
PVV wrote:
Проще всего взять готовый проект с 8085 и из него скопировать УГО в свой проект, либо на базе готового проекта делать свой. Иначе, нужно нарисовать свой УГО с именами ножек как на картинках выше, тк dll именно по именам ножек работает.

Понял, спасибо. А случайно нет готового проекта на 8085? Здесь на форуме полазил - ничего не нашел


29 Apr 2022 00:17
Profile
Doomed

Joined: 12 Feb 2016 13:39
Posts: 463
Reply with quote
Shumadan wrote:
А случайно нет готового проекта на 8085? Здесь на форуме полазил - ничего не нашел

они несколько запрятаны :) viewtopic.php?f=89&t=11716&start=30#p130249
и в теме по Специалисту еще есть, там к нему я 8085 прикручивал...


29 Apr 2022 02:15
Profile
Fanat

Joined: 10 Mar 2018 12:50
Posts: 67
Reply with quote
отлично, спасибо


29 Apr 2022 07:33
Profile
Novelist

Joined: 11 Nov 2015 09:34
Posts: 25
Reply with quote
Поскольку выложенный в этой ветке display.dll содержит ошибки, связанные с порчей памяти, и периодически падает, то переписал по своему. Были перепутаны SYNC_H и SYNC_V, сделал правильно, поэтому если использовать эту длл вместо старой то на схеме надо поменять выводы. Название поменял на tvdisplay.dll так как display.dll есть в системной папке винды и иногда она загружается вместо нужной и окно не появляется.

Также сделал опции чтобы можно было менять цвета и размеры без перекомпиляции:
Code:
{PRIMITIVE=DIGITAL}
{MODDLL=tvdisplay.dll}
{COLOR_BK =      000000}
{COLOR_LOW =     000000}
{COLOR_FLOAT =   999999}
{COLOR_HIGH =    FFFFFF}
{COLOR_REFRESH = 555555}
{SIZE_X = 385}
{SIZE_Y = 288}
{PACKAGE=NULL}

Цвета указываются в формате RRGGBB.
У окна теперь можно менять размеры мышкой, но не более указанного.


Attachments:
tvdisplay_src.zip [4.85 KiB]
Downloaded 230 times
tvdisplay_dll.zip [2.92 KiB]
Downloaded 236 times
13 Feb 2023 15:04
Profile
Junior

Joined: 10 Jan 2024 07:38
Posts: 1
Reply with quote
а где найти УГО для x80.dll ? Не могу найти на форуме.


10 May 2024 13:56
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
PVV wrote:
i8224.dll
Image
i8224.dll - актуальная версия ? Есть ошибка в отработке сигнала READY. dll не моя, исходника нет.

Я решил попробовать эту dll в своих проектах в надежде повысить скорость эмуляции
в сложных схемах с К580ВМ80.
И для начала вставил её в довольно простой тестовый проект:
Attachment:
i8080_8224.PNG
i8080_8224.PNG [ 74.05 KiB | Viewed 641 times ]

УГО элемента нарисовал отечественное по справочнику Шахнова.
Кому не нравится, я оставил модель в углу первого проекта - её
при желании можно скомпилировать под себя, тогда она появится
в библиотеках Proteus.

8224.dll обеспечивает следующую диаграмму сигналов:
Attachment:
i8080_OSC1.PNG
i8080_OSC1.PNG [ 24.92 KiB | Viewed 641 times ]

От внешних сигналов модель не зависит, частота задающего
генератора выставляется в свойствах модели, поэтому, как мне
кажется, в скрипт свойств модели на этапе компиляции следует
добавить строку:
{FREQUENCY="Частота генератора:",ADVANCED FLOAT,POZ}

Значение параметра по умолчанию я не указал специально, в этом
случае модель сама пишет [Default] :wink:

В проект выше модель 8224.dll вписалась безболезненно.
Особого прироста скорости я, честно говоря, не заметил... :-?

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

В более сложном проекте замена привычного нам генератора на мелкой
логике на генератор модели 8224.dll потребовала подгонки времянок
схемы, поскольку i8224 формирует тактовые сигналы С1 и С2 как OSC/9,
а мы привыкли обычно к OSC/4 в наших генераторах на рассыпухе.

В архиве ниже два проекта, скриншоты которых приведены в начале поста.
Attachment:
8224.zip [332.54 KiB]
Downloaded 24 times

Все необходимые dll - в папке с проектами.

_________________
iLavr


06 Oct 2024 13:16
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
Есть ли ошибка в отработке сигнала READY - пока не проверил,
нет у меня подходящего проекта.

Но вот что очевидно, но я забыл упомянуть: модель 8224.dll строб /STB
STATUS выставляет не так, как в оригинальном генераторе i8224:

Image

И у нас на форуме звучало распространенное заблуждение, что строб /STB -
в фазе с С1, на самом деле строб /STB находится между спадом С2
и фронтом С1, чтобы попадать на SYNC срезом, нулевым уровнем и фронтом.
Attachment:
SYimage071.png
SYimage071.png [ 21.37 KiB | Viewed 586 times ]

Это упрощает захват слова STATUS...
Хотя я и не помню точно, как его К580ВК28(38) захватывает, но то, что модель
8224.dll выдаёт строб /STB несколько иначе, следует упомянуть здесь.

_________________
iLavr


07 Oct 2024 18:15
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 28 posts ]  Go to page Previous  1, 2

Who is online

Users browsing this forum: ByteDance [Bot] 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

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