Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Поднимайтесь как можно выше по дереву, собирайте цветы и дарите их близким.
Вас ждут уникальные награды и 22 выгодных промокода!

Пикаджамп

Аркады, Казуальные, На ловкость

Играть

Топ прошлой недели

  • solenakrivetka solenakrivetka 7 постов
  • Animalrescueed Animalrescueed 53 поста
  • ia.panorama ia.panorama 12 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая «Подписаться», я даю согласие на обработку данных и условия почтовых рассылок.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
0 просмотренных постов скрыто
134
monobogdan
monobogdan
Посты о ремонте и моддинге ретрогаджетов.
TECHNO BROTHER

Мало кто знает, но терминалы сбора данных - очень крутые штучки!⁠⁠

2 месяца назад

Под капотом у них скрывается неплохое для своего сегмента железо, довольно бодрые аккумуляторы, куча интерфейсов и действительно бронированный корпус. На фото - Pidion BIP-5000, топовый ТСД 2009 года, на который можно было установить аж три системы: Windows Mobile, Android 1.5 и 2.1, а также Qtopia. На выходе он стоил около 1.000 евро, а пару лет назад я его купил за 500 рублей - и нисколько не жалею о покупке!

Внутри скрывается чипсет Marvell PXA320, работающий на частоте 806МГц, дисплей с VGA-разрешением, 256МБ ОЗУ и 512МБ ПЗУ, а также радиомодуль Cinterion PHS8. Гаджет умеет работать сразу с двумя симками - что редкость для Windows Mobile. На нём я чаще всего играю в эксклюзивные для Windows Mobile игры, а также в игры для платформы Mophun - большой и качественный дисплей, а также шустрый процессор к этому располагают. Я всё ещё мечтаю намутить сюда клиент Telegram и походить с таким гаджетом, как со вторым.

Перейти к видео

Он шёл в подарок с ТСД Motorola, который чуточку старше, но тоже не менее крут. И он тоже умеет звонить!

Ну а поскольку я большой фанат терминалов и гаджетов на Windows Mobile/Windows CE в целом, я портировал на один из терминалов эмулятор NES, а также Wolfenstein. Довольно интересный и занимательный опыт!

Такой вот короткопост об одном из моих любимых классов устройств - ТСД.
Всего голосов:
Показать полностью 3 1 1
[моё] Опрос Покупка Смартфон Гаджеты Телефон Тсд Промышленное оборудование Сканер Windows Гик Видео Короткие видео Длиннопост
27
41
monobogdan
monobogdan
Посты о ремонте и моддинге ретрогаджетов.
TECHNO BROTHER

Розыгрыш двух промышленных терминалов из недавней статьи и видоса!⁠⁠

1 год назад

Для тех, кто пока не в теме, я писал статью и выпустил видео о том, как я портировал эмулятор Денди и Wolfenstein3D на терминал сбора данных M3 Green, который купил всего за 500 рублей. Ещё в статье я обещал розыгрыш двух ТСДшек - и вы, пикабушники, если вам интересны необычные девайсы можете принять участие в розыгрыше! Условия простые: быть резидентом РФ (доставка с меня, я не смогу отправить в другие страны т.к СДЭК три шкуры дерет, а я не очень богатый), подписаться на мой YouTube-канал (альтернатива - RuTube) и Telegram-канал (не забыв прожать кнопку участия в конкурсе) и участвовать не просто из желания получить что-то на халяву, а если вам действительно интересно поколупать девайс :) На момент запила поста всего 232 участника - шансы весьма высокие!

Розыгрыш двух промышленных терминалов из недавней статьи и видоса!

Железо девайса просто отличное по меркам КПК:

1. Процессор ARMv5 PXA272 на частоте 624МГц.

2. 128 мегабайт SDRAM-памяти.

3. Большой дисплей с разрешением 240x320 и резистивным тачскрином

4. Wi-Fi, Bluetooth, аппаратный USB-хост!

5. Аппаратная клавиатура!

Девайсы полностью рабочие. Полный комплект - и док-станция с кабелем, и блок питания, и диск, и родная коробка!

