Автор Тема: Точный FPGA клон Sega Megadrive уже близок!  (Прочитано 21672 раз)

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

Оффлайн HardWareMan

  • Ушел с форума
  • Сообщений: 7468
    • Просмотр профиля
Точный FPGA клон Sega Megadrive уже близок!
« Ответ #30 : 25 Августа 2023, 17:46:33 »
Ящик бомбовский!
Цветной 14" и стол под него ещё не освободил.

Оффлайн Умный

  • Пользователь
  • Сообщений: 439
  • Пол: Мужской
    • Просмотр профиля
Точный FPGA клон Sega Megadrive уже близок!
« Ответ #31 : 25 Августа 2023, 17:50:40 »
Цветной 14" и стол под него ещё не освободил.
Крутой "Сапфир" с геометрией все хорошо, круто!

Оффлайн HardWareMan

  • Ушел с форума
  • Сообщений: 7468
    • Просмотр профиля
Точный FPGA клон Sega Megadrive уже близок!
« Ответ #32 : 25 Августа 2023, 17:51:07 »
Крутой тел, видно что с геометрией все ок! На таком играть круто даже, но не пойму что  за фирма/модель
Сапфир-23ТБ-307/Д

Оффлайн HardWareMan

  • Ушел с форума
  • Сообщений: 7468
    • Просмотр профиля
Точный FPGA клон Sega Megadrive уже близок!
« Ответ #33 : 25 Августа 2023, 18:03:05 »
Борда подключена по композиту?
Да. Но хватит уже об телике. Хочешь подробностей - стучись в личку.

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3204
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Re: Точный FPGA клон Sega Megadrive уже близок!
« Ответ #34 : 25 Августа 2023, 21:28:43 »
Хорошо. Покурю код, сделаю, чтобы графика обновлялась.
Так то я просто бит 128к режима включаю и все, а надо и графен весь прогрузить. :)

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3204
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Точный FPGA клон Sega Megadrive уже близок!
« Ответ #35 : 26 Августа 2023, 22:40:57 »
Добавил пункт меню.
Включает режим 128кб, ждет vsync, обновляет шрифт и содержимое экрана.

Оффлайн NukeYKT

  • Пользователь
  • Сообщений: 15
    • Просмотр профиля
Точный FPGA клон Sega Megadrive уже близок!
« Ответ #36 : 26 Августа 2023, 22:57:52 »
266689-0

Оффлайн HardWareMan

  • Ушел с форума
  • Сообщений: 7468
    • Просмотр профиля
Точный FPGA клон Sega Megadrive уже близок!
« Ответ #37 : 27 Августа 2023, 07:54:13 »
Тот же результат:

И при возврате остаются артефакты:

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

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3204
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Точный FPGA клон Sega Megadrive уже близок!
« Ответ #38 : 27 Августа 2023, 16:23:38 »
Добавил очистку всего экрана.
Я так полагаю, что новые 64кб нужны чисто под таблицы.
В игрулях с режимом 128кб попросту ничего не изменилось:
-проблем с приоритетами слоев нет
-проблем с палитрами нет
-проблем с врашением спрайтов нет
Если так, значит структура тайла в таблице не поменялась, а это значит врятли тайлы из новой памяти можно отображать.
Разве что найдется какой-то незадействованный регистр, где можно указать место с таблицей с доп. битом для тайлов в таблице и в спрайтах, в чем я очень силньо сомневаюсь.

Оффлайн HardWareMan

  • Ушел с форума
  • Сообщений: 7468
    • Просмотр профиля
Точный FPGA клон Sega Megadrive уже близок!
« Ответ #39 : 27 Августа 2023, 17:19:49 »
Segaman, твои выводы неверны. При включении 128К просто второй банк интерливится с первым, делая шину доступа к данным 16 бит. Это ускоряет практически в 2 раза некоторые DMA операции. На остальное это никак не влияет, игры которым достаточно 64К будут использовать 64К, не трогая верхнюю половину. Но скорость обмена при этом повысится. Вот несколько замеров:



Некоторые игры активно используют DMA, они работают заметно плавнее при принудительном включении 128К режима.

PS Что-то ты всё равно делаешь не так:

Правда, починил возврат в 64К:

Напомню, что 128К хак соника работает идеально. Так же Ньюк сделал на FPGA корке принудительную активацию 128К режима и Zero Tolerance так же работал без артефактов.

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3204
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Точный FPGA клон Sega Megadrive уже близок!
« Ответ #40 : 27 Августа 2023, 17:46:28 »
Та мне бы самому такую железку.
Сам я хрен соберу ибо у меня лапки.
Так шо я бы купил  :)
Надо ж норм тестить. Я на 128к молюсь уже пару лет, но из-за лапок ничего поделать не мог

Оффлайн HardWareMan

  • Ушел с форума
  • Сообщений: 7468
    • Просмотр профиля
Точный FPGA клон Sega Megadrive уже близок!
« Ответ #41 : 27 Августа 2023, 18:08:17 »
Segaman, ну TmEE, например, тестит вот так:

Оффлайн HardWareMan

  • Ушел с форума
  • Сообщений: 7468
    • Просмотр профиля
Точный FPGA клон Sega Megadrive уже близок!
« Ответ #42 : 27 Августа 2023, 18:51:51 »
Ну вот, согласно этой доке адрес A16 в режиме 128К можно задать любой базе. Ну и глупо было бы добавлять 64К и не давать её использовать.

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3286
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Точный FPGA клон Sega Megadrive уже близок!
« Ответ #43 : 28 Августа 2023, 07:56:30 »
Но скорость обмена при этом повысится. Вот несколько замеров:
В этом тесте vramx2 это как раз для 128 Kb режима. Интересно почему они не поставили 2 x 32 Kb, если передумали ставить вторую на 64 Kb?

Оффлайн HardWareMan

  • Ушел с форума
  • Сообщений: 7468
    • Просмотр профиля
Точный FPGA клон Sega Megadrive уже близок!
« Ответ #44 : 28 Августа 2023, 10:40:31 »
В этом тесте vramx2 это как раз для 128 Kb режима. Интересно почему они не поставили 2 x 32 Kb, если передумали ставить вторую на 64 Kb?
Потому-что нет такой матрицы. Матрица памяти всегда равна степени двойки, ибо она квадратная.

Оффлайн murgatroid_79

  • Пользователь
  • Сообщений: 457
  • Пол: Мужской
    • Просмотр профиля
Точный FPGA клон Sega Megadrive уже близок!
« Ответ #45 : 28 Августа 2023, 15:46:00 »
...А ещё тут установлено 128КБ VRAM, максимальный размер, с которым может работать VDP. При этом выбор между стандартными 64КБ и расширенными 128КБ задаётся через регистр управления самого VDP, тут никакой внешней логики даже не надо.....
   А как тогда задать этот режим существующим  играм ?  :neznayu:
Это ROM игры,тогда,нужно патчить ?

 

Оффлайн HardWareMan

  • Ушел с форума
  • Сообщений: 7468
    • Просмотр профиля
Точный FPGA клон Sega Megadrive уже близок!
« Ответ #46 : 28 Августа 2023, 16:54:36 »
   А как тогда задать этот режим существующим  играм ?  :neznayu:
Это ROM игры,тогда,нужно патчить ?
Да. Отлавливать команду записи в регистр управления и патчить число чтобы флаг был установлен.

Оффлайн murgatroid_79

  • Пользователь
  • Сообщений: 457
  • Пол: Мужской
    • Просмотр профиля
Точный FPGA клон Sega Megadrive уже близок!
« Ответ #47 : 29 Августа 2023, 05:07:14 »
Да. Отлавливать команду записи в регистр управления и патчить число чтобы флаг был установлен.
  А реально ли это сделать аппаратно? Дешифрировать адрес $C00004 порта управления VDP ,а также условие записи в этот порт и "подменить" бит7 на лог.1  :-\
Ну примерно как в Mega Key...

   

