Easyelectronics.ru

Электроника для всех
Текущее время: 22 окт 2019, 12:10

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 180 ]  На страницу Пред.  1, 2, 3, 4, 5, 6 ... 8  След.
Автор Сообщение
 Заголовок сообщения: Re: Игровая консоль на C6745 DSP
СообщениеДобавлено: 28 апр 2019, 16:31 
Старожил
Аватара пользователя

Зарегистрирован: 12 июн 2018, 15:04
Сообщения: 457
Oxford писал(а):
Невыровненный доступ медленее, чем выровненный. Плюс некоторые регионы памяти могут не поддерживать такой доступ. Рекомендуется всегда использоваться выровненный доступ.

Выбирать не приходится, так как разработчики эмуляторов заложили возможность выбирать, что делать если доступ не выровнен:
- считывать побайтно, с кривого адреса, а потом сдвигами восстанавливать слово
- считывать по невыровненному адресу (но тут если архитектура позволяет)

И очевидно, что доступ по невыровненному адресу будет быстрее, чем отдельно считывать по 4 байта :)))

А почему может возникнуть невыровненный доступ, предлагаю, Oxford, подумать самостоятельно ))
В мире эмуляции не всё так просто, как кажется.......

Oxford писал(а):
Cortex-M4 поддерживает невыровненный доступ для следующих инструкций:
• LDR, LDRT
• LDRH, LDRHT
• LDRSH, LDRSHT
• STR, STRT
• STRH, STRHT
Другие инструкции будут генерировать fault exception.
Поэтому прежде чем брызгать слюной на кортексы почитай мануалы.


А чего Cortex-M4 ? :) Давай уж стразу тогда M7. Ведь с ним идёт сравнение.
Всёравно, Cortex, давай до свидания :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Игровая консоль на C6745 DSP
СообщениеДобавлено: 28 апр 2019, 16:32 
Старожил
Аватара пользователя

Зарегистрирован: 12 июн 2018, 15:04
Сообщения: 457
Портировал эмулятор аркадного автомата NEO GEO, как обещал. =)
Идёт просто превосходно! )))

Видео: https://www.youtube.com/watch?v=mdpIz6Zkh78


Вложения:
1.jpg
1.jpg [ 140.11 Кб | Просмотров: 1224 ]
0.jpg
0.jpg [ 92.5 Кб | Просмотров: 1224 ]


Последний раз редактировалось RepStosw 28 апр 2019, 16:35, всего редактировалось 1 раз.
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Игровая консоль на C6745 DSP
СообщениеДобавлено: 28 апр 2019, 16:33 
Старожил
Аватара пользователя

Зарегистрирован: 12 июн 2018, 15:04
Сообщения: 457
Железо МегаДрайва и НеоГео настолько схожи, что можно сказать, что NEO-GEO - это улучшенная SEGA Genesis :)

В SEGA Genesis:
процессоры : M68K + Z80
звук: YM2612 + PSG
видео: VDP от TMS

В NEO-GEO:
процессоры: M68K +Z80
звук: YM2610 + AY8910 (2610 превосходит по качеству 2612)
видео: более навороченный VDP от TMS

При портировании эмулятора учтены особенности C6745:

- unaligned word access для парсинга РОМ-сетов
- отрисовка встроенным со-процессором PRUSS, работающем на частоте в2 раза ниже C6745-го
- деление заменено умножением (для вещественных чисел)
- конвеер кода (параллельное исполнение нескольких ассемблерных инструкций)

Следующий эмулятор на выдачу - Capcom Play System 1,2


