Автор Тема: Эмуляторы консоли 3DO  (Прочитано 387064 раз)

0 Пользователей и 3 Гостей просматривают эту тему.

Оффлайн kupranga

  • Пользователь
  • Сообщений: 247
    • Просмотр профиля
Re: Эмулятор Panasonic 3do - Freedo
« Ответ #480 : 01 Апрель 2010, 16:01:27 »
Да я это в сердцах кинул, просто очень 3DO жду, а тут такое, но насчёт совместимости, ну ту уж не надо, не намного она увеличилась, всё таки извиняюсь и всё равно спасибо вам за труд. Но честно говоря, кажется именно 3ДО нужно писать с нуля.

Оффлайн Altmer

  • Пользователь
  • Сообщений: 276
    • Просмотр профиля
Re: Эмулятор Panasonic 3do - Freedo
« Ответ #481 : 01 Апрель 2010, 16:07:31 »
Неработает каких-то 3 игры из трехсот  :lol:

Раз надо пиши!  :)

Оффлайн Wind

  • Пользователь
  • Сообщений: 1834
  • Пол: Мужской
    • Просмотр профиля
Re: Эмулятор Panasonic 3do - Freedo
« Ответ #482 : 01 Апрель 2010, 16:11:54 »
Эх был бы в основе не тупой ARM6 да еще и с FPU модулем, можно было взглянуть в сторону 3до, но с таким процом лучше даже не дергатся :)

Оффлайн Altmer

  • Пользователь
  • Сообщений: 276
    • Просмотр профиля
Re: Эмулятор Panasonic 3do - Freedo
« Ответ #483 : 01 Апрель 2010, 16:14:12 »
В нем нет FPU ) И не такой уж он и тупой - писать на ассемблере под ARM одно удовольствие в сравнении с x86 ))) Хотя команды имеют довольно много особенностей исполнения и в этом плане - он пожалуй посложнее будет.
« Последнее редактирование: 01 Апрель 2010, 16:17:20 от Altmer »

Оффлайн Wind

  • Пользователь
  • Сообщений: 1834
  • Пол: Мужской
    • Просмотр профиля
Re: Эмулятор Panasonic 3do - Freedo
« Ответ #484 : 01 Апрель 2010, 16:28:49 »
А что там вместо фпу? вроде что=то было же для работы с плавающей запятой, а писать под это проц на ассемблере вообще нельзя ;), а вот х86 кстати очень просто. А это феня с плавающим флагом переноса просто убийственна. ARM единственный проц динарек которого воистину сложно написать. Столько учесть нужно что застрелится можно.

Оффлайн Altmer

  • Пользователь
  • Сообщений: 276
    • Просмотр профиля
Re: Эмулятор Panasonic 3do - Freedo
« Ответ #485 : 01 Апрель 2010, 16:31:28 »
К стати если проблема лишь в ARM - то в этом проекте - http://sourceforge.net/projects/fourdo/ - мое ядро - они правда там накосячили с блочными пересылками - сняли проверку на выход за пределы ОЗУ, но это легко поправить.

Оффлайн Wind

  • Пользователь
  • Сообщений: 1834
  • Пол: Мужской
    • Просмотр профиля
Re: Эмулятор Panasonic 3do - Freedo
« Ответ #486 : 01 Апрель 2010, 16:36:15 »
Да видел уж, этот проект, но у сам понимаешь у меня свой проект поинтересней есть ;)
Я бы еще подумал если бы это дело можно было встроить, но вот там софтом эмулить графику поди придется, а это не интересно

Оффлайн Altmer

  • Пользователь
  • Сообщений: 276
    • Просмотр профиля
Re: Эмулятор Panasonic 3do - Freedo
« Ответ #487 : 01 Апрель 2010, 16:36:23 »
Ну не знаю - я много писал на асме под ARMы, и ничего - имхо, гораздо удобнее x86-го, теже условия на исполнение, и регистров много - раздолье )))
Как говорится - на вкус и цвет...

Там как раз не софтом эмулить ее собирались, а путем эмуляции запросов к графической библиотеке.

Оффлайн Wind

  • Пользователь
  • Сообщений: 1834
  • Пол: Мужской
    • Просмотр профиля
Re: Эмулятор Panasonic 3do - Freedo
« Ответ #488 : 01 Апрель 2010, 16:40:47 »
HLE  эмуляция чтоль?, ну это совсем скучна, надо железку ручками пощупать же, не ф-ии библиотеки

Оффлайн Altmer

  • Пользователь
  • Сообщений: 276
    • Просмотр профиля