Оффлайн HardWareMan

  • Ушел с форума
  • Сообщений: 7468
    • Просмотр профиля
Точный FPGA клон Sega Megadrive уже близок!
« Ответ #48 : 29 Августа 2023, 07:17:28 »
  А реально ли это сделать аппаратно? Дешифрировать адрес $C00004 порта управления VDP ,а также условие записи в этот порт и "подменить" бит7 на лог.1  :-\
Ну примерно как в Mega Key...
Реально, но не так, как мегакей. Тут сложнее.

Оффлайн murgatroid_79

  • Пользователь
  • Сообщений: 457
  • Пол: Мужской
    • Просмотр профиля
Точный FPGA клон Sega Megadrive уже близок!
« Ответ #49 : 30 Августа 2023, 03:17:00 »
Реально, но не так, как мегакей. Тут сложнее.
  Ну если можно обойтись горстью мелкологики,я бы хотел попробовать...
 Платы клонов на серии ТА есть для опытов.
Видеопамять тоже есть.
 Дайте мне пинок в нужном направлении  :)

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3204
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Точный FPGA клон Sega Megadrive уже близок!
« Ответ #50 : 30 Августа 2023, 14:01:08 »
  Ну если можно обойтись горстью мелкологики,я бы хотел попробовать...
 Платы клонов на серии ТА есть для опытов.
Видеопамять тоже есть.
 Дайте мне пинок в нужном направлении  :)
Такс. Судя по доке https://segaretro.org/Sega_Mega_Drive/VDP_registers
Тебе надо отлавилвать запись 0x81xx и делать ему логичекое или (OR) с числом 0x80
Говоря языком пограммиста:
if ((value & 0xFF00) == 0x8100)
  return value | 0x0080;
else
  return value;

Добавлено позже:
Но я бы предпочел написать скрипт на lua для генса, который отловит все записи регистра 0x81 и записал точки этой записи в файл.
Прошел бы игру с этим скриптом.
А далее прошелся по всем полученным местам в роме и добавил логичекое OR с 0х80.
Как правило даже при большой оптимизации таких точек в роме будет максимум штук 20-30.

Оффлайн murgatroid_79

  • Пользователь
  • Сообщений: 457
  • Пол: Мужской
    • Просмотр профиля
Точный FPGA клон Sega Megadrive уже близок!
« Ответ #51 : 31 Августа 2023, 17:59:43 »
Такс. Судя по доке https://segaretro.org/Sega_Mega_Drive/VDP_registers
Тебе надо отлавилвать запись 0x81xx и делать ему логичекое или (OR) с числом 0x80
Говоря языком пограммиста:
if ((value & 0xFF00) == 0x8100)
  return value | 0x0080;
else
  return value;
...
  0_0
Segaman, к сожалению,для меня это китайская грамота .
Всё-таки хочется хардварного решения....и,по возможности ,универсального для всех игр и хоумбрюшек...
   


Оффлайн Segaman

  • Пользователь
  • Сообщений: 3204
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Точный FPGA клон Sega Megadrive уже близок!
« Ответ #52 : 31 Августа 2023, 21:13:40 »
  0_0
Segaman, к сожалению,для меня это китайская грамота .
Всё-таки хочется хардварного решения....и,по возможности ,универсального для всех игр и хоумбрюшек...
   


думается мне хардверное решение обойдется сильно дороже.
надо отрезать процессор от шины и ставить посрединка между ним и видео-чипом.
надо парсить то, что получает процессор и что пытается писать и куда.
потом сравнивать с нужным значением и заменять в случае совпадения.
если ты хочешь потратить несколько месяцев на то, что можно сделать за пару-тройку часов на софтверном уровне, то рекомендую сильно задуматься.
алсоу нефакт что ты такими манипуляциями не прибъёшь консоль.
короче тут только ромхакер порешает  :)

Оффлайн onimush

  • Пользователь
  • Сообщений: 480
    • Просмотр профиля
Точный FPGA клон Sega Megadrive уже близок!
« Ответ #53 : 01 Сентября 2023, 01:27:08 »
На основе крупных фото декапа можно прямо написать код для fpga?  o_0

