Просмотр полной версии : Xpeccy
Страницы :
1
2
3
4
5
6
[
7]
8
9
10
11
12
Dart Alver
16.11.2018, 00:32
Собрал, в lubuntu (Release 0.6.20181115) . Сразу вылезли косяки с загрузкой образов.
Нормально загружает только по F3.
При загрузке образа через меню всегда грузит только в диск D, какой бы не был выбран.
При выборе образа из файлового менеджера двойным кликом открывает только если путь не содержит русских букв (раньше с любыми работало), иначе пишет - "Can't open file"
SAM style
16.11.2018, 09:32
При загрузке образа через меню всегда грузит только в диск D, какой бы не был выбранТолько что опробовал. Меню - Open - Floppy. All Files грузит на диск A, остальные пункты - на выбранный. Попробовал через Bookmarks - грузит на диск A (как и задумывалось).
С русскими буквами в путях ещё покопаюсь
PS:А вот при загрузке из опций - да, на диск D. Исправлю. :|
PS2:Если использовать нативный файловый диалог из Gtk, он не показывает файлы с расширением заглавными буквами. Буду пользовать встроенный.
Dart Alver
16.11.2018, 11:09
PS:А вот при загрузке из опций - да, на диск D. Исправлю
Да, извиняюсь, я имел ввиду в опциях, меню open я обычно не использую.
Ещё чисто академический вопрос )) Здесь есть возможность настроить спек 48k с tr-dos ? У меня не вышло ))
- - - Добавлено - - -
Если использовать нативный файловый диалог из Gtk, он не показывает файлы с расширением заглавными буквами. Буду пользовать встроенный.
Проблема с русскими буквами, возникает при запуске из внешней команды, в моём случае PCManFM. Встроенные qt-диалоги выбора работают как надо.
- - - Добавлено - - -
Вот вывод из консоли :
lubuntu@Wizard-GA-E350N:~$ xpeccy /home/lubuntu/Загрузки/ZX-download/Games/L_CHAOS_.SCL
Using SDL ver 1.2.15
Using Qt ver 4.8.7
Joystick not opened
SDL audio device opening...success: 22050 256 (32784 / 16)
(xpeccy:2527): GLib-GIO-CRITICAL **: 11:04:19.587: g_dbus_proxy_new: assertion 'G_IS_DBUS_CONNECTION (connection)' failed
(xpeccy:2527): GLib-GIO-CRITICAL **: 11:04:19.652: g_dbus_proxy_new: assertion 'G_IS_DBUS_CONNECTION (connection)' failed
(xpeccy:2527): GLib-GIO-CRITICAL **: 11:04:19.653: g_dbus_proxy_new: assertion 'G_IS_DBUS_CONNECTION (connection)' failed
lubuntu@Wizard-GA-E350N:~$
- - - Добавлено - - -
Упс. Пардон. Вывод из консоли бесполезен, при нормальном запуске с латинскими буквами тоже самое выводит .((
SAM style
16.11.2018, 11:15
Здесь есть возможность настроить спек 48k с tr-dos
Бейсик 48К в первые 16К ПЗУ, тырдос во вторые 16К. И включить бета-диск в опциях.
66931
Проблема с русскими буквами, возникает при запуске из внешней команды, в моём случае PCManFMЯ попробовал из терминала, Thunar-а и Krusader-а. Везде прошло. на работе использую мятный дистр.
PS: Ага, если посмотреть, сколько всего гтк-шные программы в консоль выбрасывают - можно нехило удивиться.
Dart Alver
16.11.2018, 11:28
Я попробовал из терминала, Thunar-а и Krusader-а. Везде прошло. на работе использую мятный дистр.
Ну х.з. может собралось неправильно. К сожалению я логи не записывал, возможно в воскресенье соберу снова (сейчас некогда будет, уеду)
Бейсик 48К в первые 16К ПЗУ, тырдос во вторые 16К. И включить бета-диск в опциях.
Так и делал,диск выставлен, тырдос куда только не совал и в 16 и в 32 и в 48 - не прокатило - тырдос не пашет. Может конечно опять косяк моей сборки, но врятли, учитывая что с пнями и скорпами всё нормально.
SAM style
16.11.2018, 11:37
не прокатило - тырдос не пашетНа вкладке Storage->Disk->Interface должно быть Beta Disk. Все на этом спотыкаются. ПЗУ тырдоса ставят, а связь Z80 с ВГ93 нет.
SAM style
16.11.2018, 21:12
build 20181116
build 20181117 (найденные с утра ошибки исправлены)
Ко всему вышеперечисленному
Перешёл на Qt5/SDL2 по умолчанию. Для Qt4/SDL1 у cmake есть переменные QT4BUILD и SDL1BUILD. Виндовые DLL-ки в первом сообщении темы Починена загрузка дискет из опций Починен цвет в TSConf В рубрике "НИЧОСИ И ТАКОЕ БЫВАЕТ???" - заполнение ромсета пресетом для выбранной архитектуры (кнопка с лапмочкой в опциях на вкладке Machine). Ромпак в первом сообщении обновлён.
[ deb32 (https://yadi.sk/d/TF-aDbjvSZEsBg) ][ deb64 (https://yadi.sk/d/ZGIMuEWCQ7Iy-Q) ][ rpm32 (https://yadi.sk/d/OXHsFQ0WtiRfTw) ][ rpm64 (https://yadi.sk/d/2T-4RLwiK3fyrA) ][ win32.build20181119 (https://yadi.sk/d/b4aR3Nft1LRyhA) ]
[ win Qt5 libs (https://yadi.sk/d/IsMikZ2D87uDVw) ][ ROMs pack (https://yadi.sk/d/WsIFIe5cpBx2_Q) ]
[bETA]mEN
17.11.2018, 03:52
[QUOTE=SAM style;987014]build 20181116
Перешёл на Qt5/SDL2 по умолчанию.
https://i.imgur.com/tY5qOf4.png
что я делаю не так?
SAM style
17.11.2018, 09:32
mEN;987046"]что я делаю не так?Не скопировал dll-ки? Информативность ошибки как всегда зашкаливает. Я тестировал в Win8.1 и докидывал все dll, которые она просила в папку с экзешником... Вообще все, с заменой, потому что у mingw тоже версия поменялась.
PS: обнаружился один неприятный баг в ромсетах. Неверно интерпретируется длина - вместо килобайт загружаются байты. пока что, ставьте 0 на это место
PS2: а в deb название пакета sdl2 поменялось, поэтому зависимости не решатся :|
[bETA]mEN
17.11.2018, 09:40
Не скопировал dll-ки?
создал на диске отдельную папку
распаковал в неё содержимое архивов xpeccy_0.6.20181116_win32.zip xpeccy_qt5_libs.zip roms.zip
запустил xpeccy.exe
получил эту ошибку
под Win 10 x64
SAM style
17.11.2018, 10:08
Чешу репу. Возможно, из-за разрядности. Но на x86_64 смогу проверить только вечером
[bETA]mEN
17.11.2018, 10:44
Чешу репу. Возможно, из-за разрядности. Но на x86_64 смогу проверить только вечером
поиск в гугле показал, что не у меня одного такая проблема:
https://habr.com/post/188816/
http://blog.harrix.org/article/1015
http://www.cyberforum.ru/qt/thread1958959.html
однако предложенные там решения с копированием библиотек qminimal.dll и qwindows.dll и установкой переменной QT_QPA_PLATFORM_PLUGIN_PATH мне не помогли.
остаётся вариант с установкой Qt, но его я попробую в последнею очередь.
SAM style
17.11.2018, 11:49
mEN;987062"]остаётся вариант с установкой QtТут может быть не Qt нужен, а MinGW5.3
[bETA]mEN
17.11.2018, 12:24
Тут может быть не Qt нужен, а MinGW5.3
https://i.imgur.com/F5iaztP.png
он именно на plugins/platforms реагирует
Lethargeek
17.11.2018, 12:50
SAM style, заклинаю перейти на новый принцип выкладки билдов:
buggy new features, debugged, buggy new features, debugged...
а не как сейчас: debug old + buggy new, debug old + buggy new...
mEN;987056']
под Win 10 x64
win7 64 та же хрень.
SAM style
17.11.2018, 15:32
Done. Распаковать этот архив к экзешнику - https://yadi.sk/d/bn3cqm-X7PNSnQ
На Win8 64 бита завелось
SAM style
17.11.2018, 16:00
win7 64 без изменений.
Уточню - не dll-ку из архива положить в кучу к остальным, а именно папку platforms с qwindows.dll внутри. Так и было сделано? Если так - пойду ставить себе в виртуалку ещё и 64-битную винду...
[bETA]mEN
18.11.2018, 11:46
https://youtu.be/86Y8ET1osfw
я неправильно настраиваю или звук (опять?) умер?
SAM style
18.11.2018, 12:16
Скинь спаншот/образ. Похоже, звук зашкаливает. Попробуй пока что в настройках уменьшить громкость.
[bETA]mEN
18.11.2018, 12:34
Скинь спаншот/образ.
у меня звук неправильно работает везде, от конкретной программы не зависит.
непосредственно в видео - nodes of yesod отсюда https://zx-pk.ru/threads/5076-novye-tr-dos-relizy.html?p=944686&viewfull=1#post944686
SAM style
18.11.2018, 12:45
mEN;987150"]у меня звук неправильно работает везде, от конкретной программы не зависит
Хм... опять что-то зависящее от положения небесных светил и направления солнечного ветра... У меня не шкалит.
Насчёт снижения громкости в xpeccy не ответил (Options->Sound-> и целая куча бегунков для разных звукопроизводящих девайсов)
[bETA]mEN
18.11.2018, 12:58
(Options->Sound-> и целая куча бегунков для разных звукопроизводящих девайсов)
от изменения положения бегунков звук становится тише/громче.
Dart Alver
18.11.2018, 13:08
Поставил сборку build 20181117
Пока полёт нормальный, проблемы с русскими путями нет, диски грузит куда и нужно.
По поводу zx48 :
На вкладке Storage->Disk->Interface должно быть Beta Disk. Все на этом спотыкаются. ПЗУ тырдоса ставят, а связь Z80 с ВГ93 нет.
Нет, на этом я уже наспотыкался, там фишка о которой я не знал (теперь буду )) ). Фишка в том что если сделать ресет в DOS, то всё нормально, но я делал ресет в бейсик, а вот тут либо странность либо особенность которую я не знал (я не пользовал реалы 48 с тырдос поэтому не знаю) Из бейсика невозможно перейти в тырдос по RANDOMIZE USR 15616 , если TR-DOS уже не была запущена.
По поводу звука - у меня очень слабый комп и звук часто тормозит, лучший вариант получается при частоте 22050. И вопросы на засыпку:
1 - Галка Enabled это что (звук или GS) ? - звук работает что с ней что без неё.
2 - Галка GS reset - а это что ? Она всегда устанавливается сама при новом запуске.
SAM style
18.11.2018, 13:25
По поводу звука - у меня очень слабый комп и звук часто тормозит, лучший вариант получается при частоте 22050. И вопросы на засыпку:
1 - Галка Enabled это что (звук или GS) ? - звук работает что с ней что без неё.
2 - Галка GS reset - а это что ? Она всегда устанавливается сама при новом запуске.
Хм. Вообще, выключенный Enabled в звуке должен его вообще затыкать. Запишем в багофичи :)
GS reset - это сброс GS при сбросе компа. Без этой галки музыка в GS будет продолжать играть при ресете
- - - Добавлено - - -
Из бейсика невозможно перейти в тырдос по RANDOMIZE USR 15616
По-нормальному должно работать... Разве что сброс должен быть в basic48, а не в basic128, потому как выход прямо в трдос не работает, если включен 128й. 48-му на этот сигнал плевать, а тырдосу нет. исправлю.
[bETA]mEN
18.11.2018, 13:27
По поводу звука - у меня очень слабый комп и звук часто тормозит, лучший вариант получается при частоте 22050.
при частоте 22050 у меня звук превращается в такое:
https://youtu.be/kST4OYFkGbY
mastermind
18.11.2018, 13:55
Кстати о звуке. Я вчера пробовал собрать xpeccy статически под винду, но звука у меня в винде 10 под wmware нет вообще (иногда есть только пощелкивания). Кто-нибудь хочет потестировать в винде на голом железе (наличие звука интересует)?
Win32: https://www.dropbox.com/s/47ah6uy0ya6u8xs/xpeccy-win32.7z?dl=1
Win64: https://www.dropbox.com/s/fqw14lnnkij653p/xpeccy-win64.7z?dl=1
Никакие dll не требуются, как выше упомянуто - это статическая сборка.
Dart Alver
18.11.2018, 14:45
По-нормальному должно работать... Разве что сброс должен быть в basic48, а не в basic128, потому как выход прямо в трдос не работает, если включен 128й.
Оно работает, если изначальный ресет в TR-DOS, а потом из TR-DOS выйти в бейсик по RETURN, то вызовы работают, а если изначально ресетиться в бейсик, то нет. Но эта фича только на эмуляции zx48k, на 128-х и выше всё как обычно.
mEN;987162"]при частоте 22050 у меня звук превращается в такое:
У меня такое получается если нажата кнопка GS, а так просто спотыкается, такое очучение что мощностей компу не хватает (но у меня Lubuntu, на винде может быть всё по другому) ))
SAM style
18.11.2018, 15:45
Но эта фича только на эмуляции zx48k, на 128-х и выше всё как обычно.Ненене, я про то, что если в настройках стоит сброс в basic128, то устанавливается определённый флаг, который в 128+ машинах мешает переключению в тырдос при включеном бейсике 128 (а это меняется через 7FFD). А если сброс в basic 48 - этот флаг сброшен, и тырдос включается как надо. В 48К этот сигнал не используется, но bdi на него реагирует. Это багофича.
[bETA]mEN
18.11.2018, 16:14
наличие звука интересует
Win 10 x64. Тишина, независимо от сборки 32 или 64.
Black Cat / Era CG
19.11.2018, 07:30
Чет я ваще тут потерялся. В итоге пользоваюсь последней версией, которая работала. Не умею я все эти конфиги с ноля и прочие премудрости. Это все от лукавого.
SAM style
19.11.2018, 07:55
Не умею я все эти конфиги с ноля и прочие премудростиКакие ещё конфиги с ноля? Поменялась одна опция, и то старый формат вполне себе загружается.
Black Cat / Era CG
19.11.2018, 08:12
Ок. Щас еще раз попробую, может я где-то че-то не то :)
- - - Добавлено - - -
Работает. Но со звуком страшно все. Одни скрипы. Изменение громкости, смена чипа, стерео/моно, частоты результата не дает. Звук поломался. Выньда 7-64
- - - Добавлено - - -
Это все на 0.6.20181117
SAM style
19.11.2018, 13:59
Вечером разверну QtCreator в живой винде, буду тыкать ветошью в разные места и пытаться понять, что произошло... В линуксах такой проблемы не наблюдается
Black Cat / Era CG
19.11.2018, 14:01
Еще как бы кажется, что сам эмуль притормаживает. Так это, или показалось не знаю.
SAM style
19.11.2018, 17:13
С какого-то веселья таймер в винде стал тикать 30мс вместо 20, со всеми вытекающими.
Пробуем
[ win32 (https://yadi.sk/d/b4aR3Nft1LRyhA) ]
Black Cat / Era CG
19.11.2018, 19:37
Пробуем
Вроде б работает.
P.S. Если редактировать сообщение, а не дописывать, то его потом не видно в непрочитанных.
- - - Добавлено - - -
Ээээ. Не очень работает. Через минуту эмуль молча закрылся.
SAM style
19.11.2018, 20:29
Через минуту эмуль молча закрылся.Тааааак, при дебуге выскакивает "visual c++ runtime error". причём сразу, если полезть регулировать виндовую громкость. С вот таким ассертом: ASSERT: "waiters.load() == 0" in file thread\qmutex.cpp, line 675
Black Cat / Era CG
19.11.2018, 20:34
Ну он у меня сразу открылся, закрылся. Потом открылся, дал запустить игрушку, поиграл музыку и закрылся.
SAM style
19.11.2018, 22:38
Короче, винда не может в точные таймеры, Qt::PrecisionTimer валится в любом случае. Qt::CoarseTimer сильно меняет интервал. Пока думаю заюзать таймер от SDL и посмотреть, что будет там
Lethargeek
20.11.2018, 02:58
SAM style, интересно, а зачем тебе вообще точный таймер? недостаточно привязки к одному vsync?
SAM style
20.11.2018, 18:12
Может, ну его этот Qt5 в винде? Мутекс ассертится при любом передёргивании. ...или я просто не умею его готовить?
Раньше было лучше...
- - - Добавлено - - -
недостаточно привязки к одному vsync?
Ткни где почитать про кроссплатформенный метод ловли vsync?
mastermind
20.11.2018, 18:27
Может, ну его этот Qt5 в винде?
QT4 к примеру не работает как надо с HiDPI мониторами (не масштабирует UI) и вообще не развивается давно.
Кстати и с QT5 кривовато работает/выглядит диалог настроек и дебаггер в винде на HiDPI мониторе. (а в линуксе вроде нормально) Выложу позже скриншоты.
- - - Добавлено - - -
Ткни где почитать про кроссплатформенный метод ловли vsync?
Так а если нет синхронизации с vsync, в чем смысл использования таймера? Не проще ли тогда синхронизироваться по звуку, как в zemu сделано, насколько я помню?
SAM style
20.11.2018, 18:48
Не проще ли тогда синхронизироваться по звукуПроще, этот метод в приоритете, и я так уже пробовал. Всё равно валится на залочивании/разлочивании мутекса. Пробовал ставить проверку и лочить только разлоченый, а разлочивать только залоченый - фпсы поплыли...
Lethargeek
20.11.2018, 19:00
Ткни где почитать про кроссплатформенный метод ловли vsync?
https://wiki.libsdl.org/SDL_CreateRenderer - см. флаги
- - - Добавлено - - -
а звук, напротив, подгоняю под видео через небольшую разницу кол-ва сэмплов; и нормально, ничего не воет и не хрипит
SAM style
20.11.2018, 19:23
https://wiki.libsdl.org/SDL_CreateRenderer - см. флагиУ меня SDL только звук. Окно вырисовывается Qt. А SDL_Renderer-у, как я понял, нужен SDL_Window
- - - Добавлено - - -
Ладно, вопрос в другом. Есть поток, который занимается собственно эмуляцией. Отрабатывает сколько надо и засыпает, пока его не разбудят для следующей порции. Какие есть способы реализации оной схемы?
Lethargeek
20.11.2018, 19:34
У меня SDL только звук. Окно вырисовывается Qt. А SDL_Renderer-у, как я понял, нужен SDL_Window
а что мешает применять для zx-экрана sdl_window? это же не редактируемая форма
- - - Добавлено - - -
адно, вопрос в другом. Есть поток, который занимается собственно эмуляцией. Отрабатывает сколько надо и засыпает, пока его не разбудят для следующей порции. Какие есть способы реализации оной схемы?
ну хз, лично я, всё вычислив, тупо вызываю sdl_renderpresent, и поток спит до следующего vsync
SAM style
20.11.2018, 21:03
Возможно, победил. Вместо мутекса использовал глобальную переменную, сигнализирующую потоку, что надо бы поработать. Поток спит короткими урывками и между ними проверяет, не пора ли...
- - - Добавлено - - -
Попробуйте эту сборку. Вот тут синхронизация по звуку. Если вывод в NULL - по таймеру SDL.
[ win32 (https://yadi.sk/d/7_vsnvrGsJOQfQ) ]
SAM style
21.11.2018, 17:46
Всё хорошо или всё плохо?
Black Cat / Era CG
21.11.2018, 17:55
Ну играет :)
[bETA]mEN
21.11.2018, 21:00
Всё хорошо или всё плохо?
https://www.youtube.com/watch?v=4SCrZ6bEqAc
mastermind
28.11.2018, 03:15
Machine: Evo Baseconf
Это нормально или как?:
https://i.imgur.com/sZDW9u1l.png
А "ATM Turbo 2+" вообще не заводится, ПЗУ как будто забито FF. (тыкал в кнопку с лампой)
Edit: добавил SGEN.rom (type: Font) все стало ОК. Это так и задумано?
Edit2: причем если сделать reset, то фонт опять портится. Если после этого зайти в диалог настроек (F1) и нажать "ОК" то правильный фонт снова загружается. (я так понимаю в этот момент загружается SGEN.rom поверх?)
Lethargeek
28.11.2018, 07:32
F4....перейти по адресу, указанному в команде (сохраняется история 64 переходов)
F5....вернуться к предыдущему адресу по истории
ну, это история переходов по дизассемблеру
(хотя почему только по адресу в команде, там набрать же можно)
а хотелось бы еще историю переходов проца перед остановкой
- - - Добавлено - - -
и аналог exit function из отладчика zxspin (остальное вроде бы есть)
SAM style, а у вас небыло в планах сделать поддержку порта для evo, чтобы можно было использовать приложения для подключения к сети а-ля zifi?
SAM style
29.11.2018, 16:22
порта для evo, чтобы можно было использовать приложения для подключения к сетиМодем/RS232? Потому как эзернета в еве не наблюдаю. Софта мало, тестить не с чем.
Модем/RS232? Потому как эзернета в еве не наблюдаю. Софта мало, тестить не с чем.
Да, речь про http://hype.retroscene.org/blog/dev/391.html
Там описан процесс подключения через кабель. Есть решение на unreal, но я на линухах, поэтому проверить не получилось.
SAM style
29.11.2018, 18:16
В соседней теме (https://zx-pk.ru/threads/214-port-unreal-speccy-pod-linux!.html) пережёвывают порт анрила на линукс.
А то, что я прочитал - ну, так себе... пока не могу сказать, будет ли оно у меня.
Black Cat / Era CG
29.11.2018, 23:26
В соседней теме пережёвывают порт анрила на линукс.
Ну вроде как это совсем другой эмулятор с очень похожим названием.
В соседней теме пережёвывают порт анрила на линукс.
Ставил этот анрил. До windows-версии ему еще далекова-то. К вашей версии эмуля у меня почему-то душа лежит больше.
А то, что я прочитал - ну, так себе... пока не могу сказать, будет ли оно у меня.
Понял, спасение утопающих дело рук самих... Ну дальше понятно. )
По теме подключения спеки к инету сказано многое, мое ИМХО: это решение пока выглядит наиболее адекватным и перспективным. Да и дай бог ZX Spectrum Next не за горами. А там используется такой же модуль, хотя в целом решение может и отличаться. Т о эмуль с поддержкой данной фичи дает потенциальный толчек разработчикам сетевого приклада. )
О деле. Вы, я так понимаю, при разработке не пользуетесь qtcreator? В исходниках не нашел файл проекта.
Потихоньку поразбираюсь с данным вопросом по доработки, посмотрим, может что толковое и получится.
SAM style
30.11.2018, 09:12
О деле. Вы, я так понимаю, при разработке не пользуетесь qtcreator? В исходниках не нашел файл проекта.
Им и пользуюсь. Но не с qmake, а с cmake.
Хм... Ну да ладно... Попробовал откомпилить под QT5: нормально скомпилился, эмуль запастился. Буду разбираться в структуре что к чему... Если получится что-то толковое обязательно пришлю пулл-реквест.
Маленькое пожелание: было бы здорово, если комментариев в коде было б по-больше... ну или хоть сколько-нибудь. ))
У вас roadmap есть какой-нидь по развитию проекта? Мало-ли пересечемся. )
SAM style
30.11.2018, 18:39
Маленькое пожелание: было бы здорово, если комментариев в коде было б по-больше... ну или хоть сколько-нибудь
Я их обычно пишу для себя, чтобы не забыть какие-то моменты. Проект по красивости в глубоком тёмном месте
У вас roadmap есть какой-нидь по развитию проекта? Мало-ли пересечемся.
Что моей левой ягодице захочется, то и делаю. Надо подтянуть v9938, сделать для msx-ов хотя бы ленту, разобраться почему строчные прерывания в геймбое работают не так как надо, почему из-под слоя WIN там же вылазят артефакты, доделать звук в nes, доразобраться с бк и наконец-то взяться за коммодурь...
Doronetty
01.12.2018, 22:36
БК очень серьёзная машина, вроде сколько эмуляторов, а чтобы эмулировал БК почти на 100%, никто не тянет :(
SAM style
08.12.2018, 17:18
build 20181208
Если при записи образа диска явно не указан его номер, записывается A: (баг нового файлера) Зафиксено сохранение SNA (баг от нового файлера) Сортировка пустого списка ромсетов приводила к зависанию Очень редкий баг - если crc данных на диске была xxF7, значение записывалась на диск неправильно Дисковод с остановленным мотором больше не генерирует индексный сигнал (встретилась прога, которая его не хотела) Если указанная в конфиге машина не опознана, будет установлена заглушка Dummy, о чём появится оповещение Если в конфиге указан объём памяти, не поддерживаемый данной машиной, автоматически будет выбран максимальный поддерживаемый Обновлён пак ромсетов - добавлены куски от бк0011м Всякие мелочи, которые ещё не работают, анонсировать не буду
[ deb 32 (https://yadi.sk/d/vCX3WA8_uVdXmQ) ][ deb 64 (https://yadi.sk/d/B8iNSwYe56hGxQ) ][ rpm 32 (https://yadi.sk/d/B6HMBsQAZ40-hw) ][ rpm 64 (https://yadi.sk/d/C9-K-2LKJox96Q) ][ win 32 (https://yadi.sk/d/RFugBNIWuYkCWw) ]
[ roms pack (https://yadi.sk/d/zRtxqWu5lcSEIw) ]
Dart Alver
11.12.2018, 22:03
build 20181208
Как всегда первые попавшиеся косячки ))) (linux mint 19 mate 64bit) :
1. Меню / Options / Storage / Disk => "Save as raw" - Работает не пойми как, какие-то файлы пишет, какие-то нет. Те которые пишет название удваивает с х.з. какими-то символами.
2. Скриншот по F7 не заводится. (вроде F10 nmi тоже) Хотя может какие-то настройки mata мешают, но ведь в дебаггере F7 пашет
SAM style
11.12.2018, 23:17
С сохранением фалов с диска причина ясна - при переборе считаются и удалённые файлы, хотя в таблице они не показываются. Ясно-понятно, исправим.
Скриншоты оказались поломаны... Починю (починил (кроме скриншотов с ледами, они теперь по-другому рисуются)).
Dart Alver
13.12.2018, 02:07
По мне Save as raw в Xpeccy одна из самых классных фич. Где ещё можно на лету вытащить файл с образа диска на хост.
SAM style, может сделаешь фичу ещё фичнее ? )) Добавишь ещё обратное действие - закинуть файл с хоста на образ на лету ? Тогда вообще круто будет. Хорошо бы и выбор имени файла прикрутить. )
Ещё моментик в общем то не критичный. ) В последних билдах на вкладке Меню / Options / Storage / Disk при растягивании окошка setupа таблица файлов растягивается не особо сильно, зато растягиваются пустое пространство и шапка таблицы. Вроде бы в более ранних билдах растягивалась таблица, хотя утверждать не буду. На прочих вкладках паразитных растяжений нет. ))
SAM style
13.12.2018, 07:50
Добавишь ещё обратное действие - закинуть файл с хоста на образ на летуОно есть. F3 - RAW file to disk A. Пока только на A и только по F3.
при растягивании окошка setupа таблица файлов растягивается не особо сильно, зато растягиваются пустое пространство и шапка таблицыЯсно, починим
Может кому-то еще будет интересно. Тут описываю активность по добавлению поддержки порта в xpeccy. https://zx-pk.ru/members/8784-asve79.html?tab=blog#blog
SAM style
15.12.2018, 11:56
build 20181215
Fix: сохранение скриншотов вернулось Fix: сохранение raw и hobeta с дисков, на которых имеются удалённые файлы, теперь работает корректно Fix: В TSConf в текстовом режиме не отрисовывались спрайты/тайлы В окне опций на вкладке профилей теперь... показывается текущий профиль ...двойным кликом по строке можно переключить текущий профиль ...есть возможность скопировать выделенный профиль. Указывается имя нового профиля. Если оно уже существует - профиль копируется в другой профиль. Если нет - создаётся новый Надеюсь, ничего больше не сломал...
[ deb 32 (https://yadi.sk/d/WtEwiITkIcoifQ) ][ deb 64 (https://yadi.sk/d/2RKh6NAdDQzf2w) ][ rpm 32 (https://yadi.sk/d/adNaImSdV6-XoQ) ][ rpm 64 (https://yadi.sk/d/i87gH1ldO193Mg) ][ win 32 (https://yadi.sk/d/vnJH7gHzdZvRtg) ]
Dart Alver
15.12.2018, 17:24
Fix: сохранение raw и hobeta с дисков, на которых имеются удалённые файлы, теперь работает корректно
Эээ э .... а если удалённых нет ? ........ ))
67341
Блин не пойму как сделать чтоб открывался в полном размере, кину на яндекс-диск.
Вот скрин : https://yadi.sk/i/tIgEOfIsHGrP5w
- - - Добавлено - - -
Чтоб понятней, TypeSPRT.WRD и anipicto.WRD не пишутся вовсе ( я было подумал что дело в расширении и поменял anipicto.txt - безрезультатно), а соседние animekи )) раздвоились в названиях )))
И, может лучше при записи выбирать не папку а целиком с именем файла.
- - - Добавлено - - -
Я вроде понял - глючит тогда, когда имя файла занимает все 8 символов и не остаётся пробелов перед расширением ...
SAM style
15.12.2018, 19:01
Я вроде понял - глючит тогда, когда имя файла занимает все 8 символов и не остаётся пробелов перед расширением ...
Занятно - если сохранять через ПКМ по таблице, ничего не крючит, а если через кнопку сбоку - крючит... Похоже на то, что 8-символьное имя не заканчивается нулём и продолжается всяким мусором
Надеюсь, ничего больше не сломал...Всё-таки сломал... :D
---
src/libxpeccy/filetypes/raw.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/libxpeccy/filetypes/raw.c b/src/libxpeccy/filetypes/raw.c
index c993a56..00615fd 100644
--- a/src/libxpeccy/filetypes/raw.c
+++ b/src/libxpeccy/filetypes/raw.c
@@ -73,9 +73,10 @@ int saveRawFile(Floppy* flp, int num, const char* dir) {
unsigned char buf[0x10000];
if (!diskGetSectorsData(flp,dsc.trk, dsc.sec+1, buf, dsc.slen)) return ERR_TRD_SNF;
char name[9];
+ memset(name, 0x00, 9);
strncpy(name, (char*)dsc.name, 8);
cutSpaces(name);
- char path[strlen(dir) + 16];
+ char path[PATH_MAX];
strcpy(path, dir); // dir/name.e
strcat(path, SLASH);
strcat(path, name);
[bETA]mEN
15.12.2018, 19:31
Попытка запустить MOA CP/M в режиме ZS Scorpion приводит к такому:
https://i.imgur.com/7Z1rJzR.png
SAM style
15.12.2018, 20:19
mEN;991355"]Попытка запустить MOA CP/M в режиме ZS Scorpion приводит к такому:Скинь образ, искать долго и лень...
[bETA]mEN
15.12.2018, 21:49
Скинь образ, искать долго и лень...
https://drive.google.com/file/d/1ADj6hSUI6AFlslj6iNdMM-UExJ2Qztrx/view?usp=sharing
SAM style
16.12.2018, 00:02
mEN;991375']https://drive.google.com/file/d/1ADj6hSUI6AFlslj6iNdMM-UExJ2Qztrx/view?usp=sharing
Если отключить турбо у ВГ93 - оно работает. Похоже, невозможно подстроить задержки так, чтобы в турбе работало везде - каждой софтине нужны свои тайминги...
http://samstyle.narod.ru/xpeccy/pix/scrpcpm.jpg
- - - Добавлено - - -
PS: немного подкрутил - с задержкой между байтами в 1мкс (против 32мкс без турбо) начинает работать
SAM style
13.01.2019, 16:16
build 20190113
Emu: увеличена задержка между байтами у ВГ93, если включено турбо
Emu: при чтении из порта 0xFE биты 5 и 7 теперь установлены
Fix: исправлено сохранение с дисков файлов с 8-символьными именами
Fix: устранено залипание кнопок при потери окном фокуса и нажатых клавишах
Fix: исправлены кнопки , и . в русской раскладке
New: --bp в командной строке теперь воспринимает имена меток, если они были загружены ключом -l до этого
New: индикация FPS, основывается на кол-ве сэмулированных за последнюю секунду кадров. Включается в Options->Xpeccy->Leds. В Windows работает некорректно - возможно, из-за неточного таймера, показывает порядка 73fps.
Debuga: память, отличную от ram, rom и картриджа отладчик теперь видит как FF. это должно исключить побочные эффекты чтения с замапленных на память портов у некоторых машин.
Debuga: починено отображение меток
Debuga: показ маркера, куда будет совершен переход в командах jr/jp/djnz
Debuga: адрес дизасма теперь не меняется в случае, если старое значение оставляет адрес PC видимым
Debuga: при загрузке/сохранении дампа поле Bank теперь корректно показывает текущую страницу на 0xc000
Debuga: не сохранялся дамп памяти длиной 65536 байт (64Кб)
Debuga: устранён побочный эффект установки точек останова не на ячейке памяти (т.е на адресе или текстовом поле)
Debuga: для команд Z80, обращающимся к памяти, теперь показывается либо байт, либо слово, либо бит по указанному адресу - в зависимости от команды
Filer: если расширение сохраняемого файла не было распознано, добавляется дефолтное для выбранного фильтра (sna, tap или trd)
Filer: RAW-файлы без расширения не показывались
Filer: RAW-файлы длиной более 0xFF00 теперь загружаются и делятся на части. Файлы длиннее 636Кб всё равно не загрузятся.
Wutcha: вместо байта и слова показывается 8 байт начиная с указанного адреса
MACOSX: снова начал собирать под макось, хотя и работает кривовато... Нужен установленный SDL1.2, внутрь он не включён.
[ deb 32 (https://yadi.sk/d/pWHQEcrSimnzuA) ][ deb 64 (https://yadi.sk/d/AAeiVr2Jlsf4vw) ][ rpm 32 (https://yadi.sk/d/bQNa40vVogS19g) ][ rpm 64 (https://yadi.sk/d/uiFITFUlp-WjkA) ][ dmg 64 (https://yadi.sk/d/sPd-i62pdDbz1A) ][ win 32 (https://yadi.sk/d/L-0f2jCY8auLSQ) ]
Rubts0FF
14.01.2019, 18:11
Хоть бы раз это запустить, посмотреть.
Dart Alver
31.01.2019, 20:30
build 20190113
Совершенно внезапно обнаружил что не читается диск D. Т.е. в Option/Storage/Disk он виден, а трдос его не читает. (пакет deb64)
SAM style
01.02.2019, 08:54
Совершенно внезапно обнаружил что не читается диск D. Т.е. в Option/Storage/Disk он виден, а трдос его не читает. (пакет deb64)Проверил - не обнаружил. Если запущена Ева в базеконфе, проверь на какой букве висит виртуальный флоп.
Dart Alver
01.02.2019, 21:14
Проверил - не обнаружил. Если запущена Ева в базеконфе, проверь на какой букве висит виртуальный флоп.
Нет не Ева - Pentagon 1024 SL .
"Вскрытие" показало что пациент умер от вскрытия дело не в билде (на предыдущем тоже) а в настройках. Эффект проявляется с ромом trdos610e.rom, который я прописал в настройки пентагона, а с trdos503.rom всё работает как и положено. :rolleyes:
SAM style
09.02.2019, 10:25
Давным-давно, кажется в прошлую пятницу, 10 лет назад был собран первый публичный билд кривого поделия №1, более известного как Xpeccy
build 20190209
Fix: если окно клавиатуры открыто, потеря фокуса главным окном не приводит к отпусканию всех кнопок
Fix: в сборке с SDL2 в опциях не показывалось название геймпада
Fix: исправлен показ FPS в Windows
New: если мышь не захвачена, скролл колёсиком меняет громкость эмулятора
Emu: у ВМ1 команда jsr помечена как пропускаемая по F8 в отладчике
Emu: После борьбы с БК0011м вернулся на БК0010, оно хоть как-то работает. Ромпак дополнен пзу от 0010.
Emu: Мелкие правки в работе контроллера клавиатуры АТМ2, хотя он всё ещё работает не так, как хочется
deBUGa: метки отображаются в отдельных строках, во избежание их обрезания
deBUGa: метки, попавшие внутрь команды, отображаются отдельными строками с EQU после команды
deBUGa: в командах с (nn), где nn не указывает на метку, но находится рядом, адрес заменяется на (label + e)
deBUGa: в дизасме и дампе ввод адреса может осуществляться: напрямую адресом (FEFE, #FEFE, 0xFEFE), названием метки (если такой метки нет - она будет назначена на текущий адрес), либо значением регистра (должно начинаться с точки: .HL, .SP, .PC, имена регистров такие же, как в секции CPU, регистр неважен).
deBUGa: WUTcha может быть вызван из отладчика через подменю Tools
deBUGa: набор вкладок зависит от типа эмулируемой машины. Впредь вкладки от GB и NES не будут показываться у спектрумов и наоборот
deBUGa: к изображению экрана добавлена небольшая рамка цвета бордюра
deBUGa: на вкладке звука показываются текущие уровни бипера и входа/выхода магнитофона
deBUGa: в дизасме сохраняется история переходов путём введения адресов. Назад вернуться можно по F5.
deBUGa: удалена цветовая индикация сигналов, теперь активные выделяются жирным шрифтом
WUTcha: в качестве источника адреса наблюдения может выступать название метки
[ deb 32 (https://yadi.sk/d/GzRZmPuW6jY9Og) ][ deb 64 (https://yadi.sk/d/d1UbE7sLfrpMbg) ][ rpm 32 (https://yadi.sk/d/_G4sAQta5QbDqg) ][ rpm 64 (https://yadi.sk/d/VK7JuNbO3oABEg) ][ dmg 64 (https://yadi.sk/d/gr8gRSN7efeQig) ][ win 32 (https://yadi.sk/d/3T2tCK_rDupgSw) ]
[ roms 20190209 (https://yadi.sk/d/YHkQUZLrwEaMEg) ]
build 20190209
deBUGa: метки отображаются в отдельных строках, во избежание их обрезания
https://coubsecure-s.akamaihd.net/get/b99/p/coub/simple/cw_timeline_pic/18f125ac4f1/22c9d65d0426ba09dc04e/big_1472002071_image.jpg
Lethargeek
09.02.2019, 16:37
в дебаге номер впечатанной страницы всегда отображается с учётом старших битов выданного в 7FFD байта, даже если памяти только 128k
- - - Добавлено - - -
также при загрузке стандартного 128k sna в конфигурацию с расширенной памятью - неплохо бы автоматически блокировать расширение по EFF7
SAM style
09.02.2019, 17:30
в дебаге номер впечатанной страницы всегда отображается с учётом старших битов выданного в 7FFD байта, даже если памяти только 128k
Хочется попросить, чтобы все хотелки и багофичи складывались в Issues на гитхабе. Тут я их могу потерять.
Lethargeek
09.02.2019, 20:03
SAM style, так это же там регаться надо :v2_dizzy_tired2:
deBUGa: удалена цветовая индикация сигналов, теперь активные выделяются жирным шрифтом
Зачем? Цвета гораздо лучше бросаются в глаза, чем жирность. Зелёный сразу было видно. Может лучше жирность+цвет оставить?
SAM style
10.02.2019, 00:56
Зачем? Цвета гораздо лучше бросаются в глаза, чем жирность. Зелёный сразу было видно. Может лучше жирность+цвет оставить?
В разных цветовых схемах окон цвет выглядит по-разному, иногда даже вырвиглазно.
SAM style, так это же там регаться надо :v2_dizzy_tired2:Так имеет смысл. Хотя бы для хранения своих продуктов с доступом "хотьоткуда"
Shadow Maker
10.02.2019, 01:54
Хочется попросить, чтобы все хотелки и багофичи складывались в Issues на гитхабе. Тут я их могу потерять.
Встречное предложение - прекратить мракобесия с яндекс.диском и выкладывать всё в релизы на гитхабе.
В разных цветовых схемах окон цвет выглядит по-разному, иногда даже вырвиглазно.
Простите конечно, но чтобы увидеть жирный текст - надо всматриваться гораздо тщательнее, чем когда идёт выделение цветом (не знаю что за вырвиглазное имеется в виду - кто жаловался?). Лично я воспринимаю этот пункт "обновления" как шаг назад.
- - - Добавлено - - -
прекратить мракобесия с яндекс.диском и выкладывать всё в релизы на гитхабе.
Кстати на http://www.rzxarchive.co.uk/ идёт ссылка на xpeccy, и весьма странная - http://www.xpeccy.info/
По ней скачивается какой-то кусок хедера для wordpress'а.
http://www.xpeccy.info/Это я доменное имя покупал на год. Потом отказались оплачивать дальше.
- - - Добавлено - - -
Встречное предложение - прекратить мракобесия с яндекс.диском и выкладывать всё в релизы на гитхабе.Эмммм...как бы не соврать, но вроде яндекс отчасти из-за того, что позволяет видеть сколько раз скачан файл. Какая-никакая но статистика.
- - - Добавлено - - -
Простите конечно, но чтобы увидеть жирный текст - надо всматриваться гораздо тщательнее, чем когда идёт выделение цветом (не знаю что за вырвиглазное имеется в виду - кто жаловался?). Лично я воспринимаю этот пункт "обновления" как шаг назад.
Яро плюсую - жЫрный фонт иногда нифига не жЫрный!!!
SAM style
10.02.2019, 10:00
не знаю что за вырвиглазное имеется в виду - кто жаловался?
68031
68031В таком ресайзе всё вполне нормально
Хмм... Ну вот я включил контрастную, и получил вот это:
http://volutar.eu5.org/xpec-contr.png
Шрифтов вообще не видно - чёрный на чёрным. Какой из этого можно сделать вывод?
1. Нефиг извращениям над цветовой схемой потакать (в скрине выше белый на белом - все эти индикаторы справа - это норм? ).
2. Если потакать извращениям, то надо _все_ цвета брать из схемы, и их уже миксовать, т.е. не использовать прямого хардкодированного цвета вообще.
3. Можно игнорировать все системные цвета вообще, и просто использовать _свою_ цветовую схему (конфигуряемую). Если уж "темы" как-то планируют поддерживаться.
Но вот это утолщение шрифта вместо колоркодирования - это мёртвому припарка, а всем остальным неприятный душок.
Dart Alver
10.02.2019, 14:37
Раз уж пошли по темам прохаживаться, то в моём случае во всех последних билдах наблюдается вот этот кусок э... скрина
68037
По сути то оно мне не мешает, но в копилку возможных гадостей :v2_devil:
SAM style
10.02.2019, 15:41
Хмм... Ну вот я включил контрастную, и получил вот это:
Цвет шрифта регистров и бэкграунда справа удалены. А вот такой хероборы со строками в дизасме/дампе не наблюдается.
https://downloader.disk.yandex.ru/preview/4de61ec6afd27e0a9e508974ce5866de5c9b33a5c5f96348f2 51ddd54f12293c/5c604d27/gK4GznCq8A-6Tuzy6V9gElimwE7rXxuMuGP2Mwe74spcBI5G1OtSSOLwwDw_h zl3uUHQCG5ST3no_ZpvmFhZWA%3D%3D?uid=0&filename=debuga_dark.png&disposition=inline&hash=&limit=0&content_type=image%2Fpng&tknv=v2&size=768x768
- - - Добавлено - - -
Встречное предложение - прекратить мракобесия с яндекс.диском и выкладывать всё в релизы на гитхабе.
Дапжалста...
https://github.com/samstyle/Xpeccy/releases/
А вот такой хероборы со строками в дизасме/дампе не наблюдается.
Такая херобора из-за использования хардкоженных цветов для каждой второй строки (ну и вообще, _частично_ хардкоженных), вместо того чтобы брать системные (которые ставятся в теме), и с ними миксовать нужные оттенки.
Поэтому я и говорю - вот толщину эту менять - это посос полный. Нужно либо всё хардкодить (задавать внутренние темы - светлая/тёмная), либо _всё_ миксовать с системными, но делать интерфейс только толщинами в ущерб всем ради любителей нестандартных тем - это посос пососный.
SAM style
10.02.2019, 20:32
Такая херобора из-за использования хардкоженных цветов для каждой второй строки (ну и вообще, _частично_ хардкоженных), вместо того чтобы брать системные
Чо, правда? Это меняется через QTableView::alternatingRowColors и я эти цвета не задаю. Если не согласен - укажи место в коде с заданием цветов строк
Это меняется через QTableView::alternatingRowColors и я эти цвета не задаю.
Вот вопросы наверное к Qt, который делает всю эту херобору из поста №1598 (https://zx-pk.ru/threads/9479-xpeccy.html?p=998495&viewfull=1#post998495). Очевидно, что данный подход не работает, и изменение цвета на толщину больше вреда приносит чем пользы. Ну то есть тёмная тема в целом неюзабельна (возможно юзабельна лишь "у кого-то"). И дать тогда уж возможность выбирать тип подсветки, т.к. тех, для кого тёмная неюзабельна, и пользуется стандартной (а таких думаю большинство) - цветовые выделения сильно предпочтительнее.
Зы: лично я юзаю дефолтную схему винды, светлую. Но дебаггер эмуля полагаю предпочёл бы тёмный, но не монохром с толщинами и италиками. Потому и написал про вариант про полностью кастомные цветовые схемы.
SAM style
02.03.2019, 19:17
build 20190302
Fix: проблемы при зажатии двух клавиш, действующих на одни и те же кнопки машины (например, влево CS+5 и вправо CS+8) и отпускании одной из них
Fix: нажатия клавиш в окне клавиатуры напрямую передаются основному окну
Fix: фильтрация высоких частот звука. стало немного тише, зато чище.
Back: для Linux и Windows события клавиатуры снова опираются на nativeScanCode. Так можно различать левые-правые Shift/Ctrl/Alt и не зависеть от раскладки
New: карта клавиатуры своя у каждого профиля
Emu: у uPD765 увеличены задержки в турбо-режиме
Emu: случайно отключил AY в MSX. возвернуто
deBUGa: цвет бордюра в предпросмотре обновлялся не сразу
deBUGa: немного шаманства с растягиванием колонок в дизасме
[ github release 0.6.20190302 (https://github.com/samstyle/Xpeccy/releases/tag/0.6.20190302) ]
NEO SPECTRUMAN
10.04.2019, 04:36
Ну как и ожидалось
и тут теперь этот гребаный не рабочий в XP Qt5... :mad:
пошел писать свой эмулятор спектрума с блекджеком и шлюхами... :v2_dizzy_roll:
inozemcew
08.05.2019, 13:32
Как запустить msx1? Тип машинки в настройках переключил, ромсет настроил - сплошной голубой экран, буковок не видно. MSX2 работает нормально.
SAM style
08.05.2019, 18:55
Как запустить msx1? Тип машинки в настройках переключил, ромсет настроил - сплошной голубой экран, буковок не видно. MSX2 работает нормально.
Что-то отвалилось в v9938 для msx1... ну вот, а я уже хотел окончательно облениться
- - - Добавлено - - -
PS: для себя. MSX1 не переваривает v99x8 с более чем 16К памяти
SAM style
30.05.2019, 19:53
build 20190530
После долгой борьбы, прерывавшейся двумя месяцами безделья, я победил клавиатурные глюки. Но это не точно. ЗЫ: ага, hat на гампаде работает плохо
Режим ускорения продублирован на NumLock
MSX1 не видит более 16Кб в v99x8. Решение неправильное, но хотя бы работает
Добавлены ключи командной строки для размера окна / полного экрана / сохранения пропорций / нофлика. См. xpeccy --help
Настраиваемая палитра для дебуги. Options->Xpeccy->Palette
Исправлено отображение номера страницы в отладчике
[ скачать (https://github.com/samstyle/Xpeccy/releases/tag/0.6.20190530) ]
NEO SPECTRUMAN
30.05.2019, 23:17
ВААИ!!
так продолжает выпускатьсо qt4 версия
так чего ты молчишь?
а то мы тебя было уже записали в изменники родины :)
- - - Добавлено - - -
хотя как все было
так и осталось
https://jpegshare.net/images/73/75/737571149fe51932a664722812c96824.png
SAM style
31.05.2019, 07:54
хотя как все было
так и осталосьЯ уже подзабыл. Была информация, как вызвать это падение?
ЗЫ: А ещё выяснилось, что цвет на кнопках в настройках палитры не во всех окружениях отображается. Переделаю.
NEO SPECTRUMAN
31.05.2019, 12:45
Я уже подзабыл. Была информация, как вызвать это падение?
У меня вызывается в дебагере постоянным длительным нажиманием f7 f8
Эффект гарантированный и повторяется в 100% случаев
поэтому дебагать в эмуле что нить теперь невозможно
можно просто зажать F7 и через несколько секунд то что на картинке
потом может попробую оно подебагать и дам еще каких нибудь данных
- - - Добавлено - - -
ЗЫ: А ещё выяснилось
А еще у меня ВНЕЗАПНО помоему отпала подсветка текущевыполняемого кода
или я что то делаю не так
только не пойму что
да и реги PC и R что то не особо обновляются
хотя при F7 вроде счетчик тактов инкрементится
хотя вчера запускал первый раз новую версию
и подсветка вроде бы была
что я мог ткнуть?
- - - Добавлено - - -
Щас самопроизвольно заработала подсветка
но PC и R не подают признаков обновления
https://jpegshare.net/images/b0/27/b027d9498fc926ed4c9c024e8e85e3f8.png
ида последний скриншот в рижме 16 бит на точку
и подсветка появилась не после переключения на 16бит
а через несколько запусков в єтом режиме
SAM style
31.05.2019, 13:01
на каких древних динозаврах, не поддерживающих 24бит цвета он запускается? естественно, труколор урезается и надо самому настраивать цвета.
Кто-то ещё такие глюки ловит?
Black Cat / Era CG
31.05.2019, 14:15
можно просто зажать F7 и через несколько секунд то что на картинке
такая же фигня. причем оооооочень давно. Думал, так всегда было. Приучился быстро тыркать по клавише.
NEO SPECTRUMAN
31.05.2019, 15:56
такая же фигня. причем оооооочень давно. Думал, так всегда было. Приучился быстро тыркать по клавише.
изначально не было
появилось пару лет назад после одного из обновлений
- - - Добавлено - - -
на каких древних динозаврах, не поддерживающих 24бит цвета он запускается?
почему то на 16бит как раз и ок
а на 32 как раз отпала подсветка
- - - Добавлено - - -
щас пару раз запустил на 32бит
вроде подсветка не отпала
PC R и воозможно I так и не обновляются
- - - Добавлено - - -
Приучился быстро тыркать по клавише.
у меня в любом случае
хоть держишь
хоть одиночными
всегда гарантировано падение
и больше эмулем для отладки не пользуюсь
тк подводит этим теперь всегда
старую версию которая не падала
никак не доходят руки найти
- - - Добавлено - - -
Ну и опять же пожелания
что в дебагере что в вачере
регистры посортированны в неюзабельном виде
в дебагере вообще вертикальная партянка
ПЦ зачем то сверху
гигантское количество пустоты между названием рега и его значением
окно дебагера гигантское
но на нем куча пустого места
для кого написано cpu disasm dump
всем кто пользуется дебагером итак ясно что это цпу дизасм и дамп
они только занимает место
много пустого места в дизасме
между адресом и hex значениям
туда бы поместился еще один адрес...
так же непомешало бы щелкать битами системных портов
так же как щас флаги
вот набросал
https://jpegshare.net/images/d6/71/d671c62d8eb32205a10b9d074db6cf2c.png
или прям отдельнім окном поверх всех окон
https://jpegshare.net/images/9e/b3/9eb3a7413c0ee2f507408f0e5cbe7f33.png
Юзал версию 20190301, работало, шум криковат но ок. Обновился на последнюю с QT5 - перестало запускаться. Вообще. Ни сообщений каких-то, ни логов...Куда смотреть?
NEO SPECTRUMAN
31.05.2019, 16:24
Вообще. Ни сообщений каких-то, ни логов...Куда смотреть?
последний qt5 не идет на xp vista
берем версию с qt4
- - - Добавлено - - -
вот набросал компактнее
все влезет при том же размере окна что и было
на дизасме и дампе еще можно сэкономить кучу места (большие пробелы)
https://jpegshare.net/images/b3/8d/b38d784bf238fdf3b8d52234a87707a0.png
ЄТО ИЩО ЧТО ТАКОЕ????
https://jpegshare.net/images/de/7c/de7c36dc6cadb899f36c73a056873383.png
какая еще громкость огибающей и уровень шума?
последний qt5 не идет на xp vista
У меня win7x64. Все шло вплоть до версии от 02.03.2019 под qt5.
Поставил впервые qt4 версию (видимо откат на предыдущие моден) - заработало.
F7 длительное приводит к зависанию.
>какая еще громкость огибающей и уровень шума?
шум - 0 или 1. У огибающей уровень текущий. То есть это не громкость, а значение, выдаваемое генератором.
>вот набросал компактнее
Что то ты там намешал всего в кучу, и коней и людей и AY и СТЕК ВЕРТИКАЛЬНО, КАРЛ!
Уплотнить конечно не помешало бы, в частности ячейки дампа уж с очень большими паддингами, но в остальном и так норм.
Стек надо у регистров, и не 4 значения а штук 10 как минимум (и не только в 0 +2 +4 +6 .. но и как минимум -2).
SAM style
31.05.2019, 17:49
Вы все тут набрасываете дебугер "компактнее"...
Берём, например, 6502 у которого всего 6 регистров против 14+ у Z80. Или NES, которому панелька с AY вообще не впёрлась... В панели со вкладками только у спектрумов экран 256x192, тогда как для карты тайлов геймбоя нужно 256x256 (16x16 тайлов).
Не забывайте со всеми своими "улучшениями", что есть не только спектрум и не только Z80.
NEO SPECTRUMAN
31.05.2019, 17:57
Не забывайте со всеми своими "улучшениями", что есть не только спектрум и не только Z80.
а то есть одно и тожо
для всего одновременно
...
по своим поделкам
я пришел к выводу что
все в одном через одни и теже настройке
это тупиковая ветвь развития
потом ты захочешь прикрутить какойнить MIPS
с 32 регами
и весь дебагер под спектрум вообще расколбасится...
потом еще отлавливать постоянно что где отваливается при добавлении новых мксков...
зачем это надо?
для спектрумов один дебагер
для неспекрумов другой
- - - Добавлено - - -
тогда зачем он вообще нужен
если им хреново как пользоваться?
- - - Добавлено - - -
Разбей лучше эмуль на несколько штук
Xpeccy
XMSX
XGameBoy
XNES
итд
Не забывайте со всеми своими "улучшениями", что есть не только спектрум и не только Z80.
Логичнее для каждой платформы делать своё отдельное окно дебага. Со всеми спецификами, и заточенными под платформу модулями (спрайты, звуковые чипы, регистры). Вместить все разновидности в один интерфейс - получится такое же неудобоваримое г*, как в своё время получился Windows8 с меню пуск на весь экран. Т.е. будет конечно работать для всех, но в то же время и неудобно для всех. Удобнее - когда для каждого своё, заточенное и вылизанное (не эмулятор, а хотя бы формы настроек, и окно дебага).
NEO SPECTRUMAN
31.05.2019, 18:02
Что то ты там намешал всего в кучу, и коней и людей и AY и СТЕК ВЕРТИКАЛЬНО, КАРЛ!
ну а когда реги вертикально это нормально?
И нужно все и одновременно и реги и реги Ак-ка и экран и экран с мультиколором
и мемори виевер и мемори виевер графический и не один и экран без атрибутов и проц ГС-а
подсветка исполняемого\читаемого кода
а не тыкаться между 17 вкладками туда сюда
пока смотришь одно не видишь другого...
- - - Добавлено - - -
шум - 0 или 1. У огибающей уровень текущий. То есть это не громкость, а значение, выдаваемое генератором.
ладно с натяжкой убедил...
просто лежит на равне с регами...
SAM style
31.05.2019, 18:04
Левая половина дебугера одинаково хорошо (почти) работает для всех процов. Дамп памяти, в принципе, тоже, кроме IO-областей. Вкладки магическим образом меняются от машины к машине. И только правый столбец ни к селу ни к городу пока что.
По регистрам - сейчас дебугер запрашивает у самого проца список с именами и значениями регистров и подсовывает их в определённые места. Так, мне кажется, правильнее.
Процы с более чем 16 регистрами я вряд ли осилю, иначе мой мозг треснет.
NEO SPECTRUMAN
31.05.2019, 18:15
Еще вариант все разбросать на отдельные окна
тогда можно включать выклчать то что надо
и перетягивать где удобней
мемори виеверов часто нужно больше чем 1
чтоб видеть что берется и что потом ложится в другом месте
- - - Добавлено - - -
Левая половина дебугера одинаково хорошо (почти)
но большой придир к сортировке регистров
(всему в столбик)
и к тому что целая куча пустого места (гигантские отступы)
при том что гигантское окно
выравнивание иногда лучше по правому краю
чтоб было ближе к значению
а не фиг знает где от него
- - - Добавлено - - -
Процы с более чем 16 регистрами я вряд ли осилю, иначе мой мозг треснет.
если ты осилил 6502 то ты ужо можешь включать режим бога и леветировать :v2_dizzy_king:
SAM style
31.05.2019, 18:18
По значениям регистров - забавно, но в винде вместо полных значений почему-то показывается только старший байт... В расово верных линуксах такой херни не наблюдается
но большой придир к сортировке регистров
(всему в столбик)Предложи более оптимальный способ разместить неизвестное кол-во регистров
ЗЫ: по пропадающим цветам - настройте их в опциях. при первой загрузке цветов нет.
NEO SPECTRUMAN
31.05.2019, 19:30
Предложи более оптимальный способ разместить неизвестное кол-во регистров
у нас не известно какая сейчас включена платформа и какой у нее проц?
и мы не можем для каждого проца по своему разместить регистры?
почему это количество регистров должно быть неизвестным?
и нужно их насыпать как попало?
да и процессоров не так много
Предложи более оптимальный способ разместить неизвестное кол-во регистров
Конфиг расположений для каждой конфигурации оборудования (типа проца).
SAM style
31.05.2019, 23:47
build 20190531
Быстрофиксы
Исправлено отображение цветов на кнопках настойки палитры
Исправлено отображение значений регистров в отладчике в версии для шindoшs
В виртуалке падений при зажатии F7 в отладчике не наблюдается. Завтра залезу в винду или поставлю на ноут XP
[ скачать (https://github.com/samstyle/Xpeccy/releases/tag/0.6.20190531) ]
NEO SPECTRUMAN
01.06.2019, 04:11
В виртуалке падений при зажатии F7 в отладчике не наблюдается.
при некоторых запусках
можно минуту держать а только потом
при некоторых секунды 3
повторить ошибку от жмени нажатий не смог
раньше падало
NEO SPECTRUMAN
09.06.2019, 06:33
Вот случайно нашел старую версию вроде еще без этого бага
build 20180106
https://zx-pk.ru/threads/9479-xpeccy.html?p=944241&viewfull=1#post944241
след версия ужо с...
build 20180117
https://zx-pk.ru/threads/9479-xpeccy.html?p=945988&viewfull=1#post945988
тут я ругаюсь на этот счет
https://zx-pk.ru/threads/9479-xpeccy.html?p=946287&viewfull=1#post946287
SAM style
09.06.2019, 16:24
Я, конечно, очень сильно не уверен, потому как у себя падений от F7 так и не получил... Но можно попробовать данную версию.
[ win32 qt4 (https://yadi.sk/d/OsG_2dRMIfPFaw) ][ win32 qt5 (https://yadi.sk/d/2xe82Ot6A8LuAQ) ]
Библиотеки для Qt4 и Qt5 обновлены в первом сообщении. Под Qt5 действительно не запускалось до полной пересборки.
NEO SPECTRUMAN
10.06.2019, 05:57
qt4 - все так же
https://jpegshare.net/images/2b/06/2b069be91168bfb46a46396047c22e79.png
qt5 - не запустилось
https://jpegshare.net/images/3f/f9/3ff9545e20f26542debbdb560baccbcc.png
https://jpegshare.net/images/7c/12/7c1203bcaeaf31ac5ef15b9746d2540e.png
- - - Добавлено - - -
можешь собрать версию с замененной F7 на что нить другое (циферы пробелы)
хотел поймать в олидебаге и посмотреть что там творитсо
но тк там f7 используется ВНЕЗАПНО как step
сразу после ошибки еще прокручивается фиг знает сколько всего пока не отпустишь f7 :v2_dizzy_facepalm:
SAM style
10.06.2019, 09:03
хотел поймать в олидебаге и посмотреть что там творитсо
Собери отладочную версию и лови падения хотя бы в QtCreator. Там хоть по исходнику пойдёшь. А то скомпиленный код мало полезен.
qt5 - не запустилось
Под XP?
NEO SPECTRUMAN
10.06.2019, 09:17
Под XP?
до
- - - Добавлено - - -
Там хоть по исходнику пойдёшь. А то скомпиленный код мало полезен.
я не соберу
а куда ложится продизасменное?
и успевает ли оно все от туда доставаться для вывода
утя там стек не кушает все подряд случаем?
попробуй замедлить машину
проц на минимум
минимальный приоритет
одно ядро для процесса
чонить тормозящее рядом запустить
можот повторишь ошибку
SAM style
10.06.2019, 17:33
попробуй замедлить машину
проц на минимум
минимальный приоритет
одно ядро для процесса
чонить тормозящее рядом запустить
можот повторишь ошибку
Схожу на балкон. Возможно, третий пень ещё жив...
[ табличка "сарказм" ]
SAM style
11.06.2019, 11:59
Откопал на работе древний гробик на атоме. Сборка с Qt4, наконец-то, упала... С Qt5 не захотела падать (Win7pro)
Qt5 начала капризничать после переустановки винды в виртуалке - действительно требует plugins/platforms/qwindows.dll
Вобщем, пока всё в очень тёмном месте
SAM style
11.06.2019, 23:02
Возможно, нашёл рекурсию. QApplication processEvents -> DebugWin keyPressEvent -> DebugWin doStep -> QApplication processEvents -> ... если события успевали обрабатываться - всё хорошо, а если нет - засирание стека. Йа криворучко...
Пробуем эту версию (в архиве под Qt4 вместе со всеми dll-ками)
[ qt4 win32 (https://yadi.sk/d/aaaba1wQy8UX1g) ]
NEO SPECTRUMAN
12.06.2019, 03:36
Сходу повесить не получилось :v2_dizzy_roll:
будем надеятсо что теперь оно можно опять пользоватсо
И запускаетсо все из коробки без лишних телодвижений :v2_dizzy_roll:
можот так когда нибудь в комплекте появится и конфиг с готовыми разными машинами :)
был впилен лимит на количество дебуганий в единицу времени?
как то стало по медленнее
и опять жо хотелка которую не раз говорил (а можот такое и есть)
нужно кнопака листать большое количество команд за раз
пушо мотать вперед одним F7 сильно долго
первое что приходит в голову по shift + F7
наблюдаются еще всякие глюки (с необновлением экрана)
потом посмотрю как их ловить и описать
отпишусь
и опять жо
подсветка выполняемого адреса
нужно рабочее из коробки
лезть менять в настройки не удобно
нужно
1. закрыть дебагер
2. открыть настройки
3. поменять
4. закрыть настройки
5. открыть дебагер
6. а только потом смотрим что же мы такое поменяли
узнали что это совсем не то что мы хотели (названия не очень информативные)
и все по новой
нужон доступ к настройкам из дебагера
или хотябы к палитре (да и не место настройкам дебагера в общих настройках...)
еще лучшо сразу предпросмотр результата
чтоб не тыкать туда сюда пытаясь понять что же меняется
так жо там нужна кнопка дефолтных значений
чтоб натыкавши жесткую херню все вернуть на место
каждую вторую строку подсветка серая и не настраивается (больше серых цветов в палитре нет а на экране они есть)
тот цвет что для подсветки выполняемой строки
используется еще всем подряд...
другими словами настройке это безобразие не поддается...
https://jpegshare.net/images/d0/46/d0461186d8feafa9d1d447318134df56.png
https://jpegshare.net/images/59/f8/59f80cb24ec2699efe3a2ac7fa3318fe.png
3Ы: во избежание лишних глюков щас включен 32бит цвет
(чтоб мне не говорили что на 16бит и не должно работать)
SAM style
12.06.2019, 09:10
был впилен лимит на количество дебуганий в единицу времени?
как то стало по медленнееУбрана обработка событий в цикле, если это не автоматический трейс.
нужно кнопака листать большое количество команд за разЕсть "трейсить досюда" через меню, есть "выполнить досюда" по F9.
наблюдаются еще всякие глюки (с необновлением экрана)А я думал, это мне показалось...
подсветка выполняемого адреса
нужно рабочее из коробки
нужно рабочее из коробкиМы работаем над этим
лезть менять в настройки не удобно
нужон доступ к настройкам из дебагераСогласный
так жо там нужна кнопка дефолтных значенийПКМ по кнопке цвета в настойках вернёт начальный цвет
NEO SPECTRUMAN
12.06.2019, 09:30
Есть "трейсить досюда" через меню, есть "выполнить досюда" по F9.
а если я не знаю где именно это досюда
и как раз его ищу?
отслеживая происходящее в мемори виевере
толку от негго
надо листать ускоренно
чтоб быстро долистать до середины фрейма а там смотреть
или быстро прокрутить много времени (раза в 3-10 быстрее чем то что щас)
и нужно остановить когда видишь глазами
а не до сюда
а с зажатым ф7
5 минут сидеть держать...
потом это все быстренько прошло
и опять 5 миннут держать...
брекпоинт на середину фрейма не спасет
хотя он тоже часто нужен
не знаю есть ли он ужо
- - - Добавлено - - -
ПКМ по кнопке цвета в настойках вернёт начальный цвет
конечно єто хороошо
но это не очевидно
как бы интерфейс должон быть интуитивным (по крайней мере к этому нужно стремится)
...я не вспомню какую нить софтину которая бы так сбрасывала до дефолтных настроек
- - - Добавлено - - -
как бы интерфейс должон быть интуитивным
нет интуитивный это не мс офик 2115
в котором клацнув привычное "сохранить как"
просто выпадаешь в осадок от увиденного велосипеда на весь экран... :v2_dizzy_facepalm:
- - - Добавлено - - -
А я думал, это мне показалось...
ну натыкался при закрытии дебагера на паузе
но там открывал еще жменю дебагерных окон при этом
потом может рассмотритсо какаято зависимость
Lethargeek
12.06.2019, 11:50
сохранение снапа из дебагера невозможно? f2 кнопка выполняет другую функцию, а бывает сохранение очень нужно
в qt5 последней версии вместо 00 в дебагере отображаются пробелы - так и задумано? хотя лучше бы нули бледным шрифтом
ну, два нуля еще ладно, но почему коды 0X отображаются как X одной цифрой? вот это реально бесит
SAM style
12.06.2019, 19:58
сохранение снапа из дебагера невозможно? f2 кнопка выполняет другую функцию, а бывает сохранение очень нужно
в qt5 последней версии вместо 00 в дебагере отображаются пробелы - так и задумано? хотя лучше бы нули бледным шрифтом
ну, два нуля еще ладно, но почему коды 0X отображаются как X одной цифрой? вот это реально бесит
Не совсем понял про нули. Картинку в студию.
ЗЫ: А, понял. Это тестовое. Будет убрано.
SAM style
13.06.2019, 22:08
build 20190612
deBUGa: вылечено падение пошагового выполнения команд на медленных компах
deBUGa: Alt+F7 - скоростное выполнение. за раз 10 команд
deBUGa: F1 - вызов окна настроек
deBUGa: F2 - вызов сохранения файла. Установка точки останова остаётся а Space
палитра инициализируется перед загрузкой конфига.
Windows: Qt 4.7.4 и Qt5.7.1. Нужные dll внутри архивов.
[ скачать (https://github.com/samstyle/Xpeccy/releases/tag/0.6.20190612) ]
NEO SPECTRUMAN
14.06.2019, 06:21
deBUGa: Alt+F7 - скоростное выполнение. за раз 10 команд
по скорости это именно оно
но с открытым спрайт сканером успешно не работает
и альт ввенде это фокусировка на менюшке
(для выбора курсором и ентером если мы потеряли мышу)
я даже смену языка переставил на shift + ctrl
изза обилия проблем с этим гребаным альтом
(пушо вероятность переключить сразу никакая первым всегда срабатывает альт как фокусировка...)
ну и было бы удобней если бы
ускорение могло бы добавлятся и не добавлятся так же при удерживании ф7
- - - Добавлено - - -
3ы
и не знаю
моск категорически отказывается воспринимать регистры pc и sp в верху
SAM style
14.06.2019, 09:22
но с открытым спрайт сканером успешно не работает
Хватит писать
как наркоман
пушо сложна
чи
та
т
ь
(моск каегорически отказывается)
-----------
Описанное поведение наблюдается только под Win32+Qt4
Lethargeek
14.06.2019, 10:28
deBUGa: F2 - вызов сохранения файла. Установка точки останова остаётся а Space
но теперь никакие бряки красным не помечаются?? :(
SAM style
14.06.2019, 11:12
но теперь никакие бряки красным не помечаются??Проверил линуксовую - по пробелу помечаются. В винде только вечером буду. Проверь в настройках цвет Break.
NEO SPECTRUMAN
14.06.2019, 11:52
Описанное поведение наблюдается только под Win32+Qt4
другая и не фурычит...
так что остается только эта
- - - Добавлено - - -
В винде только вечером буду. Проверь в настройках цвет Break.
да
пока сам не назначишь в палитре
такое же черное как все остальное
тоесть начальную инициализацию палитры еще нужно допилить
- - - Добавлено - - -
Кстате у бряка нет бекграунда
а так он мог бы быть полезен
например слегка подрозовить (но чтоб заменялся цветом выполняемой команды когда надо)
- - - Добавлено - - -
deBUGa: F1 - вызов окна настроек
крута :v2_dizzy_vodka2:
проц меняется прямо из дебагера с сохранением памяти :v2_dizzy_roll:
теперь можно страдать редкостной херней
вот бы еще были мнемоники для 8080 от z80 опционально
- - - Добавлено - - -
deBUGa: F1 - вызов окна настроек
кстате
может вхождение в настройки лучшо делать по унриалски
по alt + f1 ?
и из основного окна эмуля тоже.
SAM style
14.06.2019, 12:08
кстате
может вхождение в настройки лучшо делать по унриалски
по alt + f1 ?
и из основного окна эмуля тоже.
А вот это вряд ли. Когда в анриле f1 поменяли на Alt+f1, мне это жутко не понравилось. Настройки вызываются куда чаще хелпа
NEO SPECTRUMAN
14.06.2019, 12:23
А вот это вряд ли. Когда в анриле f1 поменяли на Alt+f1, мне это жутко не понравилось. Настройки вызываются куда чаще хелпа
тадаладно...
у меня на f1-f4 вообще висят клавиши и колеса мыши
и чтоб нажать чисто f1 приходится вспоминать несколько извращаться :)
(до я всемназло кликаю левым мизинцем :v2_tong2: )
- - - Добавлено - - -
А вот это вряд ли. Когда в анриле f1 поменяли на Alt+f1, мне это жутко не понравилось. Настройки вызываются куда чаще хелпа
не знаю как на счет хелпа
а лично мне очень удобно вызывать настройки унрила именно так :)
у меня он появился когда ужо видимо это поменяли (синдром уточки)
Lethargeek
14.06.2019, 23:47
Проверь в настройках цвет Break.
да, в старом конфиге не было такой строчки
Lethargeek
23.06.2019, 18:10
старший бит регистра R невозможно ручками в дебагере установить в единицу (обнуляется на следующем шаге)
в то же время при установке кодом (ld r,a) старший бит запоминается, как положено
SAM style
23.06.2019, 18:32
старший бит регистра R невозможно ручками в дебагере установить в единицу
угу, косяк найден
SAM style
25.06.2019, 20:56
build 20190625
исправлен косяк с редактированием регистра R в Z80 в дебуге
исправлен цвет по умолчанию для точки останова
окошко клавиатуры закрывается по esc
в мапере геймпада на клаву появилась опция автоповтора. с указанным периодом чередуются нажатие и отжатие клавиши, закреплённой за кнопкой/осью. 0 означает "без автоповтора"
чуток переделал загрузку dsk
Дальше, думаю, углублюсь в u765, потому как не все диски имеют наглость успешно работать в +3
PS: Почему-то не удалось подружить Qt4 c mingw5. Компилится, но не запускается.
[ скачать (https://github.com/samstyle/Xpeccy/releases) ]
NEO SPECTRUMAN
26.06.2019, 00:34
Процы с более чем 16 регистрами я вряд ли осилю, иначе мой мозг треснет.
8086 с меньше чем 16 регистрами ? :v2_dizzy_vodka3:
- - - Добавлено - - -
потому как не все диски имеют наглость успешно работать в +3
кстате
может насыпешь готовых конфигов
у то ни у кого, кроме тебя, ничего кроме обычного спектрума и не работает :v2_conf2:
SAM style
26.06.2019, 07:59
8086 с меньше чем 16 регистрами ?Где 8086?
у то ни у кого, кроме тебя, ничего кроме обычного спектрума и не работаетЛюди пишут по проблемам в +3. Значит, настраивать можно.
NEO SPECTRUMAN
26.06.2019, 09:05
по проблемам в +3.
ну дык это тожо спектрум
я АТМ тоже запускал
а кто нить пишет про НЕ спектрумы?
интересно почему же нет? :)
как заставить фурычить тот же нес?
SAM style
26.06.2019, 11:24
как заставить фурычить тот же нес?Например, выбрать нес в железе, нужный проц и выставить ему нужную частоту? не? слишком сложно?
а кто нить пишет про НЕ спектрумы?
интересно почему же нет?Во-первых, это раздел про спектрумы. Во-вторых, и про msx писали (только не надо говорить, что это тоже спектрум)
NEO SPECTRUMAN
26.06.2019, 14:22
Например, выбрать нес в железе, нужный проц и выставить ему нужную частоту? не? слишком сложно?
тогда лови багорепорт
эмуль не открывает драгндропнытые несы
из путей содержащих русскее буквы
- - - Добавлено - - -
баг репорт два
частота проца не вписывается
при вписывании при подтверждениии сбрасывается до той которая была
меняется только соседними кнопками
ага при apply сохраняется вписанное
но любой ввод должон работать и обычным общепринятым способом
(в режиме спектрума работает как надо)
и по хорошему нужно кнопка предустановки частоты
нельзя же помнить для каждой платформы жменю 7значных чисел
менять частоту на произвольную это тоже хорошо и очень полезно
- - - Добавлено - - -
дальшо пожелания
минимальное значение 0,5МГц и множитель 0,1 это МНОГО
хочется замедлять вплоть до 1000Гц
если это возможно
- - - Добавлено - - -
у неса
при смене частоты проца во время работы
отпадает экран
ну и запуск ромов через ресет
несколько не очевиден
+нет поддержки файлов в менюшке открыть
SAM style
26.06.2019, 15:59
эмуль не открывает драгндропнытые несы из путей содержащих русскее буквытолько несы или всё?
частота проца не вписываетсяприду домой - проверю. кажется, при загрузке картриджа проводится попытка определить регион и стандарт (ntsc / pal / dendy), по определённому автоматом выставляется частота проца и подстраивается развёртка. это объясняет, почему...
при смене частоты проца во время работы отпадает экран рассинхронизируется работа цп и видео.
PS: на самом деле сбивается работа ppu, а куча nes-овских игр работает внутри обработчика прерываний от него.
ну и запуск ромов через ресет несколько не очевидену тебя денди в детстве была? выключил консоль - вставил картридж - включил консоль. это тоже было неочевидно? вставка картриджа при работающей приставке не приводила к его запуску, но сброс решал проблему. И вообще, кинескоп посадишь
хочется замедлять вплоть до 1000Гцможно. а можно сделать троллейбус из буханки хлеба. только зойчем?
NEO SPECTRUMAN
26.06.2019, 22:37
только несы или всё?
несы и спектрумы
пишет cant open file
рассинхронизируется работа цп и видео.
PS: на самом деле сбивается работа ppu, а куча nes-овских игр работает внутри обработчика прерываний от него.
а можно допилть?
хотя не в приоритете
у тебя денди в детстве была? выключил консоль
у тебя другие эмуляторы нес были? :)
и даже если нужно запускать ресетом
обычно ресетов 2
hard reset
soft reset
а не 5...
можно. а можно сделать троллейбус из буханки хлеба. только зойчем?
это требуется для всяких портирований и эмуляций
когда нужно оценить работоспособность игры в условиях крайне других времянок и проседаний тактов
при той же частоте всех таймеров
(такой стрестест дельтатайминга софтвари для отбора рабочего)
- Звук AY всё так и не исправлен - все шумы имеют заваленные верха, будто их отфильтровали, особенно тарелки (делитель шума 0) звучат противоестественно, уже 4 месяца "прокрастинировано".
- Частоту AY/YM невозможно поменять - либо это AY с 1773400, либо YM с 1750000. А если нужно YM с 1773400 - обломитесь!
- Изменения флагов никак не обозначаются (в стиле обычных регистров - выделяемых красным, если изменились).
- C шифтами/контролами всё как и было, застревают, не детектятся :(. Сделать Left Ctrl/Shift = Caps shift, а Right Ctrl/Shift = Symbol Shift (как в unreal) - вообще невозможно.
Qt5 версия как раз и не работает, а Qt4 работает.
SAM style
27.06.2019, 11:06
Qt5 версия как раз и не работает, а Qt4 работаетСреда запуска / сообщение об ошибке? А то если "не работает", "сделай что-то - и заработает"
xpeccy
---------------------------
This application failed to start because it could not find or load the Qt platform plugin "windows"
in "".
Reinstalling the application may fix this problem.
Вообще, это наименьшее из того, что волнует. Версии Qt4 вполне хватает (кстати чем версия Qt5 может быть лучше то?). То есть это даже не проблема, а просто "для сведения".
SAM style
27.06.2019, 15:43
This application failed to start because it could not find or load the Qt platform plugin "windows"Какая винда и версия xpeccy. Потому как в виртуалке специально не менял PATH, чтобы собрать все dll-ы, и оно запускается
PS: Интересная хрень. В виртуалке стоит Win8.1, в которой я всё это собираю - там никаких дополнительных вопросов не задаётся, даже на новом пользователе, PATH специально оставлен нетронутым. И есть Win8.1, которая стоит на винте второй системой - там (внезапно) выскакивает вышеозначенная ошибка. Ватсафук?
NEO SPECTRUMAN
27.06.2019, 21:46
особенно тарелки (делитель шума 0) звучат противоестественно
как бы эмуляция звука вообще по дефолту отключена
что как бы намекает
что за эмуляцией звука идите в другое место
как бы эмуляция звука вообще по дефолту отключена
что как бы намекает
что за эмуляцией звука идите в другое место
Lolwut?
Молодой человек, Вы ничего не попутали? Ещё и с таким апломбом "как бы намекает". Ay/ym встроено и включено по дефолту (если у Вас не какой-то свой кастрированный дефолт). Так что обращение именно по адресу, и других мест нет. И обращение, к сведению, не к Вам.
Если бы звук ay/ym реализовывался внешним плагином, Ваша реплика имела бы смысл.
А винда win7-64. Но это неважно. Qt5 версия едва ли звучит лучше и имеет опции по частоте. Очевидно какой-то дллки не хватает. А platform/qwindows.dll от Qt4 - не подходит.
SAM style
28.06.2019, 19:45
Частоту AY/YM невозможно поменять - либо это AY с 1773400, либо YM с 1750000. А если нужно YM с 1773400 - обломитесь!Уже сделано. Жди сборку.
Изменения флагов никак не обозначаются (в стиле обычных регистров - выделяемых красным, если изменились)Раньше обозначалось, но потом я, как всегда, "всё переделал". Поля ввода были выведены в отдельный класс и сами себя подсвечивают по изменению, а флаги как были чекбоксами, так и остались.
все шумы имеют заваленные верха, будто их отфильтровалиПока придумалось то же, что было с тоном - при высокой частоте некоторые волны просто "проскакивают". Ещё почешу репу. Хотя, фильтр я тогда наложил на весь выходной звук - уже смиксованый тон с шумом
Qt5 версия как раз и не работаетВозможно, вчера решил проблему. Скоро проверим на подопытн... пользователях.
Dart Alver
28.06.2019, 20:02
SAM style, можно ещё один маленький просьба ? )
Сейчас после захвата курсора мыши, мулька привязывает его к центру экрана, а можно чтобы при возврате из захвата, курсор был не в центре экрана, а в центре окна xpeccy ?
SAM style
28.06.2019, 20:27
а можно чтобы при возврате из захвата, курсор был не в центре экрана, а в центре окна xpeccy ?
Можно, сделаю
SAM style
29.06.2019, 11:39
build 20190629
Попробуем запустить версию с qt5 под вынь так. Просто скопировать platforms/qwindows.dll не получилось, пришлось ещё внутренности менять.
В настройках можно подкрутить несущую частоту AY/YM. 0 означает "установить дефолтную"
При отпускании мыши курсор дислоцируется по центру окна
[ скачать (https://github.com/samstyle/Xpeccy/releases/tag/0.6.20190629) ]
Doronetty
29.06.2019, 14:57
О, запустилось! А то прежние версии никак не хотели...
Брейкпоинт, когда находишься не CPU адресации, ставится криво. Находишься в RAM:03 например, клацаешь Space, а в списке брейков добавляется CPU:C000 (хотя в этот момент включена другая страница). Визуально в дебаге не красится, но как бы ставится, и как бы убирается, но не работает как надо. Редактируешь вручную на Ram:03 - появляется красная строчка. Запускаешь, ждёшь точку, срабатывает, но курсор исполнения (PC) не видно, потому что ты наблюдаешь Ram:03 а не CPU. И что? Оно ведь все равно же должно рисоваться...
ЗЫ: За выбор частоты мерси. НО к сведению - дефолтово там 1744000 - такой частоты не бывает, вроде.. правильно 1734000.
SAM style
30.06.2019, 13:35
По брыкпоинтам - на ячейку памяти брык ставится с шифтом (Shift + Space). Но, думается, надо переделать, чтобы ставилось на адрес/ячейку исходя из режима.
Речь об окне дебага. Там на пробел визуально не реагирует если стоит не CPU режим, но во вкладке точек добавляется как CPU (и убирается при повторном нажатии на пробел). Только вручную редактируя можно сделать BP на fetch на RAM:03:0000 например.
SAM style
05.07.2019, 21:33
build 20190705
Установка точки останова в дизасме учитывает его режим. При CPU она ставится на адрес, при RAM/ROM - на ячейку
В режимах RAM/ROM дизасма показывается PC, если он попадает в показываемую страницу
При трейсе по F7/F8 в режиме RAM/ROM текущая страница меняется, следуя за PC
Случайно нашёл и пофиксил отображение номера страницы в дизасме в режиме CPU при включенном показе сегмента
[ скачать (https://github.com/samstyle/Xpeccy/releases/tag/0.6.20190705) ]
В Disasm в режиме RAM всегда отображается RAM:00:xxxx, какую бы страницу наверху не выбрал (содержимое, однако, корректно, и breakpoints тоже ставятся правильно).
в Dump режиме адрес без указания страницы. Возможно, это отображение и не нужно вообще, поскольку и так видно выше, что это за режим и что это за страница. Но зачем тогда такое количество пробелов справа от адреса? В Disasm, кстати, в общем-то, тоже такой широкий столбец с RAM:00/ROM:00 и не нужен по-идее.
То есть 4й пункт из whats new не похож на что-то осуществлённое.
SAM style
06.07.2019, 17:48
В Disasm в режиме RAM всегда отображается RAM:00:xxxx, какую бы страницу наверху не выбрал (содержимое, однако, корректно, и breakpoints тоже ставятся правильно).
в Dump режиме адрес без указания страницы. Возможно, это отображение и не нужно вообще, поскольку и так видно выше, что это за режим и что это за страница. Но зачем тогда такое количество пробелов справа от адреса? В Disasm, кстати, в общем-то, тоже такой широкий столбец с RAM:00/ROM:00 и не нужен по-идее.
То есть 4й пункт из whats new не похож на что-то осуществлённое.
В режиме CPU установи галку Show Segments - увидишь, почему столбец такой широкий.
А по номеру страницы - одно починил, другое сломал :)
В режиме CPU установи галку Show Segments - увидишь, почему столбец такой широкий.
Ага, увидел :v2_thumb:
А что там за Rutime mapping и Clear mapping?
Кстати, для отладки оверлейного кода (когда 2 и более набора процедур мапятся в одно место, в диапазон #4000-#bfff, не переключаемые страницы) удобно было бы если бы где-нибудь показывалось какой файл с метками загружен и сейчас отображается, а в идеале - иметь возможность грузить несколько файлов с метками, и переключать их.
SAM style
07.07.2019, 07:41
А что там за Rutime mapping и Clear mapping?Если runtime mapping включен, при исполнении память размечается - чтение с pc считается кодом, чтение не с pc - данными. данные отображаются как db XX. Но пока что сохранение и загрузка намапленного в разработке. Ну, а clear mapping сбрасывает всю разметку на дефолтную (везде код).
По меткам - поскриплю серым веществом, что-нибудь придумаю
Понял. Там еще опечатка - Rutime vs Runtime.
Еще в AY/YM обнаружилось, что частота тона не обновляется, если в этот момент происходит установка огибающей.
Вот снапшот тестового отрывка. Чередуются два сэмпла друг за другом. Можешь сравнить со звучанием в других эмуляторах - помимо фильтрованного шума (о чём уже говорилось) два snare проходят без удара, потом два раза с ударом, потом снова без удара - такое ощущение что низкая частота тона от предшествующего большого просто залазит на snare.
69460
SAM style
07.07.2019, 20:06
мне на слух бесполезно сравнивать. просто нужны ответы на вопросы:
- если изменение частоты тона происходит посередине волны: а) волна доходит со старым периодом, затем начинаются колебания с новым, или б) сразу обрубается текущая волна и начинается новая с новым периодом
- если происходит обновление частоты огибающей, вопрос тот же - когда именно задействуется новая
- если происходит обновление формы огибающей, все её счетчики тоже начинаются сначала?
первые 2 вопроса покажут, какой счетчик мне иметь - от ${период} до 0 или от 0 до ${период}
NEO SPECTRUMAN
07.07.2019, 20:33
б) сразу обрубается текущая волна и начинается новая с новым периодом
НЕТ!
иначе проблем было бы гораздо меньше..
если происходит обновление формы огибающей, все её счетчики тоже начинаются сначала?
ДА!
пушо огибающую как бы изначально предполагалось использовать как огибающую
если происходит обновление частоты огибающей, вопрос тот же - когда именно задействуется новая
НАУКЕ НЕИЗВЕСТНО
на каждом заборе расписано как Ак-к изучен и вдоль и поперек
и сколько ЛЕ он где занимает...
но нигде не написано елементарного...
и фиг найдешь дайшот от него...
я могу сгенерировать еще с десяток вопросов
на которые нигде нет ответов...
я прикупил YM для изучения
но когда я его куда нить подключу...
Black Cat / Era CG
08.07.2019, 03:43
Дык YM немного не AY :)
Немного странные вопросы.
Счётчик периода (фазы) огибающей меняется после изменения содержимого регистра 13 (форма огибающей). Сию наносекунду. При изменении регистров 11-12 период огибающей меняется мгновенно, фаза не меняется вообще, иначе бы скользящие огибающие были невозможны).
При изменении любого регистров 0-5 период счетчиков тона соответствующего канала меняется также сию наносекунду. Фаза сохраняется. Если длинный период меняется на короткий - дожидаться окончания этого периода НЕ ДОЛЖНА. Иначе бы делитель 4095 мог меняться очень редко. То есть если новый период КОРОЧЕ текущей фазы, то фаза сбрасывается. Идут счётчики от 0 до PERIOD-1, и каждый такт звукового проца их значения сравниваются с соответствующими PERIOD, если вдруг превышает - сброс на 0 (это как раз случай уменьшения длины периода в момент когда текущий период (фаза) уже достаточно долог).
То что период меняется при внесении и LSB и MSB, кстати, создаёт звуковые артифакты, когда из Бейсика пытаешься менять частоту, по отдельности впихивая LSB/MSB, и на мгновение получая левые тона, воспринимаемые как щелчки.
Ни изменение периода огибающей, ни сброс фазы огибающей никоим образом не влияет на генерацию тона под этой огибающей - они совершенно независимы.
NEO SPECTRUMAN
08.07.2019, 10:28
Дык YM немного не AY
ДАТЫШО!
SAM style
08.07.2019, 11:05
При изменении любого регистров 0-5 период счетчиков тона соответствующего канала меняется также сию наносекунду. Фаза сохраняется
Идут счётчики от 0 до PERIOD-1, и каждый такт звукового проца их значения сравниваются с соответствующими PERIOD, если вдруг превышает - сброс на 0
Во, ценная информация. Нажал бы "спасибо", но их упразднили.
Счётчик периода (фазы) огибающей меняется после изменения содержимого регистра 13 (форма огибающей)Вот ещё про это. Именно когда меняется? Или просто при записи в регистр?
Именно когда меняется? Или просто при записи в регистр?
При записи. Повторяющееся это значение или другое - не важно.
SAM style
12.07.2019, 17:12
build 20190712
Попробуем послушать так. С шумом ещё ничего не делал.
Счетчики AY/YM, NES APU и звукаря геймбоя переведены на инкремент до периода со сбросом на 0. Возможно улучшение звука. Но это не точно... Не 146%
Поправлено отображение номера страницы в ram/rom режиме дизасма
Исправлена опечатка в слове Runtime
[ скачать (https://github.com/samstyle/Xpeccy/releases/tag/0.6.20190712) ]
Black Cat / Era CG
12.07.2019, 17:14
Этот пользователь хотел поблагодарить SAM style за полезное сообщение.
Да, теперь тона инициализируются когда надо, вне зависимости от предыдущего делителя. Благодарю, SAM style :)
Black Cat / Era CG
13.07.2019, 00:15
О! Похоже, он теперь действительно играет!
NEO SPECTRUMAN
16.07.2019, 00:48
Qt5 версия вроде работает на ХРюХРю :v2_dizzy_roll:
Black Cat / Era CG
16.07.2019, 06:09
О. А расскажите зачем теперь две версии. В чем суть?
SAM style
16.07.2019, 07:49
О. А расскажите зачем теперь две версии. В чем суть?Любители древностей жаловались, что Qt5 версия на XP не шла. Но раз есть инфа, что оно там работает, пожалуй, снова заброшу Qt4
А в чем преимущество Qt5 перед Qt4 (в рамках сабжа)? Оно лучше может отсканировать alt/shift клавиши, или еще что-то? Если нет, то смысл?...
SAM style
16.07.2019, 20:21
А в чем преимущество Qt5 перед Qt4 (в рамках сабжа)? Оно лучше может отсканировать alt/shift клавиши, или еще что-то? Если нет, то смысл?...В удобствах, предоставляемых разработчику. Новые методы классов позволяют не городить трехэтажные геттеры. А вообще, тебя забыл спросить, что мне собирать. Не хочешь Qt5 - юзай Qt4.
NEO SPECTRUMAN
16.07.2019, 20:53
что оно там работает, пожалуй, снова заброшу Qt4
сильно прям так не забрасуй
а то вдруг всплывет что там что то из функционала еще не работает
чтоб можно было если что вернуться
А вообще, тебя забыл спросить, что мне собирать.
Теперь и вопрос задать нельзя?
Мне так-то пофигу какой юзать. Лишь бы всё что надо работало. В частности, очень волнует работоспособность определения нажатости LeftShift/RightShift (чего к сожалению пока нет). Поэтому и спросил.
Dart Alver
21.07.2019, 14:42
Конфигурация:
Pentagon 1024 SL , reset to SHADOW
ROM: pentagon.rom 0,(32),0
ROM: glukpen.rom 0,(16),32
ROM: trdos503.rom 0,(16),48
При reset default, а так же reset ROMpage2, может сброситься либо в меню глюка как и положено, либо в меню 128. Хотя в глюк сбрасывается чаще, но всё-же время от времени 128 тоже выскакивает когда не просят ))
Вопрос - это беда эмулятора или баг самого глюка ?
Lethargeek
28.07.2019, 14:25
20190712 - в окошке Dump при адресации CPU ставлю бряк на чтение $7XXX - получаю бряк на RAM:01:3XXX - wtf??
SAM style
28.07.2019, 21:05
20190712 - в окошке Dump при адресации CPU ставлю бряк на чтение $7XXX - получаю бряк на RAM:01:3XXX - wtf??
Действительно, есть такая фигня. Про дамп я как-то и подзабыл, когда дизасм переделывал...
ЗЫ: пока выдалось свободное время, поковырялся с u765. Выявились проблемы именно с двухсторонними дисками. Тот же sword of ianna, разбитый на 2 односторонних диска, грузится нормально.
SAM style
15.09.2019, 12:36
build 20190915
uPD765 начал читать 2-сторонние диски
ключ --disk со значениями 0..3 или A..D позволяет выбрать дисковод для загрузки образа
для MacOSX введен ключ --style. Если он указан - используется нативная тема (для ценителей), без него насильно устанавливается Fusion из Qt (чисто для того, чтобы не ломать руки о их марсианский нативный вид)
в отладчике во вкладке AY неверно показывались периоды - были перепутаны старший-младший байт
исправил установку точек останова в дампе на CPU, RAM и ROM
старый стал, уже не помню, что ещё там сломал или не дай бог починил
[ скачать (https://github.com/samstyle/Xpeccy/releases/tag/0.6.20190915) ]
Spectramine
15.09.2019, 21:02
SAM style, с Днём рожденья! Здоровья, благополучия, и долголетия.
Oleg N. Cher
15.09.2019, 22:25
Присоединяюсь! Знаю как тяжело сделать хороший эмулятор, поэтому и не делаю его сам. Здоровья и дальнейших успехов, SAM style!
Dart Alver
16.09.2019, 00:54
О-у, днюха это святое ! SAM style Присоединяюсь к поздравлениям. Успехов вам ! И чтоб Xpeccy стал ещё круче чем есть сейчас ))
Q-Master
16.09.2019, 23:16
С Днём Варенья! Больше эмуляторов, хороших и нужных!
SAM style
07.10.2019, 19:46
build 20191007
F9 в дизасме на строках с меткой не срабатывал правильно
директория последнего открытого файла сохраняется для каждого профиля отдельно. теперь корректно.
при смене картриджа в gbc/msx (msx спорно, nes забыл) машина сбрасывается
починен звук в gbc. ну как починен... определенно стало лучше, но всё равно что-то не то. возможно, с делителями частоты или свипом опять напортачил
в gbc кнопками 4-5-6-7 щелкаются каналы звука
подстроена ширина колонок адреса и данных в дизасме
[ скачать (https://github.com/samstyle/Xpeccy/releases/tag/0.6.20191007) ]
Lethargeek
21.10.2019, 21:54
в последней версии иногда при первой (сразу после запуска) загрузке zx-снапа начинает скрежетать звук
может вылечиться повторной перезагрузкой любого снапа... а может и не вылечиться
но если звук нормальный сразу, то вроде бы и дальше всегда нормальный
в прошлых версиях на такое не напарывался
SAM style
22.10.2019, 00:05
Что есмь "скрежетать"? Есть вероятность, что это AY портачит, если плеер уже играет музыку и снап сохранён в процессе. Чисто потому, что состояние AY в снапшот не пишется.
Lethargeek
22.10.2019, 03:56
ну, хрип и дребезг, будто бы динамик испорчен
любой звук, биперная музыка тоже
снапы разные
Похоже на проблему со звуковым буфером.
SAM style
22.10.2019, 14:04
Похоже на проблему со звуковым буфером.
Но я вывод звука уже давно не переделывал... и у себя такого поведения не замечаю.
Это наверняка связано с операционкой+драйверами+же лезом.
В своей шумогенерилке я постоянно ловил подобную хрень запуская на XP. Приходилось увеличивать буфер (и, соответственно, лаг). Совокупность обстоятельств, короче.
Lethargeek
22.10.2019, 17:55
я вывод звука уже давно не переделывал...
но сам же пишешь
починен звук в gbc. ну как починен...
может быть, и спек зацепило
сравнивай последнюю с предыдущими
SAM style
22.10.2019, 18:07
но сам же пишешь
Это формирование звука для GB. Снятие громкости с GB не изменилось, как и помещение этого сэмпла в буфер звука для вывода.
Хотя, наверное, все-таки нашёл одно изменение - то ли SDL1 то ли SDL2 вместо требуемого кол-ва сэмплов начал ставить число в 2 раза меньшее. Из-за этого я увеличил запрашиваемое число сэмплов. Попробую вернуть его обратно.
Lethargeek
03.11.2019, 15:51
еще заметил - звук так может вылечиться/испортиться после отключения fast режима (кнопкой insert)
- - - Добавлено - - -
а иногда - еще и после возврата из отладчика; короче, когда звук стартует после тишины заново
NEO SPECTRUMAN
03.11.2019, 19:00
еще заметил - звук так может вылечиться/испортиться после отключения fast режима (кнопкой insert)
до есть такое
- - - Добавлено - - -
бага с инсертом повторяется на
0.6.20191007_qt5.5.1_win32
0.6.20190712_Qt5.5.1_win32
0.6.20190625_qt4.7.4_win32
0.6.20190612_qt4.7.3_win32
0.6.20190531_qt4.7.3_win32
версии между не могу проверить
тк не работают на ХРю
0.6.20180121_win32 - бага не повторяется
0.6.20180106_win32 - но при выходе из fast секунду можно иногда наблюдать похожее явление
и звук иногда запинается (буфер играется по несколько раз на слух)
но на них прогресс качества звука за год весьма ощутимый :)
все конфиги\эмули были новые только распакованные из оригинального архива
во всех ручками каждый раз включал звук в настройках
SAM style
03.11.2019, 23:35
хмммм... попробую ещё раз пересмотреть заполнение/воспроизведение буфера. по идее во время паузы буфер всё равно заполняется последним полученным до паузы сэмплом (без смены амплитуды получается тишина) и воспроизводится так же как при запущенной эмуляции.
OrionExt
04.11.2019, 01:45
Чего там со звуком? Дык, я скажу пускай сначала починят свой ОС авторы мегамиллионных состояний.
У меня просьба в другом. Хочу эмулятор с окошками, и чтобы окошки можно настраивать, а еще хочу супер продвинутый дебагер, не хуже оpenMSX. А еще хочу плагины писать железа.
И под занавес, хочу мульти-эмулятор.
Это так сложно? Мне реальщику, точность не важна (это не возможно в эмуляторе). Точность я дожму на реале. Вот он эмулятор мечты! Просто тупо нет времени, железо и эмулятор окучивать.
NEO SPECTRUMAN
04.11.2019, 01:45
Вот кинул выход на вход
https://dropmefiles.com/0byTH
на записи видно что в буфер попадают данные из предыдущего буфера
https://jpegshare.net/images/31/bb/31bb29304fe021c996c39f2fb515513a.png
глюки на нижней
можно поймать понажимав инсерт
потом при открытии файла
бага тоже продолжает работать
3Ы
как по мне
качество звука (в сравнение с версиями двух летней давности)
уже позволяет включать его по дефолту
Может мне кажется, но в этой новой версии лаг звукового тракта увеличился. Когда в реале звук и картинка синхронной может быть, здесь где-то треть секунды проходит прежде чем звук появится.
В 7рке после Инсерта тоже пурген периодически случается. Просто этот Инсерт не использовал, поэтому даже не замечал (Xpeccy использую только для отладки, ибо дебагер топовый, ну а для тестирования - Unreal, ибо и звук и 50fps тайминги заметно лучше).
На предыдущей версии тоже. Регулярносьть этого странного эффекта - 880 сэмплов. То есть ровно 50Гц, фреймрейт. Каждый раз после выхода из инсерта это смещение другое (в основном 0). Но может быть чуть заметнее, может быть более крепко. Ещё заметил, что после окончания воспроизведения, когда в микшеры и громкости записывается 0, этот хвост вылазит.
Такое чувство, что в буфере воспроизведения наслаиваются и текущие, и предыдущие. И в основном это предыдущие, с небольшим вкраплением текущих. Какая-то дичь. Почему вообще такая дичь происходит? Я вообще не думаю что это связано с операционкой. Ибо на 7рке то же самое.
==добавлено==
Короче как я увидел схема такая:
4 фрейма буферизируются (это ~3520 сэмплов).
Каждые N сэмплов каждого фрейма (который 880 сэмплов) попадают в текущий буфер, но в какой-то момент буфер переключается, и они уже попадают в следующий. На следующей итерации происходит то же самое, и поэтому звук разрывается между двумя буферами с дискретностью в 1 фрейм.
1 фрейм - это как раз момент изменения значения портов. Получается, что при каких-то обстоятельствах вместе с впихиванием значения в регистры AY происходит и переключение буфера? Причём вначале фрейма буфер правильный. Или же наоборот - вначале фрейма буфер "не тот" и только с впихиванием регистров он переключается на правильный.
И, кстати, эта сбивка буфера происходит ДО даунсемплинга, потому что границы несмотря на резкие перескоки - сглажена.
И ещё проверил дигиталы. В них сбой каждые 2 фрейма (1760 сэмплов). Может дело в конкретном регистре, который в итоге служит причиной переключения буфера? Иначе оцифровки бы совсем иначе "рвались".
В любом случае, эта регулярная сбивка выглядит как арпеджированное эхо в 4 фрейма.
Еще одна мысль посетила, что возможно после инсерта таймер фреймов CPU оказывается рассинхронизированным с фреймами SDL (при том что звуковые и графические фреймы вообще не должны идти "независимо").
Я почти уверен, что все эти сложности и сбои с буферами происходят из-за того, что рендеринг звука происходит не как во всех остальных эмуляторах (с частотой дискретизации звуковухи * FIR window), а на основе частоты работы CPU, и уже потом это downsample'ится до 44100. И сделано это как-то "не так", скорее всего из-за Qt.
Неравномерность графики кстати адская. Хоть он показывает что там 50гц, но там jitter такой идёт, что и на 2 фрейма запросто может заморозиться и потом сразу 3 фрейма выдать меньше чем за кадр.
SAM style
04.11.2019, 10:17
Эмулируемые железяки на вывод звука вообще не влияют, они только сообщают о своей громкости, не надо их сюда приписывать.
Суть такова:
Есть кольцевой буфер размером 16кб. Во время эмуляции считается сэмулированное время, и через определенные промежутки с текущей железяки снимается громкость, несколько таких значений подряд усредняются и этот усредненный сэмпл ложится в буфер. Это всё происходит в потоке эмуляции. Без ускорения эмуляция происходит кусками, цель каждого куска - заполнить буфер на столько семплов, сколько хочет SDL. Это делает звук более гладким, но разрывает графику. Иначе будет наоборот, но ещё хуже.
Далее есть SDL-овский callback на воспроизведение звука, он работает в своём собственном потоке. Первые пара буферов пропускается, чтобы не пересекаться с заполнением буфера. Воспроизведение идёт с того же самого кольцевого буфера, но чуть позади заполнения. В идеале заполнение и воспроизведение идут с одной скоростью, не догоняют и не обгоняют друг друга. Но если вдруг воспроизведение догнало заполнение на расстояние одного буфера, то оно откатывается назад - тут происходит проигрывание прошлого буфера.
Есть два особых случая - эмуляция запаузена и эмуляция запущена на полной скорости (insert). В первом случае всё должно быть как описано выше, но т.к. устройства не эмулируются, то снимаемый сэмпл звука не меняется, это тишина. А во втором случае я, возможно, опять накриворучил...
> Первые пара буферов пропускается, чтобы не пересекаться с заполнением буфера. Воспроизведение идёт с того же самого кольцевого буфера, но чуть позади заполнения.
Говорили же старшие - никогда не заполняй воспроизводимый буфер. Воспроизводи только "задний". Если нужен такой большой запас - делай 3 буфера. В unreal-е три буфера. Каждый, правда, в 200 байт (и этого всегда хватает, и лага практически нет).
У тебя после "тишины" инсерта (или дебаггера) указатель воспроизведения оказывается не "перед" указателем заполнения. Иногда. И ненамного. Настолько ненамного, что они периодически пересекаются.
Lethargeek
04.11.2019, 13:57
Есть кольцевой буфер размером 16кб. Во время эмуляции считается сэмулированное время, и через определенные промежутки с текущей железяки снимается громкость, несколько таких значений подряд усредняются и этот усредненный сэмпл ложится в буфер. Это всё происходит в потоке эмуляции. Без ускорения эмуляция происходит кусками, цель каждого куска - заполнить буфер на столько семплов, сколько хочет SDL. Это делает звук более гладким, но разрывает графику. Иначе будет наоборот, но ещё хуже.
Далее есть SDL-овский callback на воспроизведение звука, он работает в своём собственном потоке. Первые пара буферов пропускается, чтобы не пересекаться с заполнением буфера. Воспроизведение идёт с того же самого кольцевого буфера, но чуть позади заполнения. В идеале заполнение и воспроизведение идут с одной скоростью, не догоняют и не обгоняют друг друга. Но если вдруг воспроизведение догнало заполнение на расстояние одного буфера, то оно откатывается назад - тут происходит проигрывание прошлого буфера.
зачем всё это при живом SDL_QueueAudio? с которым нужно следить только за длиной очереди
SAM style
04.11.2019, 14:25
зачем всё это при живом SDL_QueueAudio?
Потому что сначала там присутствовало ещё и alsa.
Да и SDL1 придётся бросать. Хотя, нафиг он мне сдался теперь...
OrionExt
07.11.2019, 20:53
Это конечно, прикольно как там кольцевой буфер глючить (делов, то). Ну, мне уже не интересно, писал эмуляторы в начале 2000г. И как там чего у каждой платформы (железа) сделано, не объять. Все это выходит за рамки Z80 (zx).
Давайте становиться первым в мире плагинным эмулятором. До этого были попытки у ZXMAK2, но там все уперлось в ZX.
SAM style
07.11.2019, 22:04
Давайте становиться первым в мире плагинным эмулятором. До этого были попытки у ZXMAK2, но там все уперлось в ZX
На самом деле это не так и сложно сделать в рамках xpeccy. Он и так почти состоит из обособленных блоков. Но сейчас на что-то такое времени и сил нет. Может, позже соберусь и сделаю
SAM style
03.12.2019, 15:39
Я завяз в комодуре - хотя бы до минимально рабочего состояния хочется довести. Понятно, что тут мне вряд ли ответят, но всё же:
как я понял, CIA тактируется на частоте CPU, примерно 1МГц с отклонениями. Значит, таймер в большинстве случаев отсчитывает такты CPU. Да? (не считаем счетчик внешнего сигнала и счетчик таймера B по переполнению таймера А)
Вделал загрузку самых простых тапок - raw tape image, пробую загрузить по LOAD - получаю дулю с покоцаными данными. Во время пилота irq генерирует только /flag, но как только начинаются данные, включается irq от таймера А - он там зачем? По дебагу вижу irq от мофонного сигнала с периодами ~380/520/680 тактов, и иногда в них вклинивается irq от таймера А.
И ещё вопрос - когда таймер стартует, в его счетчик всегда записывается значение инициализатора? Даже когда "стартует" уже запущенный таймер?
NEO SPECTRUMAN
03.12.2019, 22:42
Проще будет взять рабочий эмуль с дебагером и провести жменю тестов
ну или сорец
дето сами буржуины писали что циа это редкостное...
...в плане описания возможностей
SAM style
03.12.2019, 23:08
Насчет тестов. Сам написать не смогу, потому как в 6502 не силён. Если есть таковые в виде PRG (что-то типа снапшота) для разных компонентов коммодора - буду рад заиметь. Находил такие только в d64, но до эмуляции дисков мне ещё как до Луны ползком.
== added
Нашёл ещё один даташит на CIA. Перегрузка таймера работает не так, как я сначала думал:
- при переполнении таймер всегда инициализируется
- при записи в старший регистр таймера в остановленном состоянии он тоже инициализируется
- бит "force load" в контрольном регистре значит "инициализировать таймер прямо сейчас" - сначала я думал, этот бит значит "перегружать таймер при переполнении или оставлять его FFFF).
- при запуске таймера без бита "force load" он, соответственно, не инициализируется
Lethargeek
05.12.2019, 02:57
а звук-то починил? если да, то хоть бы выложил, без комода
SAM style
05.12.2019, 14:55
а звук-то починил? если да, то хоть бы выложил, без комода:rolleyes: на длинном пилоте коммодора, наконец, услышал западание на 1 кадр. Но пока не отлавливал.
PS:Таймер CIA переделал, но тапки загружаться от этого не стали. :(
SAM style
11.12.2019, 23:46
build 20191211
ZX: добавлен автостарт при записи на ленту и перехват адреса для быстрого формирования блока
MSX: исправлена ширина экрана для текстового режима
Emul: Alt+F работает так же, как NumLock и Insert
Filer: возможность сохранить ленту в wav (пока фиксировано 22050)
Filer: попутно починена загрузка wav
Filer: типы файлов теперь фильтруются для конкретной группы железяк. Так спектрумовский tap и комодоровский tap - да и вообще разные типы с одинаковыми расширениями - не будут путаться.
WTF: попутно копаюсь с комодуром. Он всё ещё не работает. Можно открыть prg и tap. Но всё равно ничего не работает. Можно выпросить у меня развертку экрана и посидеть в бейсике. Но не более.
[ скачать (https://github.com/samstyle/Xpeccy/releases/tag/0.6.20191211) ]
PS: макось перестала со мной дружить - cmake зависает и ничего не делает, ждал 15 минут - не дождался. Так что пока без dmg.
SAM style
16.12.2019, 22:43
Добавил dmg для предыдущего среза
SAM style
23.12.2019, 00:24
Пока ничего не работало, копался с магнитофоном, в результате:
build 20191222
Улучшилась турбо-загрузка при поиске файла по имени. Ранее процесс останавливался на первом не подходящем по длине блоке. Но пока что при достижении конца лента останавливается. Можно зациклить её на первый блок, но тогда LOAD "name" при отсутствующем таком файле уйдёт в бесконечный цикл (или нет?).
Иногда загрузка последнего блока на ленте выдавала tape loading error
Попутно выяснилось, что при переводе ленты на другие тайминги отвалились всякие спидлоки (проверял только их, за другие извращения не скажу). И вообще, если обнаружите неработающие tzx, просьба закидать меня ссылками на них.
Сохраняется позиция окна на экране
[ скачать (https://github.com/samstyle/Xpeccy/releases/tag/0.6.20191222) ]
Bedazzle
23.12.2019, 21:16
Попутно выяснилось, что при переводе ленты на другие тайминги отвалились всякие спидлоки (проверял только их, за другие извращения не скажу). И вообще, если обнаружите неработающие tzx, просьба закидать меня ссылками на них.
[ скачать (https://github.com/samstyle/Xpeccy/releases/tag/0.6.20191222) ]
Стоит дефолтный 48К. Начинают грузиться, потом где-то на половине слетают:
https://www.worldofspectrum.org/pub/sinclair/games/t/TechnicianTed-TheMegamix.tzx.zip
https://www.worldofspectrum.org/pub/sinclair/games/h/HeavyOnTheMagick.tzx.zip
Эти грузятся до конца, и не запускаются, бордер мигает
https://www.worldofspectrum.org/pub/sinclair/games/v/V.tzx.zip
https://www.worldofspectrum.org/pub/sinclair/games/h/HighwayEncounter.tzx.zip
Джо Блейд вроде запустился нормально
https://www.worldofspectrum.org/pub/sinclair/games/j/JoeBladeII.tzx.zip
Bedazzle
24.12.2019, 16:05
Грузится, глюки уже на картинке
https://www.worldofspectrum.org/pub/sinclair/games/d/DeathWake.tzx.zip
Грузится до конца, выпадает Tape loading error
https://www.worldofspectrum.org/pub/sinclair/games/d/DoubleDash.tzx.zip
SAM style
24.12.2019, 18:20
В джо блейде стандартные блоки #10, он от обычного tap отличается только контейнером.
HotM с первой стороны у меня загрузился, вторая доходит до конца и сбрасывается.
Черт, неужели микросекунд ленте не хватает для точности?
ЗЫ: На примере Death Wake выяснилось, что оно хочет волны для битов именно в порядке 1-0, а не просто 2 фронта в любую сторону (как стандартный загрузчик)
ЗЫЫ: HotM тоже стал загружаться с обеих сторон. Там был мелкий косяк. Спидлоки пока не поддаются.
Bedazzle
25.12.2019, 10:40
Грузится по счётчику до нуля, потом происходит переполнение, и щёлкает 999, 998 после чего замирает.
https://www.worldofspectrum.org/infoseekid.cgi?id=0000802
Версия 48к грузится в кашу
https://www.worldofspectrum.org/infoseekid.cgi?id=0004030
Грузится до конца, бордер продолжает мигать, не запускается.
https://www.worldofspectrum.org/infoseekid.cgi?id=0005224
Shadow Maker
25.12.2019, 23:44
Расскажите как пользоваться кемпстоном пожалуйста. inb4 ничего не читай - сразу вопросы пиши.
SAM style
26.12.2019, 01:08
Расскажите как пользоваться кемпстоном пожалуйста. inb4 ничего не читай - сразу вопросы пиши.
Сейчас на кемпстон мапится только реальный геймпад. В настройках на вкладке Input добавляешь свою карту (кнопка + в строке PadMap), и затем наполняешь её (кнопка + слева от таблицы) - какой кнопке или направлению стика на геймпаде что соотвествует - либо на pc-клавиатуру, либо на контакт кемпстона, либо на мышь. Autorepeat = 0 означает "без автоповтора"
SAM style
27.12.2019, 16:51
При разборе tzx со спидлоком заметил странную вещь. По идее блоки #24 и #25 должны идти парами - начало и конец цикла. Но, например в V (этом (https://www.worldofspectrum.org/infoseekid.cgi?id=0005532)) Пилот спидлока сделан из одного #24 и нескольких #25. И тут у меня вшшшштал вопрошшшш. Как с этим обращаться? Бейсик тут бы выдал NEXT without FOR
Shadow Maker
27.12.2019, 16:57
При разборе tzx со спидлоком заметил странную вещь. По идее блоки #24 и #25 должны идти парами - начало и конец цикла. Но, например в V (этом (https://www.worldofspectrum.org/infoseekid.cgi?id=0005532)) Пилот спидлока сделан из одного #24 и нескольких #25. И тут у меня вшшшштал вопрошшшш. Как с этим обращаться? Бейсик тут бы выдал NEXT without FOR
Ну как-то так обращаются https://github.com/libretro/fuse-libretro/blob/fa6ecc43754be89ec5a156877f04adb8f9cc7a09/libspectrum/tzx_read.c#L199
То есть по сути дополнительные игнорирует, я так понимаю, просто чтение пустоты. То есть это не совсем так работает, как ты предполагаешь :)
SAM style
27.12.2019, 17:16
То есть это не совсем так работает, как ты предполагаешь
Да не, я всё правильно предполагаю.
#24,<word:счетчик>
{блок 1}
{блок 2}
#25
{блок 3}
#25
блок1 и блок2 будут повторены (счетчик) число раз, второй #25 проигнорирован. Так и сделано. Значит, истина где-то рядом, но я её не вижу :|
ЗЫ: я ранее написал, что спидлоки "отвалились", но сиё не совсем так. Они и раньше не работали :D проверил на сборке от января
Spectramine
27.12.2019, 18:57
При разборе tzx со спидлоком заметил странную вещь. По идее блоки #24 и #25 должны идти парами - начало и конец цикла. Но, например в V (этом (https://www.worldofspectrum.org/infoseekid.cgi?id=0005532)) Пилот спидлока сделан из одного #24 и нескольких #25. И тут у меня вшшшштал вопрошшшш. Как с этим обращаться? Бейсик тут бы выдал NEXT without FOR
Они и идут парами, в файле по ссылке по крайней мере, проверь в Спектакуляторе в тейп-менеджере. Видимо у тебя где-то неправильно определяется начало следующего tzx-блока.
SAM style
27.12.2019, 19:06
Они и идут парами, в файле по ссылке по крайней мере, проверь в Спектакуляторе в тейп-менеджере. Видимо у тебя где-то неправильно определяется начало следующего tzx-блока.Мой косяк. В консоль выводил номера блоков и позицию в файле. Цикл разворачивался, и каждый раз выводились номера блоков внутри цикла и закрывающий #25 :D Чего-то я не посмотрел, что позиция назад откатывается. Короче, тут всё нормально.
Зато вспомнил ещё один вопрос - используемые биты в последнем байте. На ленте всё равно хранится весь последний байт, у которого неиспользуемые биты равны 0, либо записаны только используемые старшие биты, а остальное пропускается?
Spectramine
27.12.2019, 19:48
Зато вспомнил ещё один вопрос - используемые биты в последнем байте. На ленте всё равно хранится весь последний байт, у которого неиспользуемые биты равны 0, либо записаны только используемые старшие биты, а остальное пропускается?
На ленте записаны только старшие биты последнего байта, это же специально для случаев, когда количество битов в блоке на ленте не кратно 8.
SAM style
27.12.2019, 20:09
Спидлок разобрал. V грузится в режиме 128К.
Но при этом в Death Wake - там PowerLoad - съезжают биты, там по графику видно, что на пол-периода всё смещено, на границах разных битов захватывается какая-то дичь. Если я делаю волны строго в порядке hi-low, то Death Wake грузится, но спидлоки перестают работать. Чудесато.
http://samstyle.narod.ru/images/other/Screenshot_20191227_201111.jpg
ЗЫЫЫ: Ну всё, кажись вкурил. В Death Wake картинка и атрибуты сделаны разными блоками друг за другом без паузы. Пиксели #11, атрибуты #14. Мой загрузчик завершает блок #11 (считая его законченным блоком на ленте) и сбрасывает мофонный сигнал. Из-за этого первый сигнал #14 сливается с последним сигналом #11, получается хреновато.
ЗЫЫЫЫ: Прогнал все приложенные выше tzx. Только распутин для 48к не хочет пахать, хотя загружается, пикает на старте и сразу сбрасывается. Ну, и какими-то рандомными действиями с лентой умудрялся несколько раз закрашить эмуль...
SAM style
28.12.2019, 12:06
build 20191227
Исправил большинство косяков с tzx. Но ещё много надо доделать - jump/call/снапшоты/блоки для C64/итд
В дебуге появилась вкладка специально для ленты. Там показывается график надвигающегося сигнала.
Исправлено сохранение позиции окна, ранее оно съезжало вниз на высоту заголовка
[ скачать (https://github.com/samstyle/Xpeccy/releases/tag/0.6.20191227) ]
Ну, и с наступающим, что ли... Padoru Padoru
Shadow Maker
29.12.2019, 22:24
build 20191227
Исправил большинство косяков с tzx. Но ещё много надо доделать - jump/call/снапшоты/блоки для C64/итд
В дебуге появилась вкладка специально для ленты. Там показывается график надвигающегося сигнала.
Исправлено сохранение позиции окна, ранее оно съезжало вниз на высоту заголовка
[ скачать (https://github.com/samstyle/Xpeccy/releases/tag/0.6.20191227) ]
Ну, и с наступающим, что ли... Padoru Padoru
У меня тапки не грузятся без турбо :( Хотя они и раньше без фаст лоадинг тоже не грузились. Можно что-то сделать? И это нормально, что при включенной турбе в загрузке ускоряется сама игра?
И у меня почему-то даже если выбрать в меню 48k - в режиме zx evolution - он всё равно остается 128k (или точнее выше, я точно не проверял сколько именно памяти, просто 128k only игры прекрасно грузятся).
Lethargeek
29.12.2019, 23:46
между прочим, звук пока (тьфу-тьфу) у меня нормально пашет в последней версии :v2_thumb:
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot