Недосимулятр 8080 со встроенными asm/disasm/debugger

Публичный форум для http://www.nedopc.org/nedopc

Moderator: Shaos

User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Недосимулятр 8080 со встроенными asm/disasm/debugger

Post by Shaos »

HardWareMan wrote:Собственно вот какое предложеньице: если у вас тут такой качественный эмулятор ВМ80, почему бы не замутить нечто подобное? Я бы с руками оторвал симулятор для ВМ80 со встроенным ассемблером/дизассемблером, расширенным отладчиком и конфигурируемой периферией (возможно, на основе плагинов-DLL). ;)
дискасс :roll:

P.S. Это всё можно сделать в рамках наших "недосимулятров" тут и тут, но на этапе сборка "хотелок" пусть лежит как отдельный проэкт...
Я тут за главного - если что шлите мыло на me собака shaos точка net
b2m
Devil
Posts: 907
Joined: 26 May 2003 06:57

Post by b2m »

В соседней теме было про "хотелки", в таком случае вот вам.

Работа в любой IDE начинается с создания/открытия проекта, в котором иерархически можно расположить файлы (текстовые), ресурсы (бинарные файлы), ссылки на библиотеки и др., где каждому типу файла соответствует свой редактор/визуализатор.

В идеале, шаблон проекта содержит наименования IDE-плагинов, которые загружаются при создании/открытии проекта, регистрируют свои обработчики, создают структуру (дерево) проекта по-умолчанию для нового проекта.

Обработчики:
- интерфейсы, реализующие окно (содержимое) редактора, привязанного к определённому типу файла
- интерфейсы, реализующие окно (содержимое) док-панелей
- интерфейсы, реализующие ассемблер, сборку проекта
- интерфейсы, реализующие дизассемблер
- интерфейсы, реализующие поддержку отладчика
- интерфейсы, реализующие загрузку и запуск собранного проекта

Связь между обработчиками осуществляется посредством запроса у IDE (или у проекта) интерфейса определённого типа и манипулирования его методами.
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Мне скорее интересно как с точки зрения юзера это должно выглядеть, а интерфейсы можно уже по факту сочинить - это как раз не проблема :)

P.S. Скриншоты и видеролики от других программ с желаемым поведением - приветствуются!

P.P.S. Ставить пейрацкий варез, чтобы посмотреть как надо сделать - НЕ предлагать...
Я тут за главного - если что шлите мыло на me собака shaos точка net
b2m
Devil
Posts: 907
Joined: 26 May 2003 06:57

Post by b2m »

Shaos wrote:Мне скорее интересно как с точки зрения юзера это должно выглядеть
Мне, как юзеру, удобно пользоваться Visual Studio. Хотелось бы что-нибудь аналогичное, но применительно к восьмибитным процессорам. С возможностью подключить свой эмулятор в качестве исполняемой среды, и отладкой прямо в текстовом редакторе.
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

b2m wrote:
Shaos wrote:Мне скорее интересно как с точки зрения юзера это должно выглядеть
Мне, как юзеру, удобно пользоваться Visual Studio. Хотелось бы что-нибудь аналогичное, но применительно к восьмибитным процессорам. С возможностью подключить свой эмулятор в качестве исполняемой среды, и отладкой прямо в текстовом редакторе.
Я в VS последний раз заходил лет эдак восемь назад - и помниться был сильно недоволен :)
Поэтому хотелось бы конкретные последовательности действий осознать...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Недосимулятр 8080 со встроенными asm/disasm/debugger

Post by Lavr »

Shaos wrote:дискасс :roll:
Меня терзают смутные сомнения, что далее "дискасс" дело далеко не зайдёт... :-?

Но сборка "хотелок" вполне может и полежать, как отдельный проэкт... :lol:
iLavr
b2m
Devil
Posts: 907
Joined: 26 May 2003 06:57

Post by b2m »

You do not have the required permissions to view the files attached to this post.
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

А это как-так pnotepad прикрутили к эмулятору? Плугинами?
И что прямо по шагам ходит и брейкпоинты оставляет? :o
Или фотошоп?...

P.S. Вот это моя лучшая поделка из похожего:

Image

А также был ещё Sprinter SDK, построенный на тех же самых RW1_EDIT и RW1C...

P.P.S. Cамодельный пошаговый дебуггер с дизассемблером я тоже делал:

Image
Last edited by Shaos on 29 Aug 2012 18:06, edited 3 times in total.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Вот тут в верхней части скриншота можно увидеть интересную штуку, которую было бы неплохо повторить:
8085screenshot.png
www.oshonsoft.com/8085screenshot.png

а именно "Simulation Log" - я когда исследую проблему в каком-нибудь своём эмуле, бывает гигабайты логов пишу логируя для каждого шага симуляции адрес, команду, все регистры, счётчик тактов и т.д. - а на самом деле всё это можно сильно ужать, т.к. за одну команду меняется немного, а от строчки к строчке большая часть данных неизменна - отсюда идея: при записи лога максимально его упаковывать в некое бинарное представление, где в каждой строчке отражались бы лишь изменения от предыдущей строчки, в результате такой лог простым текстовым просмотрщиком не посмотришь - только специальной тулзой, которая тут называется "Simulation Log Viewer".
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Недосимулятр 8080 со встроенными asm/disasm/debugger

Post by Shaos »