Участвуете?
Всего голосов:
Показать полностью 1 1
[моё] Опрос Покупка Гаджеты Смартфон Тсд Windows Wince Розыгрыш Пикабу
5
224
monobogdan
monobogdan
Посты о ремонте и моддинге ретрогаджетов.
TECHNO BROTHER

Как я Wolfenstein и эмулятор Денди на промышленный терминал портировал⁠⁠

1 год назад

Дисклеймер: употребляемые слова вроде «портируем», «хакаем» и «реверсим» совсем не значат, что статья предназначена исключительно для гиков! Я стараюсь писать так, чтобы было понятно и интересно абсолютно всем!

Наверняка многие мои читатели так или иначе слышали новости о том, что известные игры были портированы на самые разные платформы. В какой-то момент к такой же идее пришёл и я, однако мне хотелось портировать игры и эмуляторы на довольно диковинные промышленные девайсы, которые работают на платформе Windows CE. Как я портировал Wolfenstein и эмулятор NES на бравого, но списанного в утиль трудягу склада и зачем? Читайте в сегодняшней подробнейшей статье!

❯ Как, почему и зачем?

Мои давние читатели знают, что я прожженный энтузиаст, когда дело доходит до оживления самых разных ретро-девайсов. Помимо стандартных x86-компьютеров, многие из которых до сих пор в целом могут выполнять полезные задачи, я очень сильно интересуюсь ЭВМ и на довольно необычных архитектурах: ранние ARM-чипсеты, MIPS и, конечно же, SH3.

Моя цель заключается в том, чтобы как можно меньше девайсов попадали в переработку чермета, если им можно найти интересное применение и в наше время. Ведь многие устройста, которые по началу кажутся бесполезными на манер промышленных ТСД или, например, кассовых аппаратов, на самом деле таковыми не являются и им можно находить самое разное крутейшее применение. Однако сценарий накатывания Putty и превращения компактной машинки в портативный терминал, или превращения девайса в часы с погодой не такой интересный, как превращение всего, у чего есть процессоры в игровые консоли!

Потребительское общество уже забыло, что первые TV-боксы на Android'е буквально за час превращаются в игровые консоли путем накатывания эмуляторов или RetroArch, на смартфонах можно хостить сайты также легко, как и на одноплатном компьютере, а на PlayStation... можно накатить Linux. Но не всегда всё даётся так легко: иногда платформа настолько узкоспециализирована, что под неё нет ни эмуляторов, ни портов каких-то игр и поэтому нужно брать волю в свой кулак, о чём я вам и расскажу в сегодняшнем материале!

Прямо сейчас, мой дорогой читатель, рядом со мной лежит ничто иное, как списанный терминал для сбора данных M3 Green. По началу кажется, что ТСД — очень узконаправленное устройство и ему место на складе/в «магните», однако, если погрузиться в детали, выясняется что это очень нехилый портативный компьютер:

  • Процессор: ARMv5 Intel PXA272 на частоте 624МГц + Wireless MMX. Однако у процессора есть и слабое место: нет аппаратного деления (особенность ISA ARM) и нет FPU (сопроцессора для чисел с плавающей точкой).

  • ОЗУ: 128 мегабайт SDRAM-памяти. Кажется немного? Не забывайте, что Windows CE потребляет всего около 8-16 мегабайт памяти для своих нужд. По итогу у нас остаётся целых 100 мегабайт для себя. К примеру, современные версии Windows требуют ~1Гб ОЗУ как минимум без учётов кэша для I/O-операций!

  • Дисплей: встроенная 3-дюймовая матрица с разрешением 240x320. Кажется немного... но для КПК норма! Есть, конечно, и резистивный тачскрин.

  • Коммуникации: одна из самых сильных сторон такого девайса — наличие аппаратного USB-хоста (в док-станции), возможности синхронизации с ПК и конечно же Wi-Fi!

  • Клавиатура: ну, тут все очевидно :) Даже F-кнопки есть!

