Простите великодушно, всю тему не прочитал. Подскажите пожалуйста как подключиться к этой виртуальной машине к gdbserver с помощью IDA PRO Remote debug
Может есть где такая тема или ссылка на инструкцию?
Вид для печати
Простите великодушно, всю тему не прочитал. Подскажите пожалуйста как подключиться к этой виртуальной машине к gdbserver с помощью IDA PRO Remote debug
Может есть где такая тема или ссылка на инструкцию?
Viktor2004, в настройках добавить Debugger: GDB-Z80 Server
он сразу начинает слушать порт 2000
дальше запускаем иду
Ну вас же никто не заставляет пользоваться zxmak. Пользуйтесь MAME или QEMU, если не ошибаюсь они поддерживают этот функционал.
Либо шашечки, либо ехать. Либо грузим бинарь и дизасмим его в обычном порядке, либо цепляемся к виртуальной машине и данные ловим оттуда.
Блин, раньше эмулятор был веселый, лезь куда хочешь, сейчас когда паттернов mvc unity итд докрутили, уже пол дня не могу найти как вызвать сброс из наследника BusDeviceBase
не помню
это тут? можно было писать свои dll-ки с железом?
это можно делоть на нормальных сях а не на шарпах?
где выкопать примеры?
Раньше можно было dll с железками, так и делали, эмуль на C#
- - - Добавлено - - -
Хотя там что то в коде попадалось для подключение внешних dll но как это юзать теперь, когда в качестве IoC/DI юзается unity, хз. Надо ждать может автор заглянет сюда
не хорошо когда железка знает про VirtualMachine. С Reset да, есть такой костыль, хотелось бы чтото красивее, но не придумал как сделать чтобы сохранить возможность работы на уровне сигналов. Поэтому для сброса используется именно вариант
этот код должен отработать нормально. Была задумка сделать все управление операциями типа сброс и т.п через команды отправляемые в поток эмуляции. Т.к. сейчас это делать очень неудобно из пользовательского GUI потока. Но пока так и не сделал.Код:_cpu.RST = true;
_cpu.ExecCycle();
_cpu.RST = false;
Я сейчас на linux перешел, но пока в поисках сред для отладки кода на c++ и c#.
Для c++ использую codium, а для c# ничего кроме monodevelop не нашел.
Подумываю сделать OpenGL/OpenAL frontend, код под поддержку Win/Linux/MacOS уже есть, под Raspberry Pi 4 движок с OpenGL фронтендом на c# показывает очень неплохую производительность, работает шустрее чем нативные игрушки на c++ :) Нужно только прикрутить к эмулятору, но пока по сути сижу на raspberry pi 4, для которого codium и monodevelop тяжеловат, все еще в поисках более легковесной среды для отладки. И больше сейчас занят сигнальной обработкой и SDR.
В виду отсутствия удобных эмуляторов на Raspberry Pi, решил прикрутить нативную поддержку Linux к ZXMAK2. Пока прикрутил бекенд на OpenAL, графика хоть и криво и так работала, подправил чтоб предупреждение не мешало, дальше думаю бекенд на OpenGL прикрутить. Желательно потестить на разных Linux машинах и звуковых картах, чтобы выявить потенциальные проблемы. Если кому интересно поучастововать в тестах - пишите.
Очень здорово, тогда теоретически можно будет собрать zxmak2 и под haiku os.
Вопрос: А раз изначально для .NET писался, есть ли сборки для MacOS?
По части RPi - у меня сейчас малин последних нету, но могу например на RPi3 + Debian 12 затестить.
Но больше то конечно интересует версия для MacOS - у меня не самая последняя версия, но по необходимости готов быть и тестером и кто собирать будет.
на MacOS должно работать также как на Linux. Сборка отдельная не нужна, нужно только конфиг подправить.
Звук OpenAL вроде работает, графика пока медленная через WinForms, но на Raspberry Pi 4 работает играбельно.
Изменения в репозиторий пока не заливал, нужно настроить git и допилить сборку. Я заменил ildasm/ilasm для DirectX на патч с помощью Mono.Cecil после компиляции. Это ускорило сборку и позволило выкинуть длинную простыню с асмовым кодом, он теперь генерируется автоматически. И это дает возможность собирать проект в Monodevelop, но сам проект патча должен компилироваться первым, нужно это настроить.
Хотел выложить сборку под Linux для тестов тут, но форум не принимает аттачменты.
А что можете сказать по поводу Haiku OS ?
если под него mono есть, то должно работать, гугление говорит что какие-то сборки mono под эту ОС есть, но в каком они состоянии не знаю.
Чтобы не заморачиваться можно установить сразу все из пакета mono-complete. Но возможно какие-то части не реализованы.
В минимальной установке для работы эмулятора понадобятся пакеты mono-runtime, libmono-system-drawing4.0-cil и libmono-system-windows-forms4.0-cil.
Вот завел issue: https://github.com/zxmak/ZXMAK2/issues/8
там прикреплен архив с тестовой сборкой под Linux.
Под Linux проверял, под MacOS не проверял, но биндинги взял из кода который тестировался на MacOS и в теории тоже все должно работать.
для запуска нужно установить пакеты:
запускать через bash скрипт zxmak2 или через командную строку: mono ZXMAK2.exeКод:sudo apt install mono-runtime libmono-system-drawing4.0-cil libmono-system-windows-forms4.0-cil
sudo apt install libopenal-dev
При запуске вверху будет мигать ошибка EntryPointNotFoundException - это нормально, т.к. используется старый хост DirectX. Т.к. он на Linux недоступен будет рисоваться через winforms, а для мигающей ошибки я прикрутил таймаут, она через несколько секунд исчезнет.
OpenAL можно настроить в alsoft.conf, в качестве drivers наверное лучше выбрать alsa, чтобы звук шел напрямую в alsa
небольшое обновление тестовой сборки для Linux.
Добавлен нормальный полноэкранный режим X11 для Linux. Теперь можно полноценно играть :)
https://github.com/zxmak/ZXMAK2/issu...ent-2442297187
https://i.imgur.com/uY3tHR5.png
пока без OpenGL, иногда могут наблюдаться ошибки при отрисовке, эмуляция при этом останавливается.
Лечится нажатием паузы и возобновления эмуляции.
На удивление клавиатура работает более отзывчиво чем в zemu и fuse. Хотя в качестве драйвера клавиатуры используются просто ивенты WinForms.
В качестве источника синхронизации можно использовать Time или Sound.
Для звука возможно великоват буфер, можно уменьшить в unity.config, вот тут:
на самом деле получилась двойная буферизация. То количество буферов что указывается в конструкторе - это программный буфер. Еще 4 буфера OpenAL. Можно было бы меньше, но как показала практика не все звуковые карты вовремя обновляют позицию воспроизведения, поэтому могут быть обновления сразу по 2-3 буфера и нужен запас, чтобы не было срывов.Код:<!-- Host WinForms -->
<register type="IHostSound" mapTo="HostSound_OAL">
<constructor>
<param name="sampleRate" value="48000" />
<param name="bufferCount" value="4" />
</constructor>
<lifetime type="transient" />
</register>
А можно еще добавить поддержку Wayland ?
Обновил тестовый билд: https://github.com/zxmak/ZXMAK2/issu...ent-2453304024
- исправлен баг с изменением позиции окна при выходе из полноэкранного режима для X11 / wayfire / labwc.
- добавлена клавиатура X11, теперь на Linux есть полная поддержка всех клавиш
- добавлено автодетектирование контейнера конфигурации в зависимости от операционной системы. Теперь должно запускаться на Windows / Linux / MacOS "из коробки", без необходимости правки конфигов.
- исправлен баг с загрузкой SZX снэпшотов (процессор в состоянии выполнения префикса)
Для Linux осталось добавить поддержку мыши, джойстиков и OpenGL рендер.
Солюшен причесал, уже нормально билдится под linux. Скоро выложу.
а для windows обновлений больше не будет ?
под windows работает, проверял
добавляю поддержку TZX v1.2, если у кого-то есть образы ленты, содержащие циклы (LOOP) и хитрые блоки управляющие полярностью, просьба выложить для тестов.
спасибо, нашел кое какие tzx для тестов, но к сожалению с LOOP блоком там нет.
Может ктото встречал такие tzx? Ну или вообще какие-то хитрые tzx, которые не каждым эмулятором открываются.
это тупиковый вариант, нужно переходить на PZX
http://zxds.raxoft.cz/pzx.html
прогнал тест на всех своих tzx, нашел с LOOP - Zorro.tzx, работает.
Там есть список игр с блоком #28 Select:
но к сожалению на TZX на spectrumcomputing.co.uk эти TZX без блока select, перепробовал несколько штук начиная с zynaps.Код:I'm not sure if any of these are here on SC, but these are the filenames from those TOSEC collections:
Select
Bad Dudes vs. Dragon Ninja (1988)(Imagine)(48K-128K)[a]
Batman - The Movie (1989)(Ocean)(48K-128K)[t]
Cabal (1989)(Ocean)(48K-128K)[a3]
Cabal (1989)(Ocean)(48K-128K)[t]
Capitan Trueno, El (1990)(Dinamic)(ES)
Chase H.Q. (1989)(Ocean)(48K-128K)[t]
Continental Circus (1989)(Mastertronic Plus)(128K)[re-release]
Cybernoid - The Fighting Machine (1988)(Hewson Consultants)(48K-128K)[t]
Gnome Ranger (1987)(Level 9 Computing)(128K)[h]
Jabato vs Imperio - Libertad (1989)(Aventuras AD)(ES)
LED Storm Rally 2011 (1988)(Go!)(48K-128K)
Lone Wolf - The Mirror of Death (1991)(Audiogenic)(48K-128K)[ b ][aka Lone Wolf 3]
Magic Johnson's Basketball (1990)(Dro Soft)(48K-128K)(ES)
Night Shift (1991)(U.S. Gold)(48K-128K)
Power Drift (1989)(Activision)(48K-128K)[a]
Professional BMX Simulator (1988)(Code Masters Plus)(48K-128K)[a]
Savage (1988)(Firebird)[h][aka Project 5]
Star Wars (1987)(Domark)[Haxpoc-Lock loader]
Stardust (1987)(Topo Soft)(ES)[t]
Zynaps (1987)(Hewson Consultants)[a]
Может у кого-то есть версии из коллекции TOSEC с Select блоком?
- - - Добавлено - - -
это чтото из разряда креш тестов? :)
Мне пока такое рановато тестить, я еще обычные блоки отлаживаю...
У кого есть скачанный архив TOSEC? Нужна помощь.
Требуется вот этот файл для тестов: /Games/Zynaps (1987)(Hewson Consultants)[a].tzx
или какой-то из этого списка:
Код:Select
Bad Dudes vs. Dragon Ninja (1988)(Imagine)(48K-128K)[a]
Batman - The Movie (1989)(Ocean)(48K-128K)[t]
Cabal (1989)(Ocean)(48K-128K)[a3]
Cabal (1989)(Ocean)(48K-128K)[t]
Capitan Trueno, El (1990)(Dinamic)(ES)
Chase H.Q. (1989)(Ocean)(48K-128K)[t]
Continental Circus (1989)(Mastertronic Plus)(128K)[re-release]
Cybernoid - The Fighting Machine (1988)(Hewson Consultants)(48K-128K)[t]
Gnome Ranger (1987)(Level 9 Computing)(128K)[h]
Jabato vs Imperio - Libertad (1989)(Aventuras AD)(ES)
LED Storm Rally 2011 (1988)(Go!)(48K-128K)
Lone Wolf - The Mirror of Death (1991)(Audiogenic)(48K-128K)[ b ][aka Lone Wolf 3]
Magic Johnson's Basketball (1990)(Dro Soft)(48K-128K)(ES)
Night Shift (1991)(U.S. Gold)(48K-128K)
Power Drift (1989)(Activision)(48K-128K)[a]
Professional BMX Simulator (1988)(Code Masters Plus)(48K-128K)[a]
Savage (1988)(Firebird)[h][aka Project 5]
Star Wars (1987)(Domark)[Haxpoc-Lock loader]
Stardust (1987)(Topo Soft)(ES)[t]
Zynaps (1987)(Hewson Consultants)[a]
спасибо, вроде все необычные tzx файлы 1.20 которые у меня есть работают :)
Добрый день! Эмулятор scl формат понимает?
Я подключаю диск, потом наживаю RUN и... тишина. Ничего. Ни ошибки, ни загрузки. На любом SCL. Читал про KEMPSTON - его отключение ни на что не влияет.