Proteus C++ DLL's
Moderator: Shaos
-
- Doomed
- Posts: 463
- Joined: 12 Feb 2016 13:39
Re: Proteus C++ DLL's
с этой dll у меня проект не заводится нормально: симуляцию не выполняет, вылетает с ошибкой на kernel32.dll, run(play) автоматом переходит на паузу и отрабатывает только один шаг.
Мой проект работает с z80.dll, а не x80.dll (все из архива Z80ALL.rar), соотв. пришлось править схему под другой УГО для проверок.
Проверил x80.dll(из архива Z80ALL.rar) с моим проектом, run(play) работает так же, как и с z80.dll, а вот симуляцию не выполняет, аналогично новой dll, вылетает с ошибкой на kernel32.dll.
proteus работает в WinXPsp2.
Мой проект работает с z80.dll, а не x80.dll (все из архива Z80ALL.rar), соотв. пришлось править схему под другой УГО для проверок.
Проверил x80.dll(из архива Z80ALL.rar) с моим проектом, run(play) работает так же, как и с z80.dll, а вот симуляцию не выполняет, аналогично новой dll, вылетает с ошибкой на kernel32.dll.
proteus работает в WinXPsp2.
-
- Maniac
- Posts: 287
- Joined: 05 Nov 2008 19:47
- Location: 81.28.208.238
Re: Proteus C++ DLL's
А тест из x80.rar работает?
Какая модель проца в компе?
На другом компе есть возможность испытать?
Какая модель проца в компе?
На другом компе есть возможность испытать?
-
- Doomed
- Posts: 463
- Joined: 12 Feb 2016 13:39
Re: Proteus C++ DLL's
Предыдущие эксперименты были на core i5.
Сейчас запустил все на другом компе(athlon64X2), частично заработало, а именно, run(play) работает, теперь есть реакция на флаг, jnz работает правильно после переполнения инкремента регистра, но симуляция в Graph mode-> Digital ведет себя точно так же:
Internal Exception: access violation in module 'KERNEL32.DLL' [00010424].
Проверил все на проектах из архива x80.rar все работает, до тех пор, пока не добавляю Graph mode-> Digital и не добавляю туда какую-нибудь цепь для симуляции, как только добавил - получаю эту ошибку при нажатии пробела...
Провел аналогичные эксперименты с тремя проектами из архива Z80ALL.rar, 8080_2.dsn и 8080_3.dsn - ведут себя полностью аналогично вышеописанному, а вот 8080_1.dsn - без проблем симулирует цепи Graph mode-> Digital. Посмотрел какие dll используют эти проекты, и вот - _1 - z80.dll, а _2 и _3 -x80.dll.
x80.dll в этих экспериментах менял из архивов в разных комбинациях...
Сейчас запустил все на другом компе(athlon64X2), частично заработало, а именно, run(play) работает, теперь есть реакция на флаг, jnz работает правильно после переполнения инкремента регистра, но симуляция в Graph mode-> Digital ведет себя точно так же:
Internal Exception: access violation in module 'KERNEL32.DLL' [00010424].
Проверил все на проектах из архива x80.rar все работает, до тех пор, пока не добавляю Graph mode-> Digital и не добавляю туда какую-нибудь цепь для симуляции, как только добавил - получаю эту ошибку при нажатии пробела...
Провел аналогичные эксперименты с тремя проектами из архива Z80ALL.rar, 8080_2.dsn и 8080_3.dsn - ведут себя полностью аналогично вышеописанному, а вот 8080_1.dsn - без проблем симулирует цепи Graph mode-> Digital. Посмотрел какие dll используют эти проекты, и вот - _1 - z80.dll, а _2 и _3 -x80.dll.
x80.dll в этих экспериментах менял из архивов в разных комбинациях...
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Proteus C++ DLL's
Значит, разница между ними вот какая:PVV wrote:Посмотрел какие dll используют эти проекты, и вот - _1 - z80.dll, а _2 и _3 -x80.dll.
z80.dll - это я компилировал исходники первоначального x80 в VC 5.0 для Win_98, поскольку исходный x80.dll не работал у меня под Win_98, как я писал тут ранее в этой ветке.
Я еще там что-то правил в исходниках, сейчас не вспомню уже.
x80.dll - это первоначальный вариант в архиве Z80ALL.rar - он нормально работал в Win_7, если приложить ему msvcr100d.dll .
Последний вариант x80.dll я еще не тестировал совсем, т.к. некогда немного мне. Дела поднавалились...

