nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 18 Aug 2017 08:34



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

Joined: 05 Nov 2008 22:47
Posts: 229
Location: 81.28.208.238
Reply with quote
А инкреметы с другими регистрами также работают?
Имеется в виду флаг Z .
Проверить/поправить смогу только на след. неделе.
не помешал-бы код для проверки...
А реальном железе...


12 Feb 2016 23:43
Profile
Senior

Joined: 12 Feb 2016 16:39
Posts: 148
Reply with quote
Действительно, проверил остальные коды с инкрементом(0x0C,1C,2C,3C,04,14,24,34), поведение одинаковое, флаг Z не выставляется. Во вложении проект специалиста, тестовые файлы для ROM и display.dll. root.bin - это оригинальный первый монитор спеца, с ним этот проект показывает стандартное приглашение на экране, а tst_L.bin - это тест памяти спеца из журнала, в который я добавил код на котором спец зацикливается. В реал прошивать ПЗУ проблематично, но в эмуляторе Башкирии2М этот тест работает адекватно. display.dll делал сам, по информации из начала этой ветки на базе готового проекта, который нашел, возможно даже, на этом сайте. Если нужно, то выложу исходники.


Attachments:
spec.zip [877.96 KiB]
Downloaded 27 times
13 Feb 2016 09:55
Profile
Maniac

Joined: 05 Nov 2008 22:47
Posts: 229
Location: 81.28.208.238
Reply with quote
Подправил инкременты...
Интересно, чтоо тест ничего на счет этого не обругался...


Attachments:
x80-dll.rar [55.97 KiB]
Downloaded 35 times
14 Feb 2016 22:33
Profile
Senior

Joined: 12 Feb 2016 16:39
Posts: 148
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 07:56
Profile
Maniac

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


15 Feb 2016 09:10
Profile
Senior

Joined: 12 Feb 2016 16:39
Posts: 148
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 13:09
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 11: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 15:29
Profile
Senior

Joined: 12 Feb 2016 16:39
Posts: 148
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 1116 times ]

работающий(run) проект специалиста МХ2(в реале еще не собрал):
Attachment:
spec_ie10_14_mx2.JPG
spec_ie10_14_mx2.JPG [ 190.96 KiB | Viewed 1116 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 42 times
15 Feb 2016 17:06
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 11: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 23:37
Profile
Maniac

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

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


16 Feb 2016 01:34
Profile
Senior

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

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

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


16 Feb 2016 01:58
Profile
Maniac

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


16 Feb 2016 04:26
Profile
Supreme God
User avatar

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

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

_________________
iLavr


16 Feb 2016 11:34
Profile
Maniac

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


Attachments:
x80.rar [95.96 KiB]
Downloaded 32 times
17 Feb 2016 03:02
Profile
Senior

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

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

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


17 Feb 2016 05:52
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 280 posts ]  Go to page Previous  1 ... 14, 15, 16, 17, 18, 19  Next

Who is online

Users browsing this forum: No registered users and 3 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.