nedoPC.org

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



Reply to topic  [ 295 posts ]  Go to page Previous  1 ... 14, 15, 16, 17, 18, 19, 20  Next
Proteus C++ DLL's 
Author Message
Doomed

Joined: 12 Feb 2016 13:39
Posts: 463
Reply with quote
с этой dll у меня проект не заводится нормально: симуляцию не выполняет, вылетает с ошибкой на kernel32.dll, run(play) автоматом переходит на паузу и отрабатывает только один шаг.
Мой проект работает с z80.dll, а не x80.dll (все из архива Z80ALL.rar), соотв. пришлось править схему под другой УГО для проверок.
Проверил x80.dll(из архива Z80ALL.rar) с моим проектом, run(play) работает так же, как и с z80.dll, а вот симуляцию не выполняет, аналогично новой dll, вылетает с ошибкой на kernel32.dll.
proteus работает в WinXPsp2.


15 Feb 2016 04:56
Profile
Maniac

Joined: 05 Nov 2008 19:47
Posts: 287
Location: 81.28.208.238
Reply with quote
А тест из x80.rar работает?
Какая модель проца в компе?
На другом компе есть возможность испытать?


15 Feb 2016 06:10
Profile
Doomed

Joined: 12 Feb 2016 13:39
Posts: 463
Reply with quote
Предыдущие эксперименты были на 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 в этих экспериментах менял из архивов в разных комбинациях...


15 Feb 2016 10:09
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
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


15 Feb 2016 12:29
Profile
Doomed

Joined: 12 Feb 2016 13:39
Posts: 463
Reply with quote
Я с proteus_ом разбираюсь только с новогодних каникул.
файл spec_ie10_6.pdsprj - это файл проекта 8го proteus_a, внутри он обычный zip архив, его архиватор спокойно открывает... spec_ie10_6 - это модель спеца на ие10 счетчиках, вместо классической схемы на ие7...
работающий(run) проект простого специалиста(эта схема собрана у меня на реальном специалисте и работает):
Attachment:
spec_ie10_6.JPG
spec_ie10_6.JPG [ 150.63 KiB | Viewed 15940 times ]

работающий(run) проект специалиста МХ2(в реале еще не собрал):
Attachment:
spec_ie10_14_mx2.JPG
spec_ie10_14_mx2.JPG [ 190.96 KiB | Viewed 15940 times ]