Вложения:
3.jpg
3.jpg [ 127.81 Кб | Просмотров: 1224 ]
2.jpg
2.jpg [ 103.34 Кб | Просмотров: 1224 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Игровая консоль на C6745 DSP
СообщениеДобавлено: 29 апр 2019, 12:13 
Старожил

Зарегистрирован: 27 апр 2013, 13:53
Сообщения: 1025
А, Game Boy Advance будет?

Вот даже какой то активный сайт с форумом gbadev.org

Подраздел сайта с эиуляторами GBA

P.S. У меня для симуляторов под Андроид есть Func Titan-01 :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Игровая консоль на C6745 DSP
СообщениеДобавлено: 29 апр 2019, 12:29 
Старожил
Аватара пользователя

Зарегистрирован: 18 май 2013, 20:43
Сообщения: 4341
Откуда: Кемеровская область, Киселевск
А я такую буду покупать

_________________
RADIOWOLF.RU


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Игровая консоль на C6745 DSP
СообщениеДобавлено: 29 апр 2019, 14:35 
Старожил
Аватара пользователя

Зарегистрирован: 12 июн 2018, 15:04
Сообщения: 457
Oxford писал(а):
А я такую буду [url=гудок заткнули]покупать[/url]

Сомневаюсь.
Просто ты опять перешёл в режим мудака и постишь говно сюда.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Игровая консоль на C6745 DSP
СообщениеДобавлено: 29 апр 2019, 14:35 
Старожил
Аватара пользователя

Зарегистрирован: 12 июн 2018, 15:04
Сообщения: 457
KPG писал(а):
А, Game Boy Advance будет?

Не знаю.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Игровая консоль на C6745 DSP
СообщениеДобавлено: 29 апр 2019, 18:53 
Старожил
Аватара пользователя

Зарегистрирован: 12 июн 2018, 15:04
Сообщения: 457
Ради спортивного интереса переписал на ассемблере код отрисовки для PRUSS.
И задействовал unaligned word access для эмулятора SEGA MEGA DRIVE.

Быстродействие увеличилось ещё больше (синхронизация кадров убрана, чтобы оценить максимальную производительность):

https://www.youtube.com/watch?v=c7B8XvB4c7c

Теперь бесспорно - блекфин BF532 и STM32H7 сосут ))) у них нет шансов :-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Игровая консоль на C6745 DSP
СообщениеДобавлено: 03 май 2019, 15:09 
Старожил
Аватара пользователя

Зарегистрирован: 12 июн 2018, 15:04
Сообщения: 457
Перенес эмулятор Capcom Play System 1 и 2.

За основу брал caname. Задолбался его вычищать.
Учитывая большую любовь MAME к точности эмуляции и универсальный системный подход, большой скорости ждать не пришлось.
caname - огрызок от MAME заточенный на CPS1,2.

И ещё, 32 МБ мало - там только куча требует 16 МБ чтобы создать среду эмулятора. Оптимально - 64 МБ как было в TF. Лучше 128.

Эмулятор ворочает на C6745 на 35..40 FPS, вместо целевых 60.
Но это лучше, чем ничего.
Можно конечно пропуск кадров сделать - но это не моё. Лучше честно видеть все кадры на медленной скорости, чем половину вообще не видеть ))

Размер экрана в CPS1,2 384x224 пикселей (логически до 512x256 - скролл).

Игры специфические.

Видео-профит: https://www.youtube.com/watch?v=D_TOI35BflI


Последний раз редактировалось RepStosw 03 май 2019, 15:16, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Игровая консоль на C6745 DSP
СообщениеДобавлено: 03 май 2019, 15:09 
Старожил
Аватара пользователя

Зарегистрирован: 12 июн 2018, 15:04
Сообщения: 457
Игра для детей: https://www.youtube.com/watch?v=LBIxXzb1SN4

ПОКО-Нянь )))

Как тестовый РОМ очень даже ничего - на нём отлаживался)))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Игровая консоль на C6745 DSP
СообщениеДобавлено: 03 май 2019, 15:13 
Старожил
Аватара пользователя

Зарегистрирован: 12 июн 2018, 15:04
Сообщения: 457
Можно попробовать GBA ещё перенести, но интуиция мне подсказывает, что будет тотальный сосач.
На блекфине еле шло (10-15 FPS).

Зато вот АРМикам повезло - эмулировать ARM7TDMI ядро GBA им практически не надо, так как инструкции почти(?) совместимы. )))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Игровая консоль на C6745 DSP
СообщениеДобавлено: 05 май 2019, 14:58 
Старожил

Зарегистрирован: 10 апр 2013, 17:41
Сообщения: 331
Можете выложить свой проект? Можно нецелый, интересно просто посмотреть на устройство боевого проекта для DSP.

_________________
Стиль: "G&P"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Игровая консоль на C6745 DSP
СообщениеДобавлено: 05 май 2019, 19:09 
Старожил
Аватара пользователя

Зарегистрирован: 12 июн 2018, 15:04
Сообщения: 457
Цитата:
Можете выложить свой проект? Можно нецелый, интересно просто посмотреть на устройство боевого проекта для DSP.


RepStosw писал(а):
Докторская диссертация по C6745 здесь: https://vrtp.ru/index.php?showtopic=30775&st=0
Схемы, исходники....


Последний раз редактировалось RepStosw 11 май 2019, 13:20, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Игровая консоль на C6745 DSP
СообщениеДобавлено: 11 май 2019, 13:19 
Старожил
Аватара пользователя

Зарегистрирован: 12 июн 2018, 15:04
Сообщения: 457
Перенёс эмулятор GameBoy Advance.

Оптимизировал насколько смог:

1) таблицы переходов для ARM и Thumb вместо огроменных switch-case'ов на 4096 значений
2) переделал рендерер
3) отрисовка с помощью PRUSS построчно

С 15 FPS поднял до 25 - 30 FPS. Но этого мало. Надо 60 FPS.
Звук отключен, так как он лагает - проигрывается дважды.
В GBA неудачная архитектура звуковой системы - задержки зависят от CPU и таймеров. Поэтому на распев тянуть ноты не вышло.

Есть идея растянуть темп звука, сохранив тон. Но задача эта нетривиальная. Все звуковые стретчеры, которые я пробовал - дают либо эхо, либо дрожание.

Можно конечно разогнать DSP, но это будет нечестно. Да и толку не даст - нужен разгон в 2 раза как минимум.

Либо поискать другой эмулятор GBA. Но это не самоцель. Играть можно.

На смещение кадра вниз (перекрут) -не обращать внимания, я забыл добавить синхронизацию по отрисовке строки.

Видео:

1) https://www.youtube.com/watch?v=lymA8NMXQ5I

2) https://www.youtube.com/watch?v=sE0QRKIF_bo


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Игровая консоль на C6745 DSP
СообщениеДобавлено: 11 май 2019, 15:47 
Старожил

Зарегистрирован: 27 апр 2013, 13:53
Сообщения: 1025
RepStosw писал(а):
Перенёс эмулятор GameBoy Advance.

Какой эмулятор брался за основу?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Игровая консоль на C6745 DSP
СообщениеДобавлено: 11 май 2019, 16:24 
Старожил
Аватара пользователя

Зарегистрирован: 12 июн 2018, 15:04
Сообщения: 457
KPG писал(а):
RepStosw писал(а):
Перенёс эмулятор GameBoy Advance.

Какой эмулятор брался за основу?


Цитата:
// VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
// Copyright (C) 1999-2003 Forgotten
// Copyright (C) 2004 Forgotten and the VBA development team
// Version 1.7.2.


Не самый быстрый. Быстрые, увы, на ассемблере x86 или ARM и не портабельны.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Игровая консоль на C6745 DSP
СообщениеДобавлено: 11 май 2019, 17:35 
Старожил

Зарегистрирован: 27 апр 2013, 13:53
Сообщения: 1025
RepStosw писал(а):
Быстрые, увы, на ассемблере x86 или ARM и не портабельны.

Кстати, да на Pocket PC (WM) есть эмуляторы хорошо работающие на частоте железа от 200 МГц. (может это оно)
и даже в рамках GBA есть проекты эмулирования GB, GBC :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Игровая консоль на C6745 DSP
СообщениеДобавлено: 11 май 2019, 18:04 
Старожил
Аватара пользователя

Зарегистрирован: 12 июн 2018, 15:04
Сообщения: 457
KPG писал(а):
Кстати, да на Pocket PC (WM) есть эмуляторы хорошо работающие на частоте железа от 200 МГц. (может это оно)
и даже в рамках GBA есть проекты эмулирования GB, GBC :)


Тот эмулятор, что я привёл, на моём стареньком AMD Duron 800 МГц тоже работал с лагами (был хриплый звук). VBA - не лучший эмулятор, где нужна предельная скорость.

И ещё не надо путать разные GameBoy :) Их три: GameBoy, GameBoy Color и GameBoy Advance.
Первые два отлично у меня идут на Emu-Pocket (на STM32H7).
А вот последний радикально отличается от первых двух - хотя бы тем же 32-битным процессором 16 МГц с ядром ARM7 :)

Нужно менять принцип эмуляции: использовать динамическую рекомпиляцию или воссоздавать GBA на ПЛИС.
Эмуляторы с динамической рекомпиляцией - редкость, никто не даёт исходники )))

Но это уже отдельная тема. Я не расчитывал получить на эмуляторе GBA большую скорость. На BlackFin было и того меньше: 10-15 FPS


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Игровая консоль на C6745 DSP
СообщениеДобавлено: 11 май 2019, 18:39 
Старожил
Аватара пользователя

Зарегистрирован: 12 июн 2018, 15:04
Сообщения: 457
Кстати, сам GBA довольно неплох как платформа для написания своих игр. ))) Вот один из ресурсов на русском языке:

http://hype.retroscene.org/blog/872.html

Догадываюсь, что кубатурить можно под Keil ARM MDK или под GCC ARM EABI. Стартапы с хедерами - писать ручками или надыбать с интернета.

Игра про яичко с клювом на GBA ))) Довольно интересно:

https://www.youtube.com/watch?v=ueSXbI2al0M&t=500