Оффлайн HardWareMan

  • Ушел с форума
  • Сообщений: 7468
    • Просмотр профиля
Точный FPGA клон Sega Megadrive уже близок!
« Ответ #54 : 01 Сентября 2023, 05:19:52 »
На основе крупных фото декапа можно прямо написать код для fpga?  o_0
Именно для этого оно и делается. Что не так? К слову, код уже по сути написан, нужно только сделать ещё пару итераций независимых разрабов чтобы убедиться, что он правильный.

Оффлайн onimush

  • Пользователь
  • Сообщений: 480
    • Просмотр профиля
Точный FPGA клон Sega Megadrive уже близок!
« Ответ #55 : 05 Сентября 2023, 13:38:54 »
А на чипы ранних пс1 разрешающей способности оборудования у тех людей что этот декап делают хватит?

Оффлайн HayaoYokogawa

  • Пользователь
  • Сообщений: 2423
  • Пол: Мужской
  • большой и толстый розовый динозавр
    • Просмотр профиля
Точный FPGA клон Sega Megadrive уже близок!
« Ответ #56 : 05 Сентября 2023, 13:48:50 »
А на чипы ранних пс1 разрешающей способности оборудования у тех людей что этот декап делают хватит?
Так вроде реализации потихоньку уже пилят. По крайней мере ядро для MiSTer уже есть.
Хочу хотеть то, чего сегодня не хочу, кроме того, что захочу хотеть завтра. (c) topos84

Оффлайн onimush

  • Пользователь
  • Сообщений: 480
    • Просмотр профиля
Точный FPGA клон Sega Megadrive уже близок!
« Ответ #57 : 05 Сентября 2023, 13:55:09 »
Так вроде реализации потихоньку уже пилят. По крайней мере ядро для MiSTer уже есть.

Так и мегадрайвовское ядро есть но тем не менее мы в этой теме.

Оффлайн HayaoYokogawa

  • Пользователь
  • Сообщений: 2423
  • Пол: Мужской
  • большой и толстый розовый динозавр
    • Просмотр профиля
Точный FPGA клон Sega Megadrive уже близок!
« Ответ #58 : 05 Сентября 2023, 15:46:56 »
Так и мегадрайвовское ядро есть но тем не менее мы в этой теме.
Так я к тому и клоню, вообще-то. Раз ядро есть, значит знание предмета изнутри уже присутствует.

Правда, я не совсем в курсе, возможно ли писать прошивку FPGA по принципу черного ящика или отталкиваясь от софтверной интерпретации, но, как мне кажется, даже если и возможно, то это сильно дольше и геморройнее  :)
Хочу хотеть то, чего сегодня не хочу, кроме того, что захочу хотеть завтра. (c) topos84

Оффлайн Nhisti

  • Пользователь
  • Сообщений: 1082
    • Просмотр профиля
Точный FPGA клон Sega Megadrive уже близок!
« Ответ #59 : 06 Сентября 2023, 12:59:07 »
Так я к тому и клоню, вообще-то. Раз ядро есть, значит знание предмета изнутри уже присутствует.

Правда, я не совсем в курсе, возможно ли писать прошивку FPGA по принципу черного ящика или отталкиваясь от софтверной интерпретации, но, как мне кажется, даже если и возможно, то это сильно дольше и геморройнее  :)
HardWareMan же это уже объяснял, причём именно в ответ тебе  :-\
PS  Analogue Mega Sg основана не на декапе. На данный момент существует несколько проектов MD на FPGA, даже есть корки для MiSTER. Но они не основаны на декапе а лишь повторяют пересказ некоторых достаточно точных эмуляторов.
Насколько я понял, есть примерное понимание основных принципов и логики работы проца, и на основании этого строились эмуляторы и другие ФПГА, а "декап" даёт именно точное знание этих принципов и логики, безо всяких гипотез и догадок.(заранее извиняюсь у спецов-технарей за наверняка кривую интерпретацию).
Поэтому onumush и спрашивает возможен ли "декап" ПС1.