2_PVV: А что за файл spec_ie10_6.pdsprj в архиве? Я, наверное, отстал от жизни со своим Протезусом 6.7 Про...
iLavr
-
- Doomed
- Posts: 463
- Joined: 12 Feb 2016 13:39
Re: Proteus C++ DLL's
Я с proteus_ом разбираюсь только с новогодних каникул.
файл spec_ie10_6.pdsprj - это файл проекта 8го proteus_a, внутри он обычный zip архив, его архиватор спокойно открывает... spec_ie10_6 - это модель спеца на ие10 счетчиках, вместо классической схемы на ие7...
работающий(run) проект простого специалиста(эта схема собрана у меня на реальном специалисте и работает): работающий(run) проект специалиста МХ2(в реале еще не собрал): Во вложении схема простого спеца, два z80, это как раз сегодняшние эксперименты, один из них исключен из симуляции.
Еще с z80(читаем 580ВМ80) в специалисте есть проблема - неправильная времянка чтения процом из RAM. Как я понял, в этой модели z80, считывание шины данных происходит по началу сигнала RD, а в реале только на втором-третьем такте цикла, в связи с чем, когда RAS и CAS выставят актуальный адрес для dram памяти проц уже шину данных вычитал, а там мусор
... я этот момент обыграл второй мс памяти.
Повторюсь за работу новой x80.dll, не работает симуляция цепей в Graph mode-> Digital, я этим пользуюсь постоянно, и глюк с работой инкремента вычислил именно через анализ графиков цепей, очень бы хотелось, что б этот инструмент заработал.
файл spec_ie10_6.pdsprj - это файл проекта 8го proteus_a, внутри он обычный zip архив, его архиватор спокойно открывает... spec_ie10_6 - это модель спеца на ие10 счетчиках, вместо классической схемы на ие7...
работающий(run) проект простого специалиста(эта схема собрана у меня на реальном специалисте и работает): работающий(run) проект специалиста МХ2(в реале еще не собрал): Во вложении схема простого спеца, два z80, это как раз сегодняшние эксперименты, один из них исключен из симуляции.
Еще с z80(читаем 580ВМ80) в специалисте есть проблема - неправильная времянка чтения процом из RAM. Как я понял, в этой модели z80, считывание шины данных происходит по началу сигнала RD, а в реале только на втором-третьем такте цикла, в связи с чем, когда RAS и CAS выставят актуальный адрес для dram памяти проц уже шину данных вычитал, а там мусор

Повторюсь за работу новой x80.dll, не работает симуляция цепей в Graph mode-> Digital, я этим пользуюсь постоянно, и глюк с работой инкремента вычислил именно через анализ графиков цепей, очень бы хотелось, что б этот инструмент заработал.
You do not have the required permissions to view the files attached to this post.
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Proteus C++ DLL's
Ну тогда Вы - просто молодЕц!PVV wrote:Я с proteus_ом разбираюсь только с новогодних каникул.

И с proteus_ом разобрались, dll-ку сами написали!
Вот это меня несколько и смутило... Я открывал Win_RAR-ом, и он прямо внутри архива в файл *.pdsprj заходит.PVV wrote:файл spec_ie10_6.pdsprj - это файл проекта 8го proteus_a, внутри он обычный zip архив, его архиватор спокойно открывает...
Думаю - что же это такое...

Если Вам это не будет трудно - сделайте топик про свой "Специалист" в нашем разделе Spetsialist?
И про display.dll там расскажите с исходниками, чтобы и другие смогли, если кто захочет.
Я-то сам решил дисплей "Специалиста" сделать, как LCD.

Чтобы не морочить себе голову со счетчиками и регенерацией...
iLavr
-
- Maniac
- Posts: 287
- Joined: 05 Nov 2008 19:47
- Location: 81.28.208.238
Re: Proteus C++ DLL's
А как перейти/включить этот режим и как им пользоваться ?PVV wrote: Graph mode-> Digital, .
Ни разу не запускал.
-
- Doomed
- Posts: 463
- Joined: 12 Feb 2016 13:39
Re: Proteus C++ DLL's
Я вижу по форуму, что большинство работает со старыми версиями proteus, я их интерфейс и как с ними работать не знаю. Вот в учебнике по proteus http://oproteus.narod.ru/ этот режим описывается (L10):
Вопрос по исходнику dll, это случайно не он - Z80-Proteus.zip?
You do not have the required permissions to view the files attached to this post.
-
- Maniac
- Posts: 287
- Joined: 05 Nov 2008 19:47
- Location: 81.28.208.238
Re: Proteus C++ DLL's
Как-то непрнятно Graph mode связано с окнами состояния и отладки.
Без окон все срабатывает -- будем изучать...
Без окон все срабатывает -- будем изучать...
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Proteus C++ DLL's
А это потому что в них уже все ошибки нашли...PVV wrote:Я вижу по форуму, что большинство работает со старыми версиями proteus


Лучше учитывать известные старые, чем натыкаться на непонятные новые...
iLavr
-
- Maniac
- Posts: 287
- Joined: 05 Nov 2008 19:47
- Location: 81.28.208.238
Re: Proteus C++ DLL's
Подключение *.SDI. DLL собрана статически (не нужны внешние DLL).
Исправлены инкременты.
Graph mode работает.
Исправлены инкременты.
Graph mode работает.
You do not have the required permissions to view the files attached to this post.
-
- Doomed
- Posts: 463
- Joined: 12 Feb 2016 13:39
Re: Proteus C++ DLL's
Все работает! Спасибо.
Как закончу с моделированием, выложу результаты в отдельной теме. Только это будет недели через 2-3.
PS: а насколько проблематично реализовать времянку чтения памяти как у оригинального CPU по тактам?
это у ВМ80: а это у Z80: те, по факту выборка с шины данных происходит по завершению сигнала чтения...
Как закончу с моделированием, выложу результаты в отдельной теме. Только это будет недели через 2-3.
PS: а насколько проблематично реализовать времянку чтения памяти как у оригинального CPU по тактам?
это у ВМ80: а это у Z80: те, по факту выборка с шины данных происходит по завершению сигнала чтения...
You do not have the required permissions to view the files attached to this post.
-
- Maniac
- Posts: 287
- Joined: 05 Nov 2008 19:47
- Location: 81.28.208.238
Re: Proteus C++ DLL's
В архиве в lib/idx есть модель i8080 -- но она пока не работает.PVV wrote:PS: а насколько проблематично реализовать времянку чтения памяти как у оригинального CPU по тактам?
это у ВМ80:
Со временем будет работать...
-
- Maniac
- Posts: 287
- Joined: 05 Nov 2008 19:47
- Location: 81.28.208.238
Re: Proteus C++ DLL's
Вот-он наконец наш любимый 8080...
Может времянки не совсем точные...
Может времянки не совсем точные...
You do not have the required permissions to view the files attached to this post.
-
- Doomed
- Posts: 463
- Joined: 12 Feb 2016 13:39
Re: Proteus C++ DLL's
Попробовал я эту модель i8080, долго не мог понять, что не так, моя модель специалиста не работает с этим процессором. После сравнения диаграм работы нашел:
так выглядит работа с ВМ80: а как с Z80: условия одинаковые, программа одна, запись по адресу 0х9420 - ВМ80 не формирует сигнал SYNC, соотв. не срабатывает арбитр(U18) доступа к памяти - CPU или VIDEO, и запись в память не проходит...
PS - еще у ВМ80 сигнал сброса инверсный по отношению к Z80, надо подправить для аутентичности модели с ВМ80...
так выглядит работа с ВМ80: а как с Z80: условия одинаковые, программа одна, запись по адресу 0х9420 - ВМ80 не формирует сигнал SYNC, соотв. не срабатывает арбитр(U18) доступа к памяти - CPU или VIDEO, и запись в память не проходит...
PS - еще у ВМ80 сигнал сброса инверсный по отношению к Z80, надо подправить для аутентичности модели с ВМ80...
You do not have the required permissions to view the files attached to this post.