Re: Эмулятор Panasonic 3do - Freedo
« Ответ #489 : 01 Апрель 2010, 16:49:44 »
Там нельзя эмулить видеоподсистему отдельно, поскольку видеопамять может использоваться для чего угодно и процессор имеет к ней полный доступ. Поэтому не через библиотеку будет довольно проблематично, но тоже вполне возможно ) А самое простое - программно, что и сделано.

Оффлайн Wind

  • Пользователь
  • Сообщений: 1834
  • Пол: Мужской
    • Просмотр профиля
Re: Эмулятор Panasonic 3do - Freedo
« Ответ #490 : 01 Апрель 2010, 16:57:09 »
Хм, ну поверь в дриме, а особено в naomi2 где видепамяте 3 штуки аж, тоже прямой доступ к видео памяти и тоже часто используется как оперативка, но жить это не мешает  ;)

Оффлайн Altmer

  • Пользователь
  • Сообщений: 276
    • Просмотр профиля
Re: Эмулятор Panasonic 3do - Freedo
« Ответ #491 : 01 Апрель 2010, 17:05:09 »
Все зависит от конкретной архитектуры, в 3do с аппаратной отрисовкой есть сложности, которые впрочем я уже почти решил, остались нестыковки с ее пиксельным процессором, которые в полной мере на ПКшном железе без использования шейдеров реализовать не видится возможным, а шейдеры использовать не хочется ))
При этом все равно приходится перехватывать вызовы графической библиотеки, поэтому без элементов HLE, честно - не уверен что можно все корявости обойти - например в VDLP фрейм буфер не обязательно с его начального адреса загоняется, а при отрисовке полигонов клиппинг делается за счет манипулирования начальным адресом фреймбуфера - опять же не получить его истинное значение, а страничные операции вообще для чего угодно используются.
« Последнее редактирование: 01 Апрель 2010, 17:12:30 от Altmer »

Оффлайн Wind

  • Пользователь
  • Сообщений: 1834
  • Пол: Мужской
    • Просмотр профиля
Re: Эмулятор Panasonic 3do - Freedo
« Ответ #492 : 01 Апрель 2010, 17:17:20 »
Ну как-то страно, чтбы нельзя было получить все что нужно, очень страно скажу.
Ну а насчет шейдеров эт, зря, эмуль я так понял все равно требователен к ресурсам, так ради чего тогда мучится? Используй шейдры ибо они реално руляд, а вычислительные шейдеры последних видюх вообще круть нереальнейшая.

Оффлайн Altmer

  • Пользователь
  • Сообщений: 276
    • Просмотр профиля
Re: Эмулятор Panasonic 3do - Freedo
« Ответ #493 : 01 Апрель 2010, 17:25:50 »
Фрейм-буфер нельзя никак выцепить из железа со 100% гарантией, что это начальный адрес. Цитата из документации по железу:
The actual re-positioning of the screen is accomplished by changing the start address of the frame buffer in hardware. Вот такие вот пироги  :'(

Когда отрубаю программную отрисовку и оставляю пока еще очень глючную аппаратную - загрузка моего проца (2 ядра по 2.26 ГГц)  падает до 15%-30%.
Так что если всю графу перекинуть на видюху - третьего пня вполне хватит для комфортной игры.
« Последнее редактирование: 01 Апрель 2010, 17:50:18 от Altmer »

Оффлайн topos84

  • Emu-Land Team
  • Сообщений: 2762
  • Пол: Мужской
    • Просмотр профиля
Re: Эмулятор Panasonic 3do - Freedo
« Ответ #494 : 01 Апрель 2010, 17:29:11 »
Цитата: Altmer
Так что если всю графу перекинуть на видюху - третьего пня вполне хватит для комфортной игры.
А шейдеры все равно будут, если их добавить? При 3-м пне?

Оффлайн Altmer

  • Пользователь
  • Сообщений: 276
    • Просмотр профиля
Re: Эмулятор Panasonic 3do - Freedo
« Ответ #495 : 01 Апрель 2010, 18:36:44 »
у меня на ноуте интегреный интел - проэтому хочу без шейдеров  :)

Добавлено позже:
С фрейм буффером можно поступить тупо - но работать будет - для каждой игры прописать конкретно адрес в настройки  :lol: Впрочем HLE ничем не лучше - тоже не надо забывать про разные версии ОС.

Добавлено позже:
На одну игру совместимость повысил  :lol:
Болз теперь работают - честное октябреновское! (пионером не был)

Оффлайн kupranga

  • Пользователь
  • Сообщений: 247
    • Просмотр профиля
