Serg6845, спасибо! Ошибку смоделировал, но разобраться в причинах и исправить пока не было времени. Обязательно разберусь чуть позже.
Вид для печати
Serg6845, спасибо! Ошибку смоделировал, но разобраться в причинах и исправить пока не было времени. Обязательно разберусь чуть позже.
Разобрался. В общем, при ответе на вопрос "ТЕКСТ(Y/N)" событие нажатия клавиши (Y или N) в этом случае попадает в эмулируемую программу, а отжатие до нее уже не доходит, попадает в отладчик. Клавиша в программе остается "запавшей". Подумаю, как лучше обработать подобную ситуацию, а пока можно просто нажимать Y или N коротко, не задерживать клавишу в нажатом положении (успеть отпустить за время писка клавиши). А если все-таки зависнет, то дополнительно нажать еще раз ту же клавишу, что и в прошлый раз (Y или N).
P. S. На РК-86 и подобных проблема также проявляется, но там в случае длительного нажатия срабатывает автоповтор, так что обычно клавиши нажимают более коротко...
Pyk, день добрый :) можете помочь советом? на какой конфигурации Вы собираете релизы под MacOS, может подскажете какой коммит собираеся?
Хочу добавить в эмулятор 'Радуга С' у меня MacOS X El Capitan 10.11.6 с macports
Пытаюсь собрать git describe d932e5b, для начала make -f Makefile.lite.
После замены <GL/gl.h> на <OpenGL/gl.h> начали компилироваться cpp файлы но выдает кучу.
In file included from src/sdl/sdlPalWindow.cpp:20:
src/sdl/sdlGlExt.h:24:1: error: unknown type name 'PFNGLGENBUFFERSPROC'
PFNGLGENBUFFERSPROC glGenBuffers;
^
src/sdl/sdlGlExt.h:25:1: error: unknown type name 'PFNGLBINDBUFFERPROC'
PFNGLBINDBUFFERPROC glBindBuffer;
^
src/sdl/sdlGlExt.h:26:1: error: unknown type name 'PFNGLBUFFERDATAPROC'
в SDL я новичек, 01_hello у меня компилируется правда там спец параметры для clang++ и нет никаких ссылок на GL
clang++ -O3 -Wall -I/Library/Frameworks/SDL2.framework/Headers -F/Library/Frameworks/SDL2.framework/Headers main.cpp -framework SDL2 -o hello-sdl
Возможно ли скопилировать эмулято пд Мак без GL ?
oxy, к сожалению, SDL/wx-версия под MacOS на данный момент неработоспособна. Даже если удастся собрать, работать не будет из-за какой-то несовместимости библиотек SDL и wxWidgets (именно в MacOS). Надо бы, конечно, разобраться, но руки пока так и не дошли... А вообще, последняя без GL версия с тегом v4.0.400 - возможно, соберется, но работать скорее всего не будет...
Так что рекомендую под MacOS собирать Qt-версию, с ней проблем нет. Требуется Qt 5.7-5.15, конкретно под macOS протестировано на Qt 5.7 и 5.12.
Pyk, я тут на днях поигрался с Emu80v4 и был сильно впечатлен. Очень все аккуратненько и дебаггер просто огонь. Спасибо тебе за такой эмулятор!
P.S. так впечатлился, что смержил PR про WAV-ы ;)
svofski, спасибо на добром слове! На "мелочи" всегда старался обращать внимание, но на самом деле я-то знаю, что эмулятору пока не хватает и некоторых весьма важных вещей вроде снапшотов или точек останова по доступу к памяти...
И за мерж спасибо, сейчас wav'ы из PA будут открываться в Emu80 :)
А между тем выяснилось, что в последних версиях есть какие-то проблемы с FDD на Векторе: опять не работает T-Rex (выдает ошибку диска), зависает демо Skynet, возможно и что-нибудь еще...
Вероятно, что-то сломал, когда добавлял поддержку Корвета :(
Разберусь, а пока при необходимости можно использовать февральскую версию 4.0.379, в ней с этим точно все ок.
Багфикс-релиз. Версия 4.0.422 от 22.07.2022:
https://emu80.org/news/v40422
Сайт эмулятора: https://emu80.org
Загрузить:
Qt-версия (рекомендуется):
Windows-сборка (portable): https://emu80.org/v4beta/Emu80qt_40422.zip
MacOS-сборка: https://emu80.org/v4beta/Emu80qt_40422_macos.zip
Portable SDL/wx-версия, windows-сборка:
https://emu80.org/v4beta/Emu80_40422.zip
Исходники:
https://github.com/vpyk/emu80v4
Изменения в версии 4.0.422:
Легенда:
+ Нововведение
* Изменение / улучшение
- Исправлен баг
! Известная проблема
- Восстановлена работа игры T-Rex, демо SkyNet и других программ на Векторе
(исправления в работе команды Read Address контроллера НГМД)
* Исправления в документации
В последней версии (хотя я не уверен, что раньше этого не было, просто так получилось, что сегодня запустил) обезжучиватель иногда не спешит интерпретировать мнемоники.
Вот тут должно быть
mvi d, 0
mov e, m
но показывается db 16h \ nop \ db 5eh. Если бы еще и lxi не декодировался, я бы спокойней к этому отнесся ;)
Это картина сразу после загрузки rom-файла, брекпойнт был поставлен заранее.
https://pic.maxiol.com/thumbs2/16585...ot20220723.png
Когда до адреса доходим обычным путем, все как правило устаканивается и мнемоники показываются декодированные. Так что большой проблемы в этом нет.
Смоделировал, подтверждаю, спасибо за багрепорт!
Вообще немного странно, даже просто смещение вверх/вниз в секции кода приводит к устаканиванию, даже без собственно отладки.
Да и происходит такое нечасто и не совсем пока понятно, когда именно, иначе давно бы уже заметил.
Код этот писался 5 лет назад, уже плохо помню что там и как, посмотрю на днях.