Во вложении схема простого спеца, два z80, это как раз сегодняшние эксперименты, один из них исключен из симуляции.
Еще с z80(читаем 580ВМ80) в специалисте есть проблема - неправильная времянка чтения процом из RAM. Как я понял, в этой модели z80, считывание шины данных происходит по началу сигнала RD, а в реале только на втором-третьем такте цикла, в связи с чем, когда RAS и CAS выставят актуальный адрес для dram памяти проц уже шину данных вычитал, а там мусор :(... я этот момент обыграл второй мс памяти.
Повторюсь за работу новой x80.dll, не работает симуляция цепей в Graph mode-> Digital, я этим пользуюсь постоянно, и глюк с работой инкремента вычислил именно через анализ графиков цепей, очень бы хотелось, что б этот инструмент заработал.


Attachments:
spec_ie10_6.PDF [119.77 KiB]
Downloaded 435 times
15 Feb 2016 14:06
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
PVV wrote:
Я с proteus_ом разбираюсь только с новогодних каникул.
Ну тогда Вы - просто молодЕц! :kruto:
И с proteus_ом разобрались, dll-ку сами написали!

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



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

Image

Чтобы не морочить себе голову со счетчиками и регенерацией...

_________________
iLavr


15 Feb 2016 20:37
Profile
Maniac

Joined: 05 Nov 2008 19:47
Posts: 287
Location: 81.28.208.238
Reply with quote
PVV wrote:
Graph mode-> Digital, .

А как перейти/включить этот режим и как им пользоваться ?
Ни разу не запускал.


15 Feb 2016 22:34
Profile
Doomed

Joined: 12 Feb 2016 13:39
Posts: 463
Reply with quote
Я вижу по форуму, что большинство работает со старыми версиями proteus, я их интерфейс и как с ними работать не знаю. Вот в учебнике по proteus http://oproteus.narod.ru/ этот режим описывается (L10):
Attachment:
prot1.jpg
prot1.jpg [ 74.67 KiB | Viewed 16031 times ]

Attachment:
prot2.jpg
prot2.jpg [ 77.34 KiB | Viewed 16031 times ]

Вопрос по исходнику dll, это случайно не он - Z80-Proteus.zip?


15 Feb 2016 22:58
Profile
Maniac

Joined: 05 Nov 2008 19:47
Posts: 287
Location: 81.28.208.238
Reply with quote
Как-то непрнятно Graph mode связано с окнами состояния и отладки.
Без окон все срабатывает -- будем изучать...


16 Feb 2016 01:26
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
PVV wrote:
Я вижу по форуму, что большинство работает со старыми версиями proteus

А это потому что в них уже все ошибки нашли... :lol: А в новых версиях Лабцентр новых ошибок подсыпает... :wink:
Лучше учитывать известные старые, чем натыкаться на непонятные новые...

_________________
iLavr


16 Feb 2016 08:34
Profile
Maniac

Joined: 05 Nov 2008 19:47
Posts: 287
Location: 81.28.208.238
Reply with quote
Подключение *.SDI. DLL собрана статически (не нужны внешние DLL).
Исправлены инкременты.
Graph mode работает.


Attachments:
x80.rar [95.96 KiB]
Downloaded 418 times
17 Feb 2016 00:02
Profile
Doomed

Joined: 12 Feb 2016 13:39
Posts: 463
Reply with quote
Все работает! Спасибо.
Как закончу с моделированием, выложу результаты в отдельной теме. Только это будет недели через 2-3.
PS: а насколько проблематично реализовать времянку чтения памяти как у оригинального CPU по тактам?
это у ВМ80:
Attachment:
cpu_rd_vm80.jpg
cpu_rd_vm80.jpg [ 85.72 KiB | Viewed 15989 times ]

а это у Z80:
Attachment:
cpu_rd_z80.jpg
cpu_rd_z80.jpg [ 101.27 KiB | Viewed 15989 times ]

те, по факту выборка с шины данных происходит по завершению сигнала чтения...


17 Feb 2016 02:52
Profile
Maniac

Joined: 05 Nov 2008 19:47
Posts: 287
Location: 81.28.208.238
Reply with quote
PVV wrote:
PS: а насколько проблематично реализовать времянку чтения памяти как у оригинального CPU по тактам?
это у ВМ80:

В архиве в lib/idx есть модель i8080 -- но она пока не работает.
Со временем будет работать...


17 Feb 2016 04:02
Profile
Maniac

Joined: 05 Nov 2008 19:47
Posts: 287
Location: 81.28.208.238
Reply with quote
Вот-он наконец наш любимый 8080...
Может времянки не совсем точные...


Attachments:
x80.rar [126.96 KiB]
Downloaded 408 times
19 Feb 2016 21:54
Profile
Doomed

Joined: 12 Feb 2016 13:39
Posts: 463
Reply with quote
Попробовал я эту модель i8080, долго не мог понять, что не так, моя модель специалиста не работает с этим процессором. После сравнения диаграм работы нашел:
так выглядит работа с ВМ80:
Attachment:
spec_BM80.JPG
spec_BM80.JPG [ 161.98 KiB | Viewed 17332 times ]

а как с Z80:
Attachment:
spec_Z80.JPG
spec_Z80.JPG [ 146.04 KiB | Viewed 17332 times ]

условия одинаковые, программа одна, запись по адресу 0х9420 - ВМ80 не формирует сигнал SYNC, соотв. не срабатывает арбитр(U18) доступа к памяти - CPU или VIDEO, и запись в память не проходит...
PS - еще у ВМ80 сигнал сброса инверсный по отношению к Z80, надо подправить для аутентичности модели с ВМ80...


24 Feb 2016 03:04
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 295 posts ]  Go to page Previous  1 ... 14, 15, 16, 17, 18, 19, 20  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:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.