Короче, исходные данные простые офигенные! Учитывая, что девайс бронированный, его можно считать достаточно портативным устройством, который можно использовать и в несколько более экстремальных условиях.

❯ Эмулятор NES

Начинаем с эмулятора всем известной «Денди». Сейчас есть множество самых разных эмуляторов с открытым исходным кодом, бери любой и портируй. Из тех, что портируются проще всего, можно выделить InfoNES, который уже портирован на Windows CE, однако на многих современных машинках работает нестабильно и его нужно адаптировать под конкретный девайс. Затем я чуть покумекал и вспомнил, что видел в сэмплах к SDK порт довольно шустрого эмулятора NES на один из китайских телефонов, о которых я рассказывал в одной из своих статей. Единственный нюанс — в нём нет эмуляции звука, зато и работает шустро. Корни эмулятора мне выяснить не удалось, нет ни копирайтов, ничего. Не исключено, что этот эмулятор лёг в основу многих ранних китайских игровых консолей.

Изначально эмулятор был разработан под платформу MRP, что только упрощало задачу. По сути, все приложения для китайских телефонов — это 4 функции: инициализация, отрисовка, обработка событий и выход. Конечно есть ещё обработчики событий, например по таймеру, но в целом концепция предельно ясна. Эмулятор был прямо-таки «захардкожен» на конкретные пути к файлу рома (образу картриджа):

Всё усложнялось тем, что большинство переменных были глобальные и ни о каком едином стейте для эмулятора и речи не было, поэтому код нужно было рефакторить. Но сначала нам хоть-бы что-то запустить! Для этого минимально переписываем логику загрузки ROM'ов на stdio с учётом того, что в WinCE корень файловой системы начинается с \ (не '/', как в Unix):

Теперь эмулятор загружает ром, однако у нас всё ещё нет ни вывода на экран, ни обработки ввода. Состояние кнопок геймпада представлено глобальной переменной KEY, где в оригинале большой свич просто сопоставляет код клавиши телефона к коду аппаратной кнопки геймпада NES:

Этот участок мы переписывем таким образом, чтобы сопоставить каждой аппаратной кнопке устройства виртуальный код клавиши в «винде» и затем иметь возможность переназначить их на любые другие. Для WinCE навигаторов, где кнопок почти нет, актуально реализовать и ввод с тачскрина (в репозитории его на данный момент нет):

Теперь у нас есть обработка ввода... но всё ещё ничего нет на экране! И вот здесь начинается самое интересное. Дело в том, что как такового быстрого графического API в Windows CE нет. В Windows Mobile был GX, предназначенный для дисплеев 240x320, который предоставлял прямой доступ к фреймбуферу устройства, а также специальный вызов ExtScape, который позволял сделать тоже самое. Но ни тот, ни другой способ не поддерживаются на современных WinCE устройствах. Microsoft предлагала использовать DirectDraw, знакомый читателям по играм из 90-х, однако он не был реализован почти нигде, кроме КПК. Поэтому остаётся лишь 2D-подсистема GDI, которой рисуется окна и почти вся графика и в обычной Windows — медленный, тормозной способ который не позволяет выжать всю производительность с нашего девайса.

Начинаем с создания окна. Здесь всё стандартно:

hwnd = CreateWindowW(L"static", L"Emulator", WS_VISIBLE | WS_SYSMENU, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, 0, 0, 0, 0);
dc = GetDC(hwnd);

SHFullScreen(hwnd, SHFS_HIDETASKBAR | SHFS_HIDESTARTICON | SHFS_HIDESIPBUTTON);

В эмуляторе, содержимое дисплея представлено переменной LCDBUF, которая содержит в себе RGB565-картинку разрешением 240x240 (чуточку усеченный). Поскольку устройства на Windows CE обычно тоже используют 16-битный цвет, то достаточно было бы просто скопировать их прямо в фреймбуфер дисплея по сканлайнам и получить изображение но... из-за GDI, система принимает только формат RGB5551, который затем снова конвертируется в RGB565 из-за чего получаем лаги на слабых устройствах.

