С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
molodcov_alex, у меня не срослось с таким bfdname на Debian stretch. Линкер не ругается, но неправильно цепляются символы из объектника. На macOS еще дурнее, потому что там вообще нету стандартного objcopy. В результате для Darwin-а и десктопного Линукса объектник загрузчика генерится через xxd.
Обратил внимание на звук с хрипотцой. Оказалось, что сделать чего-то приличное кроссплатформенное так наивно вообще не получается: таймер и аудио драйвер могут иметь очень разное представление о своем периоде и, сколько я ни подкручивал, буфера разбегаются где-то быстрее, где-то медленнее. Зато я придумал посчитать размер аудио буфера для нужной частоты кадров и использовать аудио колбек вместо таймера. И вот это работает хорошо везде. Так и оставил. Если запущено с --nosound, должен работать таймер как раньше.
Больше игр нет
По поводу программирования палитры.
Посмотрел схему 06Ц. И понял, что доработка Tim0xи влияет и на "зоны непрограммируемости" палитры. Т.е. palprog.xls, который я составлял, и по которому Ramiros делал эмуляцию этого эффекта, полностью справедлив только при реализации доработки синхры.
ivagor, посмотри плз, как у тебя текущая версия будет вести себя с пропорциями.
Новинки:
--window для запуска в оконном режиме. Alt+Enter как обычно должна переключать туда-сюда (грр на SDL, фу).
--fdd подключает образ дискеты (можно 4 штуки)
--autostart
Больше игр нет
(ну и АЫ, конечно)
Больше игр нет
Такое дело, до основного компа (с монитором 16:9) я доберусь только к среде. И среда для сборки там. Но как только доберусь - сразу попробую.
x-code, удачно настроенный кросс-тулчейн наверное будет немного шустрее, чем сама малина, но затачивать его, если уже нету готового, морока по-моему не оправданная. На самой же малине все собирается предельно просто, никаких принципиальных отличий от десктопного линукса нет. Не уверен, что смогу перечислить требуемые зависимости. Их можно будет найти на ощупь. libboost1.62-dev, cmake, libsdl2-dev. libsdl2-image-dev нужен только для тестов, без него можно обойтись.
Может быть тонкость с SDL2. По-моему тот, что в репозиторях Raspbian, собран для wayland composer, для оконной системы. Как это работает, я просто не знаю, может быть хорошо. Свой SDL2 я собирал из сорцов примерно так (не ручаюсь за детали):
Это получается консольный полноэкранный такой SDL2.Код:../configure --host=armv7l-raspberry-linux-gnueabihf --disable-pulseaudio --disable-esd --disable-video-mir --disable-video-wayland --disable-video-x11 --disable-video-opengl
NB: последние фиксы, особенно для RPi3 подключенной к 50Гц монитору в sdtv_mode=18, в бранче vsync (vsync на не-50Гц мониторах пока не будет работать правильно). Если ivagor выгадает как-нибудь минутку и проверит его на своей конфигурации мониторов и скажет, что ок, я его смержу в мастер.
Больше игр нет
Записки на полях:
Raspberry Pi 3 умеет выдавать традиционную для компьютеров и консолей псевдо-прогрессивную развертку на своем композитном выходе. Режим включается добавлением 16 к параметру sdtv_mode в /boot/config.txt. Например, чтобы получить 50 Гц PAL 288p, нужно прописать.Код:sdtv_mode=18
Это почти работает, но распя продолжает считать, что у нее разрешение 720х576 и это выглядит нечитабельно. В консоли ее можно убедить в том, что строк 288 командойПосле чего картинка на мониторе становится пиксель к пикселю и по принципу формирования примерно соответствующей компьютерам 80-х.Код:fbset -yres 288
У меня, увы, не получается убедить SDL в том, что разрешение экрана выставленное таким образом надо уважать. Он упорно продолжает сообщать, что экран 720х576. При этом реальное разрешение с которым он работает оказывается даже не 288 по вертикали, а 270. Если создавать текстуру 288 строк, как, казалось бы, предписано, получается совершенно непригодное масштабирование. Я не очень понимаю, как именно решить этот вопрос цивилизованным путем, пока просто захачено в бранче vsync.
Но зато полученная с этими хаками картинка на подключенном к распе ЭЛТ мониторе (хотелось бы попробовать еще ЭЛТ телевизор, но у меня нету) получается совершенно настоящая. Нету мельтешни, как и на реале, все идеально плавно, мост в Рива Рейде накатывает гладко. На LCD мониторе — увы. У меня есть один монитор, который имеет композитный вход и в принципе приемлемо цепляет 50 Гц сигнал, но он почему-то не в состоянии показывать его стабильно. То все плавно как на ЭЛТ, то вдруг начинается дерганье, то вообще как будто кадровую срывает.
Больше игр нет
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)