Re: Эмулятор Panasonic 3do - Freedo
« Ответ #496 : 02 Апрель 2010, 00:47:25 »
Ну вот это уже радует,,а в чём загвоздка с Phoenix 3, в чём её неэмулируемость???  Да просто охото уже эмулятор уровня той же PSX, вот и всё. У меня насчёт эмуляции частые вопросы возникают, допустим все так любят Neo Geo, а Hyper NG 64 почти не играбелен, только недавно начало, что то двигаться, но как то медленно. Не ну конечно легко так судить не умея ни хрена делать,,но если бы умел взялся бы точно :).

Оффлайн Altmer

  • Пользователь
  • Сообщений: 276
    • Просмотр профиля
Re: Эмулятор Panasonic 3do - Freedo
« Ответ #497 : 02 Апрель 2010, 02:16:01 »
Если тебе это поможет - в том что DMA не корректно работает - все лень поправить ) Хотя возможно есть косяки в реализации DSP  - тоже все никак не перепишу.
Ни не умею, а не хочу - лучше скажи  :) Думаешь я умею?  :lol: Я тоже не умею, но когда хочу разобраться - получается.

Оффлайн Wind

  • Пользователь
  • Сообщений: 1834
  • Пол: Мужской
    • Просмотр профиля
Re: Эмулятор Panasonic 3do - Freedo
« Ответ #498 : 02 Апрель 2010, 04:29:08 »
Если ты говоришь 3 игры не работает, то тут скорее дело в корявых таймерах, на них все системы особено древнии хорошо умирают.

Цитата
The actual re-positioning of the screen is accomplished by changing the start address of the frame buffer in hardware
Насчет этого, железо не может гадать где и что, оно это четко должно знать, значит просто неизвестен алгоритм как расчитывается начальный адрес.

Оффлайн Altmer

  • Пользователь
  • Сообщений: 276
    • Просмотр профиля
Re: Эмулятор Panasonic 3do - Freedo
« Ответ #499 : 02 Апрель 2010, 09:25:18 »
С таймерами порядок - проблема в DSP или/и особых DMA флагах связанных с порядком формирования прерываний. Поправочка - уже две игры )

Оно и не гадает - оно делает что ему скажут. Алгоритм для расчета начального адреса  o_0 звучит дико - он либо есть  - либо его нет. С случае данного железа - он есть, но редко соответствует (0,0) пикселу экрана - потому что им делается клиппинг, скажем задается адрес пикселя (10,10) и два ограничения по x и y - (300,220) - тем самым имеем рамку в 10 пикселей с каждой стороны, а для того что бы строки не ехали дается реальная длина строки 320 - ее и прибавляют к указателю. Когда-то в 90-лохматом году экономили каждый регистр - в данном случае съэкономили на регистрах для клиппинга с левого верхнего угла, я бы тоже так сделал, если бы ресурсы микросхемы поджимали.
А растеризатор (Video Display Line Processor) вообще может вести себя непредсказуемо - там каждую строку можно указать от фанаря, т.е. смешивать и перестраивать фрейм буферы как угодно ))
Там еще и не такие выкрутасы были, чего только один CornerEngine стоил - рисующий тексели в форме бабочек и галочек и в процессе распаковывающий текстуры сжатые RLE-подобным алгоритмом )))
У каждой консоли свои особенности.
« Последнее редактирование: 02 Апрель 2010, 11:04:22 от Altmer »

Оффлайн Wind

  • Пользователь
  • Сообщений: 1834
  • Пол: Мужской
    • Просмотр профиля
Re: Эмулятор Panasonic 3do - Freedo
« Ответ #500 : 02 Апрель 2010, 13:38:45 »
ну пожатыми текстурами никого не удивишь, а проблемы с фреймбуфером вообще перестал понимать, железо все равно должно знать точно где и что, иначе работать ничего не будет.

Оффлайн Altmer

  • Пользователь
  • Сообщений: 276
    • Просмотр профиля
Re: Эмулятор Panasonic 3do - Freedo
« Ответ #501 : 02 Апрель 2010, 14:45:51 »
Видимо ты не знаешь что такое RLE - оно не позволяет извлечь произвольный пиксел достаточно быстро, требуется распаковать целую строку, хотя в текущей версии я текстуры кеширую, а потом только рисую, уже через интерпаляцию квадрополигона треугольниками, что значительно быстрее даже при программной отрисовке.

Нет никакой проблемы с фреймбуфером ни у меня ни у железа - я просто объяснил почему из железа нельзя извлечь со 100% достоверностью базовый адрес фрейм буфера ))  А вот через перехват обращений к графической библиотеке можно, что собственно и сделано.
« Последнее редактирование: 02 Апрель 2010, 15:39:24 от Altmer »

Оффлайн Pikker

  • Пользователь
  • Сообщений: 56
  • Пол: Мужской
  • Громовержец
    • Просмотр профиля
Re: Эмулятор Panasonic 3do - Freedo
« Ответ #502 : 02 Апрель 2010, 15:00:35 »
Цитата: Altmer
у меня на ноуте интегреный интел - проэтому хочу без шейдеров  Улыбка
Я извиняюсь, а почему бы не сделать этот момент плагинным или переключаемым? Надо - рисуй программно, надо - шейдерами?
Я конечно из деревни и много недопонимаю, так что извините если чего-то не то ляпнул. :blush:

Оффлайн Altmer

  • Пользователь
  • Сообщений: 276
    • Просмотр профиля
Re: Эмулятор Panasonic 3do - Freedo
« Ответ #503 : 02 Апрель 2010, 15:03:44 »
А кто эти плагины писать-то будет?  :lol: Для джоя так и не написали, пока я сам не написал, а уж с видеоподсистемой разбираться  o_0 подавно никто не будет.
Я лучше сделаю что нибудь одно и без заморочек.

Оффлайн Wind

  • Пользователь
  • Сообщений: 1834
  • Пол: Мужской
    • Просмотр профиля
Re: Эмулятор Panasonic 3do - Freedo
« Ответ #504 : 02 Апрель 2010, 15:23:16 »
Видимо ты не знаешь что такое RLE
Я не знаю? смешно :))))))))))

Оффлайн Altmer

  • Пользователь
  • Сообщений: 276
    • Просмотр профиля
Re: Эмулятор Panasonic 3do - Freedo
« Ответ #505 : 02 Апрель 2010, 15:29:11 »
Ну, значит я не знаю на каких еще консолях такой подход использовался. Тут одно из двух )))
Если ты имел ввиду сжатия по типу S3TC и FXT1  - то это уже совсем другая песня  :)

Оффлайн Wind

  • Пользователь
  • Сообщений: 1834
  • Пол: Мужской
    • Просмотр профиля
Re: Эмулятор Panasonic 3do - Freedo
« Ответ #506 : 02 Апрель 2010, 15:44:52 »
Да ясно что RLE ниимеет ничего общего с обычными методами сжатия, но суть в том, что текстуры могут хранится куда сложнее чем банальное RLE. В дриме твидлы вместе с палитровыми, твидлы намного сложнее ЗЫ2. Доступ к одному пикселю смерти подобно получаться, но как говорится нужно ли оно нам? Правильно не нужно, можно один раз распаковать текстуру и пользоватся ей до конца её жизни. Плюс палитра хорошо ложится на шейдеры вдобавок, вообщем шейдеры наше все.

Оффлайн Altmer

  • Пользователь
  • Сообщений: 276
    • Просмотр профиля
Re: Эмулятор Panasonic 3do - Freedo
« Ответ #507 : 02 Апрель 2010, 15:57:20 »
Никто не оспаривает крутизну шейдеров ))
Но если честно - последнее время я меньше времени трачу на программный эмулятор - только косяки в нем постепенно добиваю - на отрисовку видюхой чувствую забью скоро совсем.
Гораздо интересней сделать консоль на FPGA и уж там можно реализовать все что душа пожелает, и при этом тормозить не будет )) Сейчас потихоньку видеоподсистему пишу на VHDL ))

Оффлайн kupranga

  • Пользователь
  • Сообщений: 247
    • Просмотр профиля
Re: Эмулятор Panasonic 3do - Freedo
« Ответ #508 : 02 Апрель 2010, 16:11:05 »
Кстати насчёт управления, вот до конца это реализовать в эмуляторе, даже не нужно никаких плагинов, что бы было всё легко и просто как в большинстве эмулируемых систем. Клавиша - действие. Да и ещё вопрос, а кто нибудь когда нибудь щупал, что такое М2. И есть ли дампы игр, просто когда то про всё это интересовался.

Оффлайн Altmer

  • Пользователь
  • Сообщений: 276
    • Просмотр профиля
Re: Эмулятор Panasonic 3do - Freedo
« Ответ #509 : 02 Апрель 2010, 16:33:53 »
Если честно насчет управления, то мне удобно так как есть и нет никакого желания что-либо менять.

Для М2 есть дампы игр с автомата Konami  -  он железо M2 использовал, биосы тоже есть. Еще что-то есть, но ничего интересного. D2 и Power Crystal к сожалению не вышли, поэтому эмулировать ее ради пары посредственных игр врядли будут. У меня где-то для нее SDK валялся.