Мне такие игры нравятся)))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Игровая консоль на C6745 DSP
СообщениеДобавлено: 12 май 2019, 16:27 
Старожил

Зарегистрирован: 27 апр 2013, 13:53
Сообщения: 1025
Тоже почти "домашняя игровая консоль" (шутка) на STM32F407VG6 и TFT ILI9488.
Хабр статья: Соскучились по КПК?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Игровая консоль на C6745 DSP
СообщениеДобавлено: 12 май 2019, 16:49 
Старожил
Аватара пользователя

Зарегистрирован: 12 июн 2018, 15:04
Сообщения: 457
Добавил всё-же звук к эмулятору GBA. Использовал алгоритм растяжки темпа с сохранением тона. Задача нетривиальная и требует академического кубатуренья. Хорошо, что уже давно всё проработано. ))

За основу взял эту программу (с открытыми исходниками): http://www.surina.net/soundtouch

Она позволяет много чего делать со звуком: изменять темп с сохранением тона, подымать тон с сохранением темпа, ресемплинг, вычисления BPM. Куча фильтров-интерполяторов: Шеннона, Кубический, Линейный. Антиалиасинговый фильтр.

Темп звука в эмуляторе растягивается в 2...3 раза (30 - 20 FPS), при этом тональность остаётся той же.

Видео: https://www.youtube.com/watch?v=ulLPALpHOGk


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Игровая консоль на C6745 DSP
СообщениеДобавлено: 12 май 2019, 16:58 
Старожил
Аватара пользователя

Зарегистрирован: 12 июн 2018, 15:04
Сообщения: 457
KPG писал(а):
Тоже почти "домашняя игровая консоль" (шутка) на STM32F407VG6 и TFT ILI9488.
Хабр статья: Соскучились по КПК?


Хорошая статья! Особенно корпус порадовал. Автору туда бы Open Tyrian портировать )))

Про "Тириан" тут - https://www.dosgamesarchive.com/download/tyrian/

Следующий шаг - запилить Open Tyrian под игровую консоль BlackPrism ))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Игровая консоль на C6745 DSP
СообщениеДобавлено: 18 май 2019, 08:59 
Старожил
Аватара пользователя

Зарегистрирован: 12 июн 2018, 15:04
Сообщения: 457
Портировал Open Tyrian ))

Это - классический 2D Space Shooter. Одна из немногих хороших игр для DOS.

Есть версия для ПК под Win: https://www.majorgeeks.com/files/detail ... yrian.html

OpenTyrian на макете игровой консоли BlackPrism (TMS320C6745 DSP). Особо каких-либо проблем, связанных с производительностью - не было. Так как всё-же это нативное приложение, а не эмуляция:

https://www.youtube.com/watch?v=1VbsENAWiOE


Экран - классический видеорежим "13h": 320x200 256 цветов (палитровый)

Звук - 46 кгц, 16 бит, 8 каналов

Музыка - эмулятор OPL3 FM YM3812 (Adlib), lds-плеер.


Поддерживается основной функционал игры и часть дополнительного:

- плеинг
- сохранение игры (уровни, оружия)
- просмотр видеороликов (между уровнями)
- jukebox для проигрываниямузыки отдельно

сетевая игра и клавиатура - выпилены по понятным причинам )))

Игра требует работу с файлами (FatFs)


Вложения:
3.jpg
3.jpg [ 76.41 Кб | Просмотров: 725 ]
2.jpg
2.jpg [ 84.96 Кб | Просмотров: 725 ]
1.jpg
1.jpg [ 81.67 Кб | Просмотров: 725 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Игровая консоль на C6745 DSP
СообщениеДобавлено: 18 май 2019, 13:42 
Старожил
Аватара пользователя

Зарегистрирован: 12 июн 2018, 15:04
Сообщения: 457
OpenTyrian под ведроид - https://www.youtube.com/watch?v=G-D8KKg0tpo

Как говорится, сосач очевиден: идёт медленно и выпилена музыка.

Ещё одним примером больше - как всякие вёдра, ардуины-пердуины снижают производительность железа )))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Игровая консоль на C6745 DSP
СообщениеДобавлено: 18 май 2019, 13:53 
Старожил

Зарегистрирован: 27 апр 2013, 13:53
Сообщения: 1025
RepStosw писал(а):
Ещё одним примером больше - как всякие вёдра, ардуины-пердуины снижают производительность железа )))

А, под KolibriOS не было мысли подобные игры портировать?
Вроде ничего не должно тормозить, но до какого старого ПК железа?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 180 ]  На страницу Пред.  1, 2, 3, 4, 5, 6 ... 8  След.

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB