Самописные dll для Proteus
Moderator: Shaos
-
Pavtik
- Novelist
- Posts: 26
- Joined: 11 Nov 2015 09:34
Re: Самописные dll для Proteus
Сделал отладчик для модели mcs48, окно отладчика протеуса не использовал, сделал своё.
Работает только если прошивка находится внутри мк. Окно отладчика вызывается через меню Debug, когда нажата пауза. Можно ставить бряки на код и память двойным щелчком или правой кнопкой мыши. Отладчик немного недоделанный, но работать можно. Перемещение по коду колесом мыши и клавишами PgUp PgDn. Дизассемблирование идет на ходу, если какой-то участок кода не дизассемблировался, а надо посмотреть, то правой кнопкой мыши выбрать disasm.
В mcs48.dll есть модель 8243, для использования надо указать {PRIMITIVE=DIGITAL,43}
Работает в демо версии протеуса.
Выкладываю только dll.
В mcs48.dll есть модель 8243, для использования надо указать {PRIMITIVE=DIGITAL,43}
Работает в демо версии протеуса.
Выкладываю только dll.
You do not have the required permissions to view the files attached to this post.
-
PVV
- Doomed
- Posts: 463
- Joined: 12 Feb 2016 13:39
Re: Самописные dll для Proteus
обновил dll x80, i8257, i8275 и km48c64, с исходниками где возможно.
везде всякие мелкие баги.
везде всякие мелкие баги.
надо бы проверить текущее поведениеLavr wrote:Что-то у меня нехорошее и обоснованное подозрение - немаскируемое прерывание NMI обрабатывается
в модели неправильно.
-
Lavr
- Supreme God
- Posts: 16780
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Самописные dll для Proteus
Проверка простая: NMI должно сработать на перепад на этом входе, но не должно далее срабатывать по уровню.PVV wrote:надо бы проверить текущее поведениеLavr wrote:Что-то у меня нехорошее и обоснованное подозрение - немаскируемое прерывание NMI обрабатывается
в модели неправильно.
По исходникам это должно быть хорошо видно, как NMI обрабатывается...
iLavr
-
PVV
- Doomed
- Posts: 463
- Joined: 12 Feb 2016 13:39
Re: Самописные dll для Proteus
You do not have the required permissions to view the files attached to this post.
-
Shumadan
- Fanat
- Posts: 67
- Joined: 10 Mar 2018 12:50
Re: Самописные dll для Proteus
что то не могу разобраться. Скачал x80.dll установил в папку Models. Нахожу в базе и ставлю в проекте компонент 8080. А как поменять допустим на 8085? Правил текстовый файл в свойствах - ничего не меняется.
-
PVV
- Doomed
- Posts: 463
- Joined: 12 Feb 2016 13:39
Re: Самописные dll для Proteus
x80.dll одна на все три ЦП, 8080,8085 и z80, но УГО должны быть на каждый ЦП свой. Соответственно нельзя взять УГО 8080 и в его свойствах поменять 8080 на 8085. dll при старте проверяет с каким УГО она работает в этом текстовом поле свойств и инициализирует ножки и все необходимое...
Проще всего взять готовый проект с 8085 и из него скопировать УГО в свой проект, либо на базе готового проекта делать свой. Иначе, нужно нарисовать свой УГО с именами ножек как на картинках выше, тк dll именно по именам ножек работает.
Проще всего взять готовый проект с 8085 и из него скопировать УГО в свой проект, либо на базе готового проекта делать свой. Иначе, нужно нарисовать свой УГО с именами ножек как на картинках выше, тк dll именно по именам ножек работает.
-
Shumadan
- Fanat
- Posts: 67
- Joined: 10 Mar 2018 12:50
Re: Самописные dll для Proteus
Понял, спасибо. А случайно нет готового проекта на 8085? Здесь на форуме полазил - ничего не нашелPVV wrote: Проще всего взять готовый проект с 8085 и из него скопировать УГО в свой проект, либо на базе готового проекта делать свой. Иначе, нужно нарисовать свой УГО с именами ножек как на картинках выше, тк dll именно по именам ножек работает.
-
PVV
- Doomed
- Posts: 463
- Joined: 12 Feb 2016 13:39
Re: Самописные dll для Proteus
они несколько запрятаныShumadan wrote:А случайно нет готового проекта на 8085? Здесь на форуме полазил - ничего не нашел
и в теме по Специалисту еще есть, там к нему я 8085 прикручивал...
-
Shumadan
- Fanat
- Posts: 67
- Joined: 10 Mar 2018 12:50
Re: Самописные dll для Proteus
отлично, спасибо
-
Pavtik
- Novelist
- Posts: 26
- Joined: 11 Nov 2015 09:34
Re: Самописные dll для Proteus
Поскольку выложенный в этой ветке display.dll содержит ошибки, связанные с порчей памяти, и периодически падает, то переписал по своему. Были перепутаны SYNC_H и SYNC_V, сделал правильно, поэтому если использовать эту длл вместо старой то на схеме надо поменять выводы. Название поменял на tvdisplay.dll так как display.dll есть в системной папке винды и иногда она загружается вместо нужной и окно не появляется.
Также сделал опции чтобы можно было менять цвета и размеры без перекомпиляции:
Цвета указываются в формате RRGGBB.
У окна теперь можно менять размеры мышкой, но не более указанного.
Также сделал опции чтобы можно было менять цвета и размеры без перекомпиляции:
Code: Select all
{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}
У окна теперь можно менять размеры мышкой, но не более указанного.
You do not have the required permissions to view the files attached to this post.
-
Aleksandr1968
- Junior
- Posts: 1
- Joined: 10 Jan 2024 07:38
Re: Самописные dll для Proteus
а где найти УГО для x80.dll ? Не могу найти на форуме.
-
Lavr
- Supreme God
- Posts: 16780
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Самописные dll для Proteus
Я решил попробовать эту dll в своих проектах в надежде повысить скорость эмуляции
в сложных схемах с К580ВМ80.
И для начала вставил её в довольно простой тестовый проект: УГО элемента нарисовал отечественное по справочнику Шахнова.
Кому не нравится, я оставил модель в углу первого проекта - её
при желании можно скомпилировать под себя, тогда она появится
в библиотеках Proteus.
8224.dll обеспечивает следующую диаграмму сигналов: От внешних сигналов модель не зависит, частота задающего
генератора выставляется в свойствах модели, поэтому, как мне
кажется, в скрипт свойств модели на этапе компиляции следует
добавить строку:
{FREQUENCY="Частота генератора:",ADVANCED FLOAT,POZ}
Значение параметра по умолчанию я не указал специально, в этом
случае модель сама пишет [Default]
В проект выше модель 8224.dll вписалась безболезненно.
Особого прироста скорости я, честно говоря, не заметил...
Есть ли ошибка в отработке сигнала READY - пока не проверил,
нет у меня подходящего проекта.
В более сложном проекте замена привычного нам генератора на мелкой
логике на генератор модели 8224.dll потребовала подгонки времянок
схемы, поскольку i8224 формирует тактовые сигналы С1 и С2 как OSC/9,
а мы привыкли обычно к OSC/4 в наших генераторах на рассыпухе.
В архиве ниже два проекта, скриншоты которых приведены в начале поста. Все необходимые dll - в папке с проектами.
You do not have the required permissions to view the files attached to this post.
iLavr
-
Lavr
- Supreme God
- Posts: 16780
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Самописные dll для Proteus
Но вот что очевидно, но я забыл упомянуть: модель 8224.dll строб /STBLavr wrote:Есть ли ошибка в отработке сигнала READY - пока не проверил,
нет у меня подходящего проекта.
STATUS выставляет не так, как в оригинальном генераторе i8224:
И у нас на форуме звучало распространенное заблуждение, что строб /STB -
в фазе с С1, на самом деле строб /STB находится между спадом С2
и фронтом С1, чтобы попадать на SYNC срезом, нулевым уровнем и фронтом. Это упрощает захват слова STATUS...
Хотя я и не помню точно, как его К580ВК28(38) захватывает, но то, что модель
8224.dll выдаёт строб /STB несколько иначе, следует упомянуть здесь.
You do not have the required permissions to view the files attached to this post.
iLavr
