Форум Эму-Россия
http://forum.emu-russia.net/

64 квадратных миллиметров счастья
http://forum.emu-russia.net/viewtopic.php?f=13&t=4106
Страница 14 из 16

Автор:  Akari [ 05 ноя 2014, 11:58 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

Немного информации по прогрессу: схема преобразующая YUV в RGB практически разобрана.
Найдены коэффициенты использующиеся для преобразования:
Код:
G=(-88/256 * B)+(-181/256 * R)
R=(359/256 * R)
B=(454/256 * B)


Вот схема где формируются эти константы.


Сейчас идет разбор и трассировка схемы упакивки декодированных данных в 32битный буффер из которого потом данные будут передаватся в DMA. Вся схема тесно завязана на контроль и связана с контролем IDCT поскольку данные поступают потоково для ускорения декодирования.

Вот картинка того какая часть процессора сейчас разобрана.



Вложения:
04_YUV_scheme_value.jpg
04_YUV_scheme_value.jpg [ 115.29 КБ | Просмотров: 18191 ]
layout_2014-10-26.jpg
layout_2014-10-26.jpg [ 960.5 КБ | Просмотров: 18199 ]

Автор:  Akari [ 04 янв 2015, 02:22 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

После небольшого перерыва закончил алгоритм упаковки результирующих битов yuv to rgb преобразования в 32 бита выходного буфера. Алгоритм работает на основании у битов depth output, которые устанавливаются в управляющем регистре.

Изображение

Вложения:
yuv_pack.jpg
yuv_pack.jpg [ 201.77 КБ | Просмотров: 17906 ]

Автор:  Akari [ 08 янв 2015, 01:55 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

Разрбрал как происходит считывание и запись данных регистров: записи 1F801820h и чтения 1F801824h

1F801820h это регистр куда пишутся команды для MDEC. Команд всего 8, но используется только 3.
1 - Decode Macroblock
2 - Set Quant Table
3 - Set Scale Table

Описание у Мартина верное:
Код:
MDEC(1) - Decode Macroblock(s)

  31-29 Command (1=decode_macroblock)
  28-27 Data Output Depth  (0=4bit, 1=8bit, 2=24bit, 3=15bit)      ;STAT.26-25
  26    Data Output Signed (0=Unsigned, 1=Signed)                  ;STAT.24
  25    Data Output Bit15  (0=Clear, 1=Set) (for 15bit depth only) ;STAT.23
  24-16 Not used (should be zero)
  15-0  Number of Parameter Words (size of compressed data)

This command is followed by one or more Macroblock parameters (usually, all macroblocks for the whole image are sent at once).

MDEC(2) - Set Quant Table(s)

  31-29 Command (2=set_iqtab)
  28-1  Not used (should be zero)  ;Bit25-28 are copied to STAT.23-26 though
  0     Color   (0=Luminance only, 1=Luminance and Color)

The command word is followed by 64 unsigned parameter bytes for the Luminance Quant Table (used for Y1..Y4), and if Command.Bit0 was set, by another 64 unsigned parameter bytes for the Color Quant Table (used for Cb and Cr).

MDEC(3) - Set Scale Table

  31-29 Command (3=set_scale)
  28-0  Not used (should be zero)  ;Bit25-28 are copied to STAT.23-26 though


Единственное могу добавить ньюанс что в случае команд 2 и 3 значение Number of Parameter Words (биты 0-15) принудительно выставляются в значение 64. В случае всех остальных команд. включая неиспользуемые значение выставляется с битов 0-15.
выставляемый младшим битом команды 2 Color работает только в случае команды 2, во всех остальных случаях он включен.

Также фраза "should be zero" необязательна. Значение может быть любым. Оно будет попросту проигнорировано.

Текущий прогресс ячеек по чипу изобрашен на картинке. Светлозеленый - новые ячейки.


Вложения:
layout1.jpg
layout1.jpg [ 924.76 КБ | Просмотров: 17851 ]

Автор:  Akari [ 03 май 2015, 20:40 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

Продолжил работу. Вот последний прогресс )

Вложения:
layout_2015-01-30_1.jpg
layout_2015-01-30_1.jpg [ 622.45 КБ | Просмотров: 17113 ]

Автор:  Гость [ 03 май 2015, 21:50 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

заранее извиняюсь, возможно уже много кратно эти вопросы уже задавались :blush:
эта работа делается для создания точного эмулятора PS1?
на какой стадии находится разработка эмулятора?

Автор:  ElkTheSenior [ 05 май 2015, 00:08 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

Гость писал(а):
Эта работа делается для создания точного эмулятора PS1 ?

Вам не хватает существующих LLE ? ...

P.S: Относитесь к этому действу, как скажем, к "ром хакингу", чтоб можно было легче вникнуть в суть их "работы", которая работой не является... Просто наслаждайтесь и гордитесь их успехами, не задавая лишних вопросов.

Автор:  Гость [ 05 май 2015, 12:58 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

вы про смысл забыли

Автор:  HardWareMan [ 05 май 2015, 15:12 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

Смысл в отсутствии смысла, ибо это для души.

Автор:  Гость [ 05 май 2015, 17:14 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

но хотя бы цель должна быть
как у вас тут всё сложно :unk:

Автор:  allegas [ 06 май 2015, 15:53 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

Цель : получение тактово - точного эмулятора. Грубо говоря эмулятора, где время исполнения каждой инстркции такое же, как и на реальном железе, включая все баги и неточности.
Кстати говоря, на psxdev упал вики. Все как и с другими проектами org'a? Начать и забросить

Автор:  Гость [ 06 май 2015, 16:19 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

а что, уже забросили, или уже эмулятор на стадии разработки?

Автор:  1801BM1 [ 09 май 2015, 19:16 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

Судя по прогрессу тут еще работы года на три :(
Надеюсь у парней хватит терпения до конца дойти.

Автор:  org [ 13 май 2015, 16:58 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

Эмулятор никто не планировал делать, мой интерес тут вычленить GTE, а походу получить библиотеку ячеек.

А прогресс есть, http://psxdev.ru/news/83

Все мои проекты - это моя жизнь. Закончится жизнь, закончатся и проекты ;)

Как и в жизни - увлекает не конечная цель, а сам процесс.

PS. Вики воскресил, правда до конца не удаётся. После обновления PCRE на хостинге MediaWiki отдала концы.
http://wiki.psxdev.ru/index.php/Main_Page
Цели там есть)

Автор:  HardWareMan [ 13 май 2015, 22:45 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

Эээээххххх.......
Изображение

Автор:  org [ 25 май 2015, 17:37 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

Для скачивания доступна обновленная утилита Patterns.

Теперь рендеринг производится с помощью OpenGL.

http://psxdev.ru/files/patterns_002.zip

В архив включена документация на английском и русском, а также демонстрационный проект (sample).

-- 25 май 2015, 17:18 --

Небольшие изменения в нумерации стандартных ячеек.

http://psxdev.ru/news/86

-- 25 май 2015, 19:13 --

Нашли ценный документ, где показан старый вариант процессора :

Изображение

Из него можно сделать вывод, что слева-внизу - точно GTE.

http://www.hotchips.org/wp-content/uplo ... taragi.pdf

(Спасибо Андрюхе за наводку)

Автор:  org [ 08 июн 2015, 01:50 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

http://psxdev.ru/news/88

Автор:  EvGS [ 30 авг 2015, 11:59 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

Долгожданные микросхемы денди. PPU:
Цитата:
Привет,
Немало времени прошло, но руки начали постепенно доходить.
Смотри/показывай тому, кто будет реверсить – если все отлично, травлю металлизацию
и делаю второй снимок поликремния (а то пути назад-то не будет).

http://s.zeptobars.ru/UMC-UA6538-HD.jpg

Автор:  org [ 30 авг 2015, 21:12 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

Как по мне - клон один в один, даже расположение блоков такое же как в оригинале)

Автор:  EvGS [ 30 авг 2015, 21:47 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

Однако тайминги vblank здесь уникальные. Хоть и клон, но "прохаченный".
И да, есть мнение что за основу был взят PAL RP2C07, т.к. и там, и тут emphasis bits красного и зеленого перепутаны, в отличие от NTSC RP2C02

-- 30 авг 2015, 21:48 --

Однако тайминги vblank здесь уникальные. Хоть и клон, но "прохаченный".
И да, есть мнение что за основу был взят PAL RP2C07, т.к. и там, и тут emphasis bits красного и зеленого перепутаны, в отличие от NTSC RP2C02

Автор:  org [ 13 сен 2015, 22:20 ]
Заголовок сообщения:  Re: 64 квадратных миллиметров счастья

Немного улучшил юзабельность и стабильность утилиты patterns.

- Added Nocach PSX Specs
- LSI LR33300 docs (CPU Core)
- patterns: All resources are placed in different directory
- patterns: Fixed scrolling bug
- patterns: Additional info after loading JPEG/WRK
- patterns: Mirror cells support
- patterns: Texture cache (GL)
- patterns: Remove button now is twice as big
- patterns: Black background over cell names (GL)
- patterns: Updated manuals
- patterns: Added pcount / ncount values to existing database
- patterns: Database loading from WRK is deprecated
- patterns: Removed unused cell images from the db
- patterns: Fixed TEXCACHE bugs :0)
- patterns: Summary transistor count shown in statusbar
- patterns: Texcache and pattern removal issue fixed (not all patterns has
texture buffer, some of them are just using TextureId from the cache).
- patterns: Warnings cleanup

Самое кардинальное нововведение - это поддержка "зеркальных" ячеек. Мы окончательно установили, что фиттер (утилита, которая укладывает ячейки) в некоторых случаях зеркально отражает ячейку, если это удобнее для роутера (утилита, которая разводит провода между ячейками). Так что не смотря на 1994-й год у фирмы LSI уже в то время был достаточно интеллектуальный софт для создания дизайна микросхем.

Также произведена предварительная идентификация всех ячеек и подсчёт их транзисторов:
Cells - 37600
Transistors - 418k

Более подробная информация (общая картинка всех ячеек, статистика по типам ячеек и пр.) чуть позднее :D

Таким образом ячейки занимают приблизительно половину всех транзисторов процессора (всего их порядка 850k). Статистика по "юнитам" (внутренним буферам SRAM и регистрам) ещё не готова, т.к. не все юниты до конца разобраны. Ещё какая-то часть транзисторов (совсем небольшая) находится в падах (соединительных площадках).

Страница 14 из 16 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/