Сначала заполняем структуру BITMAPINFO, описывающую формат изображения «выхлопа» эмулятора:

BITMAPINFO info;
memset(&info, 0, sizeof(info));
info.bmiHeader.biBitCount = 16;
info.bmiHeader.biPlanes = 1;
info.bmiHeader.biHeight = -240;
info.bmiHeader.biWidth = 240;
info.bmiHeader.biCompression = BI_RGB;
info.bmiHeader.biSize = sizeof(info);

Затем в главном цикле, пока открыто окно, вызываем обработку ввода, следующего цикла NES и наконец, выводим всё на дисплей с помощью SetDIBitsToDevice:

while(IsWindow(hwnd))
{
ProcessInput();

NEStimer(2);
SetDIBitsToDevice(dc, 0, 0, info.bmiHeader.biWidth, - info.bmiHeader.biHeight, 0, 0, 0, -info.bmiHeader.biHeight, LCDBUF, &info, DIB_RGB_COLORS);
}

Результат: эмулятор вполне неплохо работает на шустрых устройствах с процессорами 400+ МГц, причем как на 240x320, так и на 480x800. Осталось лишь добавить «мордашку»: окно выбора рома, диалог ремаппинга кнопок, читов (редактирование RAM-консоли) и управления игровым временем. Также очень желательно реализовать адекватный таймер с ограничением в 60 FPS, но... ни один из опробываемых мной девайсов не смог сэмулировать NES в FullSpeed без пропуска кадров. Но как сам факт, Proof of Concept, эмулятор NES у нас уже есть!

Перейти к видео

В случае с другими эмуляторами, обычно приходится отвязывать ещё и Platform-dependent часть с «мордой», интерфейсом, конфигами и иными плюшками. Для портирования выгодно выделяются те эмуляторы, где ядро чётко разграничено с «мордой» и где это самое ядро можно вытащить без каких-либо проблем!

❯ Wolfenstein 3D

Дальше я решил портировать небезызвестную игру Wolfenstein 3D. Среди «больших» игр с открытым исходным кодом, она относительно нетребовательная (необходимо ~640Кб ОЗУ, то есть теоретически её можно портировать и на жирные микроконтроллеры). В данном случае, брать оригинальный код нет необходимости (в нём есть вставки на x86-ассемблере и совершенно ненужные в нашем случае драйвера для звуковых карт, обработчики аппаратного таймера и прочие особенности DOS-игр), можно начать с современного порта WolfSDL, который использует в качестве библиотеки для вывода графики и обработки ввода библиотеку SDL 1.2.

SDL сама по себе отлично абстрагирует особенности платформы и не особо сложно портируется, а под WinCE порт уже был — причем учитывающий особенности платформы с графикой и кнопками. Собирается SDL легко, с этим проблем не возникло — идём в папку VisualCE, и собираем в VS2005 библиотеку.

Далее начинается самое интересное — портирование самой игры! Сначала игра отказывалась собиратся из-за модуля звука, ведь порта SDL_mixer (плагин к SDL, выполняющий роль софтварного микшера звука) под Windows CE нет. Роль микшера может выполнять и сама Windows с помощью модуля waveout, однако на время портированию звук можно и «выкинуть» :) Для этого просто убираем все вызовы функций SDL_mixer, ни к каким структурам и возвращаемым значениям библиотеки, звуковая подсистема игры не привязана.

Далее игра отказывалась собираться из-за того, что Wolf4SDL использовал POSIX-вызовы типа stat и open/read/write/close. Сами вызовы легко оборачиваются в stdio-аналоги, а stat использовался лишь для проверки существования файла (используется в механизме обнаружения эпизодов игры):

int read(FILE* f, void* buf, int len)
{
return fread(buf, len, 1, f);
}

После этого, встал вопрос с обработкой ввода от игры. Игра полагалась на встроенный механизм биндинга кнопок в настройках, однако в случае устройств на WinCE не всегда-то даже DPAD есть, не говоря уже о целой клавиатуре. Поэтому пришлось мудрить и хардкодить часть кнопок для конкретного устройства:

После фикса ещё некоторых мелких ошибок, устранения особенностей путей в WinCE (нет понятия «текущая директория»), игра наконец-то запустилась на эмуляторе!

А с правкой кнопок и на самом ТСД!

❯ Заключение

Вот такой интересный материал у нас сегодня с вами получился! Исходный код можно найти на моём гитхабе. Также проекты можно портировать и на GPS-навигаторы на Windows CE, путём добавления виртуальной клавиатуры (однако мультитача нет и не будет. Решением может стать подключение Bluetooth HID-клавиатуы), привнеся новую жизнь ещё и им!

Друзья! Если вас заинтересовал девайс из статьи, то купить его можно здесь за 500 рублей, с полным комплектом (коробочка, диск, блок питания, док-станция и сам девайс, иногда попадаются ревизии с GSM). Это списанные девайсы, но полностью рабочие, даже аккумуляторы отлично держат заряд. Просто у человека их больше 50 штук и он захотел проспонсировать розыгрыш, мало ли кто-то из читателей тоже заинтересуется таким интересным девайсом, как я. Кроме того, два таких красавца мы с вами разыграем в ближайшее время.

Также у меня есть свой личный Telegram-канал "Клуб фанатов балдежа", куда я публикую посты о программировании, реверс-инжиниринге и просто показываю бэкстейдж статей вперемешку с небольшим щитпостом. Если интересно - подписывайтесь, там же будут опубликованы и условия конкурса. Конкурс начнём проводить как только выйдет видео-версия данной статьи. Ну а пока можете посмотреть мой недавний видос об оживлении ноутбука на 386'ом:

Кстати, если у кого-то из читателей есть ненужные устройства (в том числе с косяками) или дешевые китайские подделки на айфоны/айпады/макбуки и другие брендовые девайсы (любые) будучи нерабочими, тормозящими, или окирпиченными и вам не хотелось бы выкидывать их на свалку, а наоборот, отдать их в хорошие руки и увидеть про них статью — пишите мне в Telegram или в комментах! Готов в том числе и купить их. Особенно ищу донора дисплея на китайскую реплику iPhone 11 Pro Max: мой ударник, контроллер дисплея калится и изображения нет :(

Пример девайсов

Пример девайсов

Если есть желание задонатить денюжкой, можно сделать это ниже :)

Балдеж?
Всего голосов:
Показать полностью 13 2 1
[моё] Опрос Покупка Гаджеты Android Тсд Программирование Портирование Wolfenstein NES Dendy Ретро Компьютерное железо Видео YouTube Длиннопост
39
61
monobogdan
monobogdan
Посты о ремонте и моддинге ретрогаджетов.
TECHNO BROTHER

Прикупил себе смартфончик⁠⁠

1 год назад

А вернее - ТСД Motorola Symbol MC65, который по совместистельству ещё и умеет звонить! После статьи о том, как я превратил переводчик на винде в мини-нетбук, мне очень захотелось портировать эмуляторы на что-то помощнее и я решил взять вот такого красавца - всего за 1200 рублей! Продавец еще и Pidion BIP-6000 подарил. Я большой фанат подобных промышленных девайсов!

Прикупил себе смартфончик
Как вам?
Всего голосов:
Показать полностью 1
[моё] Опрос Покупка Гаджеты Телефон Смартфон Тсд Windows Windows Mobile
23
11
Constantine174
Constantine174
Так себе работа

Нам тут новые ТСД завезли⁠⁠

1 год назад

Все бы ничего, но одно есть но. Какие картинки у вас на ТСД на работе?

Перейти к видео
[моё] Тсд Терминал Работа Профессия Трудовые отношения Карьера Видео Вертикальное видео
9
6
VedroidoV
VedroidoV

Тестовое приложение M3APP_V2 для терминала сбора данных на Андроиде⁠⁠

1 год назад

Добрый вечер всем. Или не вечер- у кого что...
Когда то я уже писал, что по утрам подрабатываю сборщиком заказов (грузчик, водитель и что попросят) и решил написать себе в помощь программу. Далеко не программист, совсем далеко, но первая версия появилась на свет в года полтора назад.

Написана программа на Visual Basic (Microsoft Visual Studio 2008), так как на руках был простенький сканер сбора данных (Motorolla, модель не помню, но попозже, как буду дома- выложу фото). Не было сенсорного экрана и навигация осуществлялась кнопками. Сурово и просто. Тогда эта программка неплохо помогла мне (даже на основной работе).
Чуть позже появлялись другие ТСД (на андроиде, фирмы Urovo), но что то мне в итоге не понравилось (да и цена за терминал этой фирмочки был не мал) или не получилось и я продал их, оставив один с неисправным тачем.
Так я начал переписывать код для Андроид терминалов (да и простого телефона, если к нему подключить беспроводной сканер или проводной- как угодно). Знаний тогда у меня было не многим больше, чем сейчас. Изучать всякие java и Kotlin не смог- глуповат и ленив, а потому выбор пал на блочное программирование, почти для детей, App Mit Inverot. Вот вроде просто- ставь блоки, пиши условия и значения, переменные и прочее... а в итоге не очень, ибо, повторюсь- знаний маловато очень, но что получилось то и получилось. А получилась первая версия программы M3APP (название было выбрано по имени терминал на windows mobile, да так и прижилось).

Много всего там было перепробовано- и голосовой ввод (для баловства), и добавление неизвестных товаров в базу (там и забросил это)... и код стал настолько громоздким и непонятным (хотя, казалось бы- блоки шлёп-шлёп, тужа сюда, плюс на минус, три на ум пошло и готово), и как то всё это работало, но реализация новых затей приносила лишь сумятицу и костыли в код. Было принято решение переписать с нуля, опираясь на первую версию приложения. И вот появилась вторая версия, сегодня. Много что не реализовано, например:
- ручной ввод штрихкода
- выбор товара из списка (если, например, нет веса или оторвалась этикетка)
- экспорт накладной (для импорта, например, в 1С)
- Работа с заказами ( чтобы в суматохе не перепутать товар и набирать его именно по списку)
- С камеры можно считать только ean-13 и qr code, но нельзя ean-128 (возможно есть другие утилиты, которые могут).
- и многое другое...
Но потихоньку иду к этому и решил поделиться с вами результатом своего труда, чтобы получить порцию критики и советов. Чтобы знать что нужно ещё добавить, что изменить, что убрать...
Готов к любой критике, равно как и к ушату...

1/4

Фото терминала на Android

И да- её можно скачать здесь, специально маленький сайтик сделал на серваке.
P.S.- зарегистрировался и отправил на модерацию приложение в RuStore. Так смогу получить больше отзывов и, возможно, улучшу приложение... но это пока только в планах.

Показать полностью 4
[моё] Программа Тсд Android Программирование Mit App Inventor Приложение Длиннопост
0
1
kirimayro

Urovo dt40 не считывает половину штрихкодов на магазине (решено)⁠⁠

2 года назад
Дело оказалось вот в этом чек боксе- если в нем не стоит галочка, то штрихкоды не считывались. Чтобы ее поставить - заходим в приложение сканер-жмем на шестеренку-прочие настройки-и листаем в самый низ.

Дело оказалось вот в этом чек боксе- если в нем не стоит галочка, то штрихкоды не считывались. Чтобы ее поставить - заходим в приложение сканер-жмем на шестеренку-прочие настройки-и листаем в самый низ.

Показать полностью 1
[моё] IT Тсд
0
VedroidoV
VedroidoV

Интересная история поиска⁠⁠

2 года назад

Покупал недавно терминал сбора данных, на Андроиде. Покупал бу, с доставкой по почте. Из комиссионного магазина. Так вот, интересен об был ещё тем, что, когда открыл Google Chrome для поиска какой то настойки, то открылась история поиска. Очень интересная история поиска.

Интересная история поиска
Показать полностью 1
[моё] Телефон Тсд Android Продавец Длиннопост
9
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии