samstyle / Xpeccy

Multiplatform emulator of retro computers
MIT License
73 stars 15 forks source link

Больше дефлотных romset'ов #9

Closed RandomAmbersky closed 7 years ago

RandomAmbersky commented 7 years ago

Может быть имеет смысл под каждую конфигурацию уже в дистрибутиве сделать дефолтный romset как это сделано в Fuse? А то что-то тыкаюсь-тыкаюсь, кроме 48к ничего толком не удается подключить... Не обязательно включать сами ROM, только настройки для них 2017-04-27 14 35 49

samstyle commented 7 years ago

Для каждой машины важны два с половиной пункта - нужный ромсет, нужное железо и возможно включеный бета-диск (некоторые машины его таки требуют, без него зависают). А всё остальное - по желанию. Лучше скажи, что ты делаешь, а я скажу, что делаешь не так и как надо. Fuse таки пользует libspectrum, в котором все ромы и находятся.

RandomAmbersky commented 7 years ago

Например интересует эмуляция Evo Baseconf, Profi и Pentagon - я понятия не имею какие ромы из ./config/samstyle/xpeccy/rom (их взял из unreal speccy кажется ) куда пихать и с каким смещением... Вот для тех кто не знает не помешала бы инструкция в самом дистрибе или на сайте ( например тут же, на github.io сделать сайт поддержки ) p.s юзаю под MacOS если это имеет значение

samstyle commented 7 years ago

Когда руки дойдут, сделаю вики. Просто ромов недостаточно - надо сделать ромсет. В настойках на вкладке Machine в сроке Romset есть 3 кнопки - (!) редактировать текущий ромсет (+) создать новый (x) удалить текущий. Создаёшь новый, обзываешь как хочешь, ставишь галку Single file, в списке выбираешь *.rom, который лежит в ~/.config/samstyle/xpeccy/roms/. OK, всё, ромсет сделан. Опционально в него можно добавить rom для general sound и шрифт знакогенератора АТМ2 (не помню, нужен ли он в baseconf). Теперь этот ромсет можно ставить как содержимое ПЗУ конкретной модели. Идеалогия эмулятора - это набор кубиков. А что из этих кубиков строить - решает пользователь. screenshot_20170427_155350

RandomAmbersky commented 7 years ago

Ура, заработало! Спасибо!!! :) Проблема в том что был не подключен Beta-Disk :) Не, все же нужны какие-нибудь дефолтные наборы настроек чтобы люди не мучались черными экранами ;)

2017-04-27 16 18 31

samstyle commented 7 years ago

Кстати, как там в MacOSX со стабильностью и звуком эмуля? Мне на ноут так и не удалось поставить ничего выше iDeneb 10.5, но это уже такая древность...

RandomAmbersky commented 7 years ago

У меня 10.9.5, в основном нормально. Шикарно что драг-дроп trd файлов поддерживает!

В Evo baseconf при включении звука на переключение клавиш в фоне появляется звук - не знаю особенность ли это Evo или эмуля. При закрытии окошка эмулятора иногда выдает отладочное окошко с ошибкой, что-то там про pthread, audio и SDL...

RandomAmbersky commented 7 years ago

И фулскрин как-то неочень.. 2017-04-27 18 26 12

samstyle commented 7 years ago

:( какое разрешение экрана? Вангую, что ширина не кратна 4. QImage таких не любит. Уже долго с этим борюсь

RandomAmbersky commented 7 years ago

11-дюймовый (1366 x 768)

RandomAmbersky commented 7 years ago

Может при фулскрине рисовать пустой QWidget c QImage кратным 4-м посередине? :)

Сам бы покопался, но у меня к сожалению Qt-сорцы под MacOS компилятся только через QtCreator, с CMake не получилось подружиться. pro-файл нужен..

samstyle commented 7 years ago

Нет, там немного другое. По размерам QImage может быть любым, но строки данных у него выравниваются по границе 4 байт. А я своим кривым кодом лезу в эти данные и ложу цвета напрямую - так быстрее.

RandomAmbersky commented 7 years ago

Ага, чтобы кемпстон-мыша заработала надо щелкнуть в окошке эмулятора третьей кнопкой.. Но на тачпаде мака нет третьей кнопки :(

Да, еще - это специально так эмулируется что 7й бит указанных на рисунке портов становится то 1 то 0? 2017-04-27 21 04 22

samstyle commented 7 years ago

Хм... со средней кнопкой, конечно, проблема... Этот бит в xxFE - состояние магнитофонного входа. Может, это только у меня такой случай был - но мой старый 128К постоянно "мигал" этим битом, когда лента была остановлена. Если это где-то критично, я уберу. ЗЫ: Кемпстон-джойстик пока никак не эмулируется. Была попытка мапить на него геймпад, но она пока отложена в ящик

RandomAmbersky commented 7 years ago

Вроде бит ни на что не влияет :) Иногда эмуль сам по себе вылетает, закономерность пока определить не удается.

samstyle commented 7 years ago

Ругается всегда на dispatch event - наводит на мысль, что виновата синхронизация между потоками. Сам пока теряюсь в догадках.

RandomAmbersky commented 7 years ago

Найс! Фулскрин в версии 20170428 работает корректно! :)

RandomAmbersky commented 7 years ago

В фулскрине с Noflic мерцает все так же как и без него, в оконном режиме Noflic шикарен!!! Наконец-то можно спокойно читать чего там пишут в стартовом меню игры Monstland без мерцания. Если нужно могу видео записать.

upd: так же мерцает в режимах увеличения x3 и x4

p.s. может это все в новом issue писать? один глюк - один issue ? :)

samstyle commented 7 years ago

Странно. Потому что noflic смешивает картинки ещё до увеличения до x2/x3/фуллскрина/...

RandomAmbersky commented 7 years ago

Вот видео, изначально x2 потом я переключаю на x3, x4 и обратно на x2 через нажатие option+1,2,3,4

https://yadi.sk/i/sOksjkxT3HSxHm

samstyle commented 7 years ago

Попробуй без звука (установить в NULL). В виртуалке со звуком совсем беда - он сильно тормозит. Без звука подмигивания начинаются только в x4/fullscreen. И ещё - если со звуком, то в терминал должно выводиться "SDL audio device opening...success" и 2 числа - какие там числа? Если без звука будет лучше - хоть будет ясно, где проблема.

RandomAmbersky commented 7 years ago

Без звука тоже мерцает.. Grayscale при увеличении до x3-x4 на доли секунды время от времени выдает цвет местами, это не критично, но вдруг поможет для выявления места сбоя.

SDL audio device opening...success: 44100 882

samstyle commented 7 years ago

По ходу, MacOSX обновляет окно вообще в другие моменты, чем Linux/Windows. Попробую запретить Qt обновлять окно самому и дёргать его только когда мне это надо.

samstyle commented 7 years ago

Выяснилось - это типа недо-фреймскип. Новый кадр подсовывается, пока старый ещё не обработался. И если с цветом в сером ещё можно всё быстро решить, но с нофликом ещё надо подумать...

RandomAmbersky commented 7 years ago

Спасибо! Очень хотелось бы работающий нофлик в фулскрине, это единственный эмуль в котором отвратительно не моргают картинки при эмуляции хотя бы в окне :)

samstyle commented 7 years ago

Попробуй эту сборку на предмет нофлика - https://yadi.sk/d/AxZV-zpR3HVqCo

RandomAmbersky commented 7 years ago

Нофлик пропал, но при фулскрине звук в меню Monstrland при переходе в пунктах меню как-то с натугой идет. На предыдущей версии ноуфлик есть, но звук в норме.

upd: В новоей версии звук начинает тормозить уже при x3, независимо от Noflic

samstyle commented 7 years ago

А какое у тебя железо? Такое впечатление, что просто не вытягивает, и остаётся жертвовать или нофликом или звуком.

RandomAmbersky commented 7 years ago

:( 2017-05-01 13 04 10

samstyle commented 7 years ago

Хм...

cat /proc/cpuinfo model name : Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz lspci 01:00.0 VGA compatible controller: NVIDIA Corporation GM107 [GeForce GTX 750 Ti] (rev a2) cat /proc/meminfo MemTotal: 12289696 kB

и вот с этим у меня в Debian ни разу не тормозит. Возможно, ещё и дрова на видео играют роль, возможно ещё чего...

RandomAmbersky commented 7 years ago

Да, но в новой версии звук тормозит на x3 и более независимо от вкл/выкл нофлик... Upd: видяха 2017-05-01 15 06 56

samstyle commented 7 years ago

В прошлой версии была синхронизация по звуку - сколько байт устройство запросит, на столько и сэмулируем. но при этом возникала проблема с изображением. В последней версии эмуляция запускается по таймеру 20мс и за раз эмулирует столько, чтобы заполнить буфер на 1/50 сек. Но при этом звук выводится асинхронно, что вызывает его тормоза, если эмуляция не поспевает. Такие дела