Lavr wrote:
Shaos wrote:дискасс :roll:
Меня терзают смутные сомнения, что далее "дискасс" дело далеко не зайдёт... :-?

Но сборка "хотелок" вполне может и полежать, как отдельный проэкт... :lol:
Ну вот и давайте собирать фичи :)
Авось выйдем на пенсию и напишем ;)

Я как программер, взращённый на борландовских продуктах (досовских), могу описать фичи, которые должны быть по любому:
1) без многочисленных окон, которые можно таскать/закрывать/открывать никак не обойтись;
2) вменяемая помощь должна допускать копи-паст - прямо из окна помощи в текст программы (в наше время может оно и считается само-собой разумеющимся, но в моём досовском прошлом это было круто);
3) пошаговая отладка, пробег до точки останова, шаг вперёд, шаг внутрь и т.д.;
4) окно для отслеживания значений специально отобранных переменных (помнится оно называлось "watch");
5) подсветка синтаксиса.

P.S. Ввиду того, что я не большой любитель винды, а также в связи с тем, что я устал от постоянных гонок разных производителей юзерских интерфейсов для линуха, предлагаю весь юзер-интерфейс делать самостоятельно - на уровне пикселей. В конце 90-х помниться было золотое время, когда каждый автор более-менее увесистой досовской программки сам писал свой юзер-интерфейс:



Да и я сам писал немножко тоже - для своей дипломной работы в 1996 году :)



Графическая подсистема, умеющая рисовать окна/кнопки/менюшки называлась "GRAPHIN" (Graphics Interface ; )

P.S. Про GRAPHIN с ноября 2023 года можно поподробнее почитать вот тут
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Недосимулятр 8080 со встроенными asm/disasm/debugger

Post by Lavr »

Shaos wrote:Ввиду того, что я не большой любитель винды, а также в связи с тем, что я устал от постоянных гонок разных производителей юзерских интерфейсов для линуха, предлагаю весь юзер-интерфейс делать самостоятельно - на уровне пикселей.
Ну это как-то уж слишком... слишком колхозно ещё и интерфейсы рисовать... :-?

И я баловался такой ерундой:

Image

И даже шаблон такой есть у меня, если лень писать к чему-либо интерфейс...

Но вырисовывать по точкам в 2012 году мне кажется затеей несерьёзной... :(

Для этого как-то и придумали а-ля-Виндавозный интерфейс, чтобы не заботиться об
всяких отрисовках...

Если программа функциональна, хорошо выполняет свою задачу и при этом у неё
прстой Виндавозный интерфейс - да честь и хвала ей!

Неужто нет за столько лет чего-либо удовлетворительного для обеих платформ? :o
iLavr
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Этож у тебя как сурово - полутени в текстовом режиме :)

Из обея-платформенных вещей на ум приходит разве что wxWidgets, но его давеча сильно ругали :)
Есть вроде достаточно стабильный порт GTK+ под винду (см. GIMP, который им пользуется и который кстати и подарил миру GTK+), однако:
You will need the GLib, cairo, Pango, ATK, gdk-pixbuf and GTK+ developer packages to build software against GTK+. To run GTK+ programs you will also need the gettext-runtime, fontconfig, freetype, expat, libpng and zlib packages.
....
The current GTK+ stack uses APIs that are available only on Windows 2000 or later. Long obsolete versions of GTK+ did run on Win9x and NT 4, too.
Так что чтобы иметь поддержанными и линух, и дос, и твою винду номер 98, придётся всё городить самостоятельно...
Last edited by Shaos on 29 Aug 2012 20:31, edited 1 time in total.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Shaos wrote:Этож у тебя как сурово - полутени в текстовом режиме :)
В отличие от DOS-графики текстовый режим не тормозит в DOS-окне Венды... :lol:
И никаких проблем с несовместимыми режимами...
Shaos wrote:Из обея-платформенных вещей на ум приходит разве что wxWidgets, но его давеча сильно ругали :)
Ну пока его тут ругали - я об нём прочитал. Был удивлён - хвалят как в своё
время Паскаль 3.0... :D
Типа - все готовы бросить дом и семью и переселиться в wxWidgets! :wink:
Shaos wrote:Так что чтобы иметь поддержанными и линух, и дос, и твою винду номер 98, придётся всё городить самостоятельно...
Ну DOS - это уж слишком, наверное, а вот что я пишу через Win32API под Вендой 98
никогда не конфликтовало пока со старшими версиями.
(7-ку не проверял...)
iLavr
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Lavr wrote:
Shaos wrote:Этож у тебя как сурово - полутени в текстовом режиме :)
В отличие от DOS-графики текстовый режим не тормозит в DOS-окне Венды... :lol:
И никаких проблем с несовместимыми режимами...
Хотя в графике я тоже делал а-ля-Виндавозный интерфейс...

Image

Но сдаётся мне в DOS-графике Венда тупо перекидывает картинки DOS-сессии,
отчего всё очень тормозит, теряя плавность...

Но отрисовывать под Вендой - всё-равно варварство... :( Для чего-то ведь
придумали GUI со всеми его прибамбасами?... :-?

Я просто не знаю, как вы под никсами рисуете - может также: создать контекст
графического устройства, нагадить на него графическими средствами API,
отразить контекст в окно и удалить за собой всё гавно... Не так?
iLavr
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Не у всех есть винда, да и не всем она нужна по большому счёту...
Я тут за главного - если что шлите мыло на me